Forums

Telegram Bot

Where is the error? Local runs the bot. API token will of course be added to the version

import logging
import asyncio
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, MessageHandler, ContextTypes, filters

# Konfiguration des Loggings
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
                    level=logging.INFO)

# Beispielhandler für den /start-Befehl
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await update.message.reply_text("Hallo! Der Bot ist jetzt aktiv.")

# Handler für Poll-Nachrichten
async def handle_poll(update: Update, context: ContextTypes.DEFAULT_TYPE):
    poll = update.poll
    # Finde die Option mit der höchsten Stundenanzahl
    max_option = max(poll.options, key=lambda option: int(option.text.split()[0]))
    # Stimme für die Option mit der höchsten Stundenanzahl
    await context.bot.stop_poll(chat_id=update.effective_chat.id, message_id=update.effective_message.message_id)
    await context.bot.send_poll(chat_id=update.effective_chat.id, question=poll.question, options=[opt.text for opt in poll.options], is_anonymous=False)

# Hauptfunktion zum Starten des Bots
async def main():
    # Setze hier deinen echten API-Token ein
    app = ApplicationBuilder().token('DEIN-API-TOKEN').build()

    # Füge den CommandHandler für den /start-Befehl hinzu
    app.add_handler(CommandHandler('start', start))
    # Füge den MessageHandler für Poll-Nachrichten hinzu
    app.add_handler(MessageHandler(filters.POLL, handle_poll))

    # Starte das Polling
    await app.run_polling()

# Hauptprogrammstart
if __name__ == '__main__':
    # Starte die bestehende Ereignisschleife
    try:
        asyncio.run(main())
    except SystemExit:
        logging.info("Bot wurde beendet.")

How do you run it on PythonAnywhere?