#!/usr/bin/env python3 import asyncio import os import sys # Run from the telegram-bot directory so local imports work os.chdir("/home/shoko/repositories/jigaido/apps/telegram-bot") sys.path.insert(0, "/home/shoko/repositories/jigaido") # Import main from the local bot module import bot as bot_module if __name__ == "__main__": if not bot_module.BOT_TOKEN: bot_module.log.error("JIGAIDO_BOT_TOKEN environment variable not set.") sys.exit(1) app = bot_module.build_app() app.post_init = bot_module.post_init bot_module.log.info("JIGAIDO starting...") # PTB v20+ app.run_polling() is async - use asyncio.get_event_loop() + run_until_complete loop = asyncio.new_event_loop() asyncio.set_event_loop(loop) try: loop.run_until_complete(app.run_polling(drop_pending_updates=True)) finally: loop.close()