import os import logging from database.models import testModel from telebot.types import InlineKeyboardMarkup, InlineKeyboardButton logger = logging.getLogger(__name__) _bot = None def get_bot(): global _bot if _bot is None: import telebot BOT_TOKEN = os.environ.get("BOT_TOKEN") _bot = telebot.TeleBot(BOT_TOKEN, threaded=False) @_bot.message_handler(commands=["start"]) def start(message): _bot.reply_to(message, "Welcome! Use /getdata to fetch from database.") @_bot.message_handler(commands=["getdata"]) def get_data(message): try: data = testModel.getAllUsers() if data: _bot.reply_to(message, f"Data: {data}") response = ""; for i in range(3): response += "\n"; response += f""" 📚 {data[i][0]} نویسنده: {data[i][1]} موجودی: {data[i][3]}/{data[i][8]} کد: {data[i][1]} """ _bot.reply_to(message, response, parse_mode='HTML') else: _bot.reply_to(message, "No data found or database error.") except Exception as e: logger.error(f"Error in getdata handler: {e}") _bot.reply_to(message, "Sorry, an error occurred.") @_bot.message_handler(func=lambda message: True) def echo_all(message): _bot.reply_to(message, f"You said: {message.text}") return _bot