我正在学习使用模块。我想在对话中使用按钮,并获取用户选择的按钮的输出。asynciotelethon@bot.on(events.NewMessage(incoming=True, pattern=r'start'))async def chatbot(event): sender = await event.get_sender(); SENDER = sender.id async with bot.conversation(SENDER) as conv: await conv.send_message('Select a button :') await conv.send_message('Yes or no?', buttons=[ Button.inline('Yes!', b'yes'), Button.inline('Nope', b'no') ]) if selected_button == 'yes' : # do something else: # do something使用文档中给出的回调查询,跳转到 的函数。但不会回到函数。handler(event)events.CallbackQuery()convchatbot如何获取所选按钮信息并在功能中进一步操作?chatbot
1 回答
海绵宝宝撒
TA贡献1809条经验 获得超8个赞
从Telethon v1.11开始,您需要使用Conversation.wait_event
,这有点丑陋,但可以解决问题:
# Defined somewhere
def press_event(user_id):
return events.CallbackQuery(func=lambda e: e.sender_id == user_id)
...
# Later in your conversation
press = await conv.wait_event(press_event(SENDER))
添加回答
举报
0/150
提交
取消