Files
ai6-m3/jokes-bot-v3.0/debug_app.py
2026-01-23 12:21:26 +03:00

76 lines
2.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Debug version with logging
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes
from database import JokeDatabase
import os
import logging
# Enable detailed logging
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.DEBUG # Changed to DEBUG
)
logger = logging.getLogger(__name__)
BOT_TOKEN = "7864875699:AAEWf6ff1DYNzPvW6Dbn7D2W5aavg9KPhgY"
db = JokeDatabase()
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
logger.info(f"📱 /start from user: {update.effective_user.username}")
await update.message.reply_text("🤖 Hi! I'm your Joke Bot!\nCommands: /joke, /addjoke")
async def get_random_joke(update: Update, context: ContextTypes.DEFAULT_TYPE):
logger.info(f"🎲 /joke from user: {update.effective_user.username}")
joke = db.get_random_joke()
if not joke:
await update.message.reply_text("No jokes yet! Use /addjoke to add one.")
return
await update.message.reply_text(joke['joke_text'])
async def add_new_joke(update: Update, context: ContextTypes.DEFAULT_TYPE):
logger.info(f" /addjoke from user: {update.effective_user.username}")
logger.info(f" Args: {context.args}")
if not context.args:
await update.message.reply_text("Usage: /addjoke [your joke]")
return
joke_text = " ".join(context.args)
user = update.effective_user
logger.info(f" User ID: {user.id}, Username: {user.username}")
logger.info(f" Joke text (first 50 chars): {joke_text[:50]}...")
# Add to database
joke_id = db.add_joke(joke_text, user.id, user.username or user.first_name)
logger.info(f" Database returned joke_id: {joke_id}")
await update.message.reply_text("✅ Joke added to database!")
def main():
print("🔍 DEBUG MODE - Starting bot with detailed logs...")
print(f"📊 Database: {os.path.abspath('jokes.db')}")
app = ApplicationBuilder()\
.token(BOT_TOKEN)\
.read_timeout(30)\
.write_timeout(30)\
.connect_timeout(30)\
.pool_timeout(30)\
.build()
app.add_handler(CommandHandler("start", start))
app.add_handler(CommandHandler("joke", get_random_joke))
app.add_handler(CommandHandler("addjoke", add_new_joke))
print("✅ Debug bot is running! Check logs below...")
print("📱 Test in Telegram with /addjoke test joke")
print("🛑 Press Ctrl+C to stop")
app.run_polling()
if __name__ == "__main__":
main()