-from matrix_chore_bot.bot import get_bot, chore_bot
+import os
+
+import simplematrixbotlib as botlib
+
+from matrix_chore_bot.bot import chore_bot
+
+SERVER = os.environ.get('MATRIX_SERVER')
+BOT_NAME = os.environ.get('MATRIX_BOT')
+BOT_PWD = os.environ.get('MATRIX_BOT_PWD')
+BOT_PREFIX = os.environ.get('MATRIX_BOT_PREFIX', '!chore')
+
+def get_bot():
+ creds = botlib.Creds(SERVER, BOT_NAME, BOT_PWD)
+ return botlib.Bot(creds)
bot = get_bot()
@bot.listener.on_message_event
async def do_bot_stuff(room, message):
- await chore_bot(room, message, bot)
+ await chore_bot(room, message, bot, BOT_PREFIX)
bot.run()
CHORES = ChoreData()
-def get_bot():
- creds = botlib.Creds(SERVER, BOT_NAME, BOT_PWD)
- return botlib.Bot(creds)
-
logger = logging.getLogger(__name__)
logging.basicConfig(filename='matrix-chore-bot.log', encoding='utf-8', level=logging.DEBUG)
logging.getLogger('nio').setLevel(logging.WARNING)
-async def chore_bot(room, message, bot):
- match = botlib.MessageMatch(room, message, bot, '!chore')
+async def chore_bot(room, message, bot, prefix='!chore'):
+ match = botlib.MessageMatch(room, message, bot, prefix)
if not match.is_not_from_this_bot() and match.prefix():
return
await bot.api.send_text_message(
room.room_id, str(line))
except Exception as ex:
- line = 'Ye flask must be load bearing, or something...'
+ line = f'Ye flask must be load bearing, or something... {str(ex)}'
await bot.api.send_text_message(
room.room_id, str(line))
def today():
return dt.now().strftime(DATE_FORMAT)
+DEFAULT_DB_FILE = os.path.join(os.environ.get('MATRIX_DATA_DIR', ''), 'chores.db')
+DB_FILE = os.environ.get('MATRIX_CHORE_DB_FILE', DEFAULT_DB_FILE)
logger = logging.getLogger(__name__)
logging.basicConfig(filename='chore.log', encoding='utf-8', level=logging.DEBUG)
def __init__(self, db_file=None):
if not db_file:
- db_file = os.path.join(os.environ.get('MATRIX_DATA_DIR', ''), 'chores.db')
+ db_file = DB_FILE
self.file = db_file
self.engine = self.get_engine()