Answer the question
In order to leave comments, you need to log in
Faced such a problem that the bot does not respond to the but1_2 function?
Good day, I ran into such a problem that the bot does not respond to the but1_2 function? I write a bot for the first time and I don’t know a lot of things, so don’t judge strictly)
.......
def func_but(message):
bot.send_message(message.chat.id, 'Кол-во голов команды ' + kom1 + ' в прошлой игре?')
bot.register_next_step_handler(message, but1_1)
def but1_1(message):
global i
global ch
i = int(message.text)
ch = ch + i
a.insert(0, i)
markup = types.InlineKeyboardMarkup()
key_yes = types.InlineKeyboardButton(text='Да', callback_data='yes')
markup.add(key_yes)
key_no = types.InlineKeyboardButton(text='Нет', callback_data='no')
markup.add(key_no)
bot.send_message(message.chat.id, 'Хочешь ввести результат ещё одной игры?', reply_markup=markup)
@bot.callback_query_handler(func=lambda call: True)
def but1_2(call):
if call.data == 'yes':
bot.register_next_step_handler(call.message, func_but) #отсюда бот не возвращается на func_but
elif call.data == 'no':
bot.register_next_step_handler(call.message, result_1) #и отсюда бот не идёт на след. функцию result1
def result_1(message):
# вычисления
# вывод вычеслений
bot.polling()
Answer the question
In order to leave comments, you need to log in
There is little to understand from the code, because there is no syntax highlighting or indentation. I can assume that you did not add a decorator
What is there to think?
First we declare a function
def func():
#тело функции
func()
def but1_1(message):
global i
global ch
i = int(message.text)
ch = ch + i
a.insert(0, i)
markup = types.InlineKeyboardMarkup()
key_yes = types.InlineKeyboardButton(text='Да', callback_data='yes')
markup.add(key_yes)
key_no = types.InlineKeyboardButton(text='Нет', callback_data='no')
markup.add(key_no)
bot.send_message(message.chat.id, 'Хочешь ввести результат ещё одной игры?', reply_markup=markup)
def func_but(message):
bot.send_message(message.chat.id, 'Кол-во голов команды ' + kom1 + ' в прошлой игре?')
bot.register_next_step_handler(message, but1_1)
@bot.callback_query_handler(func=lambda call: True)
def but1_2(call):
if call.data == 'yes':
bot.register_next_step_handler(call.message, func_but) #отсюда бот не возвращается на func_but
elif call.data == 'no':
bot.register_next_step_handler(call.message, result_1) #и отсюда бот не идёт на след. функцию result1
def result_1(message):
# вычисления
# вывод вычеслений
bot.polling()
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question