如何在电视广播库的对话中获取按钮回调查询

我正在学习使用模块。我想在对话中使用按钮,并获取用户选择的按钮的输出。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


潇湘沐
浏览 98回答 1
1回答

海绵宝宝撒

从Telethon v1.11开始,您需要使用Conversation.wait_event,这有点丑陋,但可以解决问题:# Defined somewheredef press_event(user_id):    return events.CallbackQuery(func=lambda e: e.sender_id == user_id)...# Later in your conversationpress = await conv.wait_event(press_event(SENDER))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python