Есть следующий код:
import random as r
import sqlite3 as sql
import telebot
import config
from telebot import types
bot = telebot.TeleBot(config.token)
con = sql.connect("questions.db", check_same_thread=False)
cur = con.cursor()
@bot.message_handler(commands=["start"])
def start_message(message):
bot.send_message(message.chat.id, ("Привет, я бот помощник по тестам!"))
@bot.message_handler(commands=["ask"])
def ask_question(message):
number = r.randint(20, 35)
cur.execute(f"SELECT question FROM all_questions WHERE number = {number}")
question = cur.fetchone()[0]
markup = types.InlineKeyboardMarkup()
markup.add(types.InlineKeyboardButton("Узнать правильный ответ", callback_data="answer"))
bot.send_message(message.chat.id, question, reply_markup=markup)
@bot.callback_query_handler(func=lambda call: True) #вешаем обработчик событий на нажатие всех inline-кнопок
def callback_inline(call):
if call.data == "answer":
bot.send_message()
if __name__ == '__main__':
bot.infinity_polling()
Как передать переменную "question" из функции "ask_question" в функцию "callback_inline"? В этой переменной есть вопрос и ответ. Нужно вывести ответ на тот же вопрос из базы данных.