Как перейти с одной функции на другую не через bot.register_next_step_handler?
Делаю игру для телеграм бота. Но после того как бот отправляет правила он ожидает от меня сообщения, чтобы затем перейти на функцию step. Вопрос: можно ли сделать так, чтобы после отправки правил игры выполнилась функция step, но без требования отправки сообщения (чего требует bot.register_next_step_handler). Т.е. чтобы осуществился переход с одной функции на другую без причины.
@bot.message_handler(func=lambda message: message.text == "готов")
def preparing(message):
bot.send_message(message.chat.id, 'Отлично! Игра начинается.')
bot.send_message(message.chat.id, 'Правила батла.')
bot.register_next_step_handler(message, step)
def step(message):
bot.send_message(message.chat.id, 'Варианты ходов 1/2/3')
choice = message.text
if choice == '1':
bot.send_message(message.chat.id, 'Вы сделали действие 1')
elif choice == '2':
bot.send_message(message.chat.id, 'Вы сделали действие 2')
elif choice == '3':
bot.send_message(message.chat.id, 'Вы сделали действие 3')
else:
bot.send_message(message.chat.id, 'Выберите действие 1/2/3')
bot.register_next_step_handler(message, step)
Ответы (1 шт):
Автор решения: Muxe1
→ Ссылка
Просто вызови функцию step(message)
@bot.message_handler(func=lambda message: message.text == "готов")
def preparing(message):
bot.send_message(message.chat.id, 'Отлично! Игра начинается.')
bot.send_message(message.chat.id, 'Правила батла.')
step(message)