Привет. Использую pyTelegramBotAPI. Я перерыл весь гугл и нашел один единственный вопрос, который остался без ответа на каком-то форуме по IT, где у человека была такая же проблема как у меня. И так, к сути вопроса: мой бот должен по команде /add_my_question попросить пользователя отправить сообщение, текст которого и будет являться вопросом, который нужно добавить. Я сделал это через bot.set_update_listener(), но оно обрабатывает все сообщения, которые поступят после /add_my_question. А мне нужно чтобы только первое сообщение обработалось и листенер прервался. Как я могу это сделать? Быть может есть какие-то другие способы это реализовать?
def listener(messages):
for m in messages:
chat_id = m.chat.id
text = m.text
"""Дальше бот берет текст первого сообщения и добавляет его в БД,
а второе сообщение, которое он получит, уже должен будет игнорировать.
Но мой бот сейчас отвечает на все сообщения, а не только на первое"""
@bot.message_handler(commands=["add_my_question"])
def add_question(message):
chat_id = message.chat.id
bot.send_message(chat_id, "Напишите вопрос который хотите добавить: ") # --- Вот после этого сообщения пользователь должен отправить свой вопрос в одном сообщении
bot.set_update_listener(listener)
if __name__ == "__main__":
bot.infinity_polling(none_stop=True)