SavvyTelegram / telegram_bot.py
StarpowerTechnology's picture
Upload 13 files
a6e3889 verified
"""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()