Telegram Bot: инициировать разговор по нажатию кнопки встроенной клавиатуры
Я новичок в этой разработке бота Telegram, и я разрабатываю бот, который использует Conversationhandler
и несколько состояний, чтобы поговорить с пользователем и получить ответ.
Поскольку бот будет работать в групповом чате, я заканчиваю разговор после каждого ответа. таким образом, бот не будет "слушать" другие сообщения в групповом чате, и ожидается, что пользователь снова инициирует команду "говорить"
Пример кода приведен ниже,
updater = Updater(config['telegram'][token_key]) # Live
# Get the dispatcher to register handlers
dp = updater.dispatcher
conv_handler = ConversationHandler(
entry_points=[CommandHandler('start', processquery)],
states={
QUERY: [MessageHandler(Filters.text,
processquery,
pass_user_data=True),
MessageHandler(Filters.command, processquery, pass_user_data=True)
]
},
fallbacks=[RegexHandler('^Done$', done, pass_user_data=True)]
dp.add_handler(conv_handler)
dp.add_handler(CallbackQueryHandler(buttoncallback))
Теперь для конкретного варианта использования у нас будут встроенные кнопки клавиатуры вместе с сообщением,
Поскольку после каждого сообщения диалог завершается "ОКОНЧАНИЕ", после нажатия кнопки, как я могу снова " тихо " начать беседу и прослушивать пользовательский запрос без какой-либо команды?
Я использую библиотеку python-telegram-bot.