Добрый день ! Я новичёк в Python прошу помощи, написал заготовку телеграмм-бота который посылает вопросы и считывает значения с клавиатуры. Не получается считать значение переменной вне функции обработчика. В самом обработчике переменная меняется а если вывести её значение за пределы, то ничего, помогите решить проблему ?!
import telebot;
from telebot import types
import time
bot = telebot.TeleBot('TOKEN');
number=0
numb=0
def key (message):
keyboard = types.InlineKeyboardMarkup(); # наша клавиатура
key_yes = types.InlineKeyboardButton(text='Да', callback_data='yes'); # кнопка «Да»
keyboard.add(key_yes); # добавляем кнопку в клавиатуру
key_no = types.InlineKeyboardButton(text='Нет', callback_data='no');
keyboard.add(key_no);
bot.send_message(message.from_user.id, text=“Нажми кнопку”, reply_markup=keyboard)
@bot.callback_query_handler(func=lambda call: True)
def callback_worker(call):
global number
global numb
if call.data == “yes”: #call.data это callback_data, которую мы указали при объявлении кнопки
#код сохранения данных, или их обработки
bot.send_message(call.message.chat.id, ‘Ок, следующий вопрос : )’);
number+=1
elif call.data == “no”:
bot.send_message(call.message.chat.id, ‘Ок, следующий вопрос : )’);
numb+=1
@bot.message_handler(content_types
def get_text_messages(message):
global number
global numb
if message.text == “/start”:
bot.send_message(message.from_user.id, “Ну что начнём ?”)
time.sleep(2)
bot.send_message(message.from_user.id, “Первый вопрос, читаешь книги про спорт ?”)
time.sleep(2)
key(message)
if number == 1 or numb ==1:
bot.send_message(message.from_user.id, “Второй вопрос, ты занимаешься спортом ?”)
key(message)
number=0; numb=0
bot.polling(none_stop=True, interval=0)
В функции def get_text_messages(message) переменная number и numb уже не видна ???