Added sql
This commit is contained in:
43
jokes-bot-v3.0/jokes_v2.py
Normal file
43
jokes-bot-v3.0/jokes_v2.py
Normal file
@@ -0,0 +1,43 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user