Повторный вызов функции через next_step_handler. Telebot
Только начал изучение ботостроительства и возник такой вопрос:
@bot.message_handler(commands = ['start'])
def start_reg(message):
mrk = types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
bottom_yes = types.KeyboardButton('Да, хочу!')
bottom_no = types.KeyboardButton('Нет, спасибо')
mrk.add(bottom_yes, bottom_no)
msg = bot.send_message(message.chat.id , "Хочешь стать чатсью него Сообщества?" , reply_markup=mrk)
bot.register_next_step_handler(msg , answer)
def answer(message):
if message.text == 'Да, хочу!':
bot.send_message(message.chat.id, "Тогда заполните ГУГЛ ФОРМУ(Ссылка на гугл форму)."
"В ближайшее время наши модераторы напишут Вам! До скорого!")
elif message.text == 'Нет, спасибо':
msg = bot.send_message(message.chat.id, 'А теперь открой диалоговое окно справа и выбери нормально!')
bot.register_next_step_handler(msg, try_two)
def try_two():
pass
bot.polling(none_stop=True)
Подскажите пожалуйста, как сделать так, чтоб после "Нет ,спасибо" , человек открыл клавиатуру справа выбрав "Да" перешёл дальше. Или чтоб bot.register_next_step_handler(msg, try_two)перекидывала на функцию , где будет только одна кнопка "Да".
Вообще буду очень благодарен любым советам и комментариям, как лучше это сделать, так как только только начинаю практиковаться. Спасибо
Ответы (1 шт):
Автор решения: oleksandrigo
→ Ссылка
Пробуй
@bot.message_handler(commands=['start'])
def start_reg(message: types.Message):
markup = types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
markup.add('Да, хочу!', 'Нет, спасибо')
bot.send_message(message.chat.id, "Хочешь стать чатсью него Сообщества?", reply_markup=markup)
bot.register_next_step_handler(message, answer)
def answer(message: types.Message):
if message.text == 'Да, хочу!':
bot.send_message(message.chat.id, "Тогда заполните ГУГЛ ФОРМУ(Ссылка на гугл форму)."
"В ближайшее время наши модераторы напишут Вам! До скорого!")
elif message.text == 'Нет, спасибо':
bot.send_message(message.chat.id, 'А теперь открой диалоговое окно справа и выбери нормально!')
bot.register_next_step_handler(message, answer)
if __name__ == '__main__':
bot.infinity_polling(skip_pending=True)