У меня есть телеграмм-бот, который обрабатывает обычный текст, хранит текст, что-то с ним делает и возвращает результат. вывод правильный, но я хочу, чтобы бот по-разному отвечал на командные сообщения типа "/ start" "/ help". Я также успешно достиг этого, дело в том, что, как только / start сделан, например, он производит желаемый вывод, и он продолжает и обрабатывает текст, как если бы он был простым текстом (не желательно в случае команды). Вот пример приведенного ниже кода, например:
@bot.message_handler(commands=['start'])
def send_welcome(message):
msg = bot.reply_to(message, """\
Hi there, I am Humobot.
What do you want to verify?
""")
bot.register_next_step_handler(msg,bot.set_update_listener(handle_messages))
##.... similar functions for /help and functions to process the info in message....
def handle_messages(messages):
for message in messages:
# Do something with the message
bot.send_message(chat_id=message.chat.id,
text="Hold on Humo is running for you, he is still new and can barely walk")
process_check_info(message)
bot.set_update_listener(handle_messages)
bot.polling()
bot.enable_save_next_step_handlers(delay=2)
bot.load_next_step_handlers()
bot.polling()
Я чувствую, что проблема в строке bot.register_next_step_handler(msg,bot.set_update_listener(handle_messages))
Моя вызываемая функция - set_update_listener (handle_messages), я не уверен, как сказать боту, просто ждать следующее сообщение, а затем, если это была команда, обработайте его как команду ТОЛЬКО, а если это обычный текст, обработайте его как текст ТОЛЬКО (последняя часть на самом деле работает нормально)
Надеюсь, вопрос ясен.