问题描述
示例:
AGAIN = range(1)
TOKEN = 'token'
def start(update,context):
keyboard = [
[InlineKeyboardButton("again",callback_data='again')],[InlineKeyboardButton("stop",callback_data='stop')]
]
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text(
text="Hi!\n-----\nThat's it,again?",reply_markup=reply_markup)
return AGAIN
def again(update,context):
query = update.callback_query
query.answer()
if query.data == 'again':
start()
elif query.data == 'stop':
cancel()
def cancel(update,context):
update.message.reply_text(
'Thank You,if you want open the menu,just type /start')
return ConversationHandler.END
def main():
updater = Updater(token=TOKEN,use_context=True)
dispatcher = updater.dispatcher
conv_handler = ConversationHandler(
entry_points=[CommandHandler('start',start)],states={
AGAIN: [CallbackQueryHandler(again)]
},fallbacks=[CommandHandler('cancel',cancel)],)
dispatcher.add_handler(conv_handler)
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
该怎么做?如果用户选择“再次”->运行start(),如果用户选择“停止”->运行cancel()。我尝试使用MessageHandler或CommandHandler添加新状态,但由于在。之后没有用户消息作为输入,因此无法正常工作。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)