Задать вопрос
odilbukh
@odilbukh
Новичок но настойчивый

Bot.register_next_step_handler не работает автоматом. Почему?

Выходить календар в инлайн режиме. Юзер выбирает дату, выходить уведомления что дата выбрана. Но после этого не запускается следующие код. bot.register_next_step_handler не помогает. Он заработает когда юзер отправить боту что нибудь.

@bot.callback_query_handler(func=lambda call: call.data[0:13] == 'calendar-day-')
def get_day(call):
    chat_id = call.message.chat.id
    saved_date = current_shown_dates.get(chat_id)
    if(saved_date is not None):
        day=call.data[13:]
        date = datetime.datetime(int(saved_date[0]),int(saved_date[1]),int(day))
        msg = bot.send_message(chat_id, str(date))
        bot.answer_callback_query(call.id, text="Дата выбрана")
        bot.register_next_step_handler(msg, person)

    else:
        #Do something to inform of the error
        pass
    bot.register_next_step_handler(msg, person)

def person(message):
    keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=0.2)
    keyboard.add(*[types.KeyboardButton(name) for name in ["1", "2", "3", "4", "5", "6"]])
    keyboard.add(*[types.KeyboardButton(name) for name in ["Главное меню"]])
    mess = bot.send_message(message.chat.id, "Укажите количество персон:", reply_markup=keyboard)
    bot.register_next_step_handler(mess, answer)


Сейчас если юзер напишет что нибудь то тогда заработает def person(message):
А мне нужно что он сразу (автоматом) заработал после уведомление "Дата выбрана".
Как исправить, Помогите! Спасибо!
  • Вопрос задан
  • 429 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы