Spaces:
Build error
Build error
| """Build and run the Telegram bot.""" | |
| from telegram.ext import ( | |
| ApplicationBuilder, | |
| CommandHandler, | |
| MessageHandler, | |
| filters | |
| ) | |
| import config | |
| from bot.handlers import ( | |
| cmd_start, | |
| cmd_mode, | |
| cmd_instant, | |
| cmd_thinking, | |
| cmd_autonomous, | |
| handle_message | |
| ) | |
| def build_app(): | |
| app = ApplicationBuilder().token(config.TELEGRAM_TOKEN).build() | |
| app.add_handler(CommandHandler("start", cmd_start)) | |
| app.add_handler(CommandHandler("mode", cmd_mode)) | |
| app.add_handler(CommandHandler("instant", cmd_instant)) | |
| app.add_handler(CommandHandler("thinking", cmd_thinking)) | |
| app.add_handler(CommandHandler("autonomous", cmd_autonomous)) | |
| app.add_handler( | |
| MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message) | |
| ) | |
| return app | |
| async def start_bot(): | |
| """Start polling. Blocks until stopped.""" | |
| app = build_app() | |
| await app.initialize() | |
| await app.start() | |
| await app.updater.start_polling(drop_pending_updates=True) | |
| # Keep running | |
| import asyncio | |
| await asyncio.Event().wait() | |