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()