journal-bot/bot/main.py
2023-05-24 13:59:32 +00:00

42 lines
1.2 KiB
Python

import os
from telegram.ext import Application
import logging
import models
from commands import journal, status, turtle, memory
from commands.list import list
from cronjob import chat_photo, random_memory
logging.basicConfig(
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
level=logging.INFO
)
logging.getLogger("httpx").setLevel(logging.WARNING)
logger = logging.getLogger(__name__)
def main() -> None:
"""Run the bot."""
token = os.getenv("BOT_TOKEN")
db_path = os.getenv("DB_PATH")
models.set_db(db_path)
application = Application.builder().token(token).build()
application.add_handler(journal.JournalHandler("journal", models).handler)
application.add_handler(list.ListHandler("list", models).handler)
application.add_handler(status.StatusHandler("status", models).handler)
application.add_handler(turtle.TurtleHandler().handler)
application.add_handler(memory.MemoryHandler("memory", models).handler)
random_memory.RandomMemoryJob(models, application.bot, application.job_queue)
chat_photo.SetChatPhotoJob(models, application.bot, application.job_queue)
# Run the bot until the user presses Ctrl-C
application.run_polling()
if __name__ == "__main__":
main()