首页 > 解决方案 > 如何使用 Telebot 模块在机器人窗口中创建一个内联按钮,如果单击该按钮将与组中的“创建投票”按钮非常相似?

问题描述

我对python比较陌生,我正在尝试使用telebot创建一个电报机器人,它将创建一个类似问答的游戏,每个用户也可以创建自己的类似问答的游戏。在用户创建此测验的逐步过程中,有一次,我需要他们向我发送投票,就像他们如何在组中创建新投票一样。但是电报机器人内部没有创建投票按钮,因为这些按钮通常在组中而不是在一对一聊天中找到。所以我需要创建一个内联键盘按钮,点击它会让用户创建一个投票并将其发送给机器人。我浏览了 github 中的文档,找不到任何有用的东西。

类似的事情是由电报自己的“Quizbot”实现的。为了清楚起见,我将附上该机器人的屏幕截图。请帮助我确定如何在我的机器人中实现它。 在此处输入图像描述

如果单击“创建问题”按钮: 在此处输入图像描述

我是python和编码的菜鸟,所以请帮我解决这个问题。

编辑:如果我使用的是电报桌面而不是手机,我可以向机器人发送投票。我想知道如何在手机中使用它。

标签: pythontelegramtelegram-botpython-telegram-bot

解决方案


通过使用 Telebot,我们可以做到这一点。这也让我们有机会从手机应用程序创建民意调查。

import telebot
from telebot.types import ReplyKeyboardMarkup,KeyboardButton, 
                          KeyboardButtonPollType,ReplyKeyboardRemove

bot=telebot.Telebot(token='your bot token')
poll_markup=ReplyKeyboardMarkup(one_time_keyboard=True) 
poll_markup.add(KeyboardButton('send me a poll',
                request_poll=KeyboardButtonPollType(type='quiz')))
#from my experience, only quiz type and regular type polls can be send.

remove_board=ReplyKeyboardRemove()
bot.send_message(chat_id,text,reply_markup=poll_markup)
#some other code here

#this can be used to remove the replykeyboard when you no longer need it.
bot.send_message(chat_id,text,reply_markup=remove_board)

                                          

在此处输入图像描述


推荐阅读