from telegram import Update from telegram.ext import Application, CommandHandler, MessageHandler, filters import sqlite3 TOKEN = "7864875699:AAEWf6ff1DYNzPvW6Dbn7D2W5aavg9KPhgY" waiting = {} # Track who's adding jokes async def start(update, context): await update.message.reply_text("🤣 Joke Bot!\n/joke - get joke\n/addjoke - add joke") async def joke(update, context): conn = sqlite3.connect('jokes.db') conn.execute('CREATE TABLE IF NOT EXISTS jokes (text TEXT, user TEXT, name TEXT)') joke = conn.execute("SELECT text FROM jokes ORDER BY RANDOM() LIMIT 1").fetchone() conn.close() await update.message.reply_text(joke[0] if joke else "No jokes! /addjoke to add one") async def addjoke(update, context): waiting[update.effective_user.id] = True await update.message.reply_text("📝 Type your joke:") async def handle_text(update, context): user_id = update.effective_user.id if user_id in waiting: conn = sqlite3.connect('jokes.db') conn.execute('CREATE TABLE IF NOT EXISTS jokes (text TEXT, user TEXT, name TEXT)') conn.execute("INSERT INTO jokes VALUES (?, ?, ?)", (update.message.text, user_id, update.effective_user.first_name)) conn.commit() conn.close() del waiting[user_id] await update.message.reply_text("✅ Saved!") else: await update.message.reply_text("Try /start") app = Application.builder().token(TOKEN).build() app.add_handler(CommandHandler("start", start)) app.add_handler(CommandHandler("joke", joke)) app.add_handler(CommandHandler("addjoke", addjoke)) app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_text)) print("Bot running!") app.run_polling()