bot / app.py
AstraOS's picture
Update app.py
09f5005 verified
raw
history blame
1.36 kB
import os
from telegram import Update
from telegram.ext import Application, CommandHandler, ContextTypes
import logging
import threading
import asyncio
# Enable logging
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
logger = logging.getLogger(__name__)
# Load bot token from environment variable
BOT_TOKEN = "6655373829:AAGduLdLyNx7zUtxH73Sp3Z1vHKS35tV9WU"
if not BOT_TOKEN:
raise ValueError("Bot token is not set in environment variables")
# Create the bot application
application = Application.builder().token(BOT_TOKEN).build()
# Define the /start command handler
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
"""Sends a welcome message when the user starts the bot."""
await update.message.reply_text("Hello! This bot is running on Hugging Face Spaces πŸš€")
# Add command handlers
application.add_handler(CommandHandler("start", start))
# Function to run the polling
def start_polling():
# Create a new event loop for this thread
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop.run_until_complete(application.run_polling())
# Start a new thread to run polling
thread = threading.Thread(target=start_polling)
thread.start()
# Display information in terminal/log
print("Bot is actively running and polling Telegram.")