要创建只有一个选项正确的投票,您可以使用带有is_anonymous=False
和type='quiz'
参数的send_poll
方法,以及指定哪个选项正确的correct_option_id
参数.由于"paris"是正确答案,也是选项列表中的第一个选项(索引为0),因此您应该设置correct_option_id=0
.这将确保您的投票被识别为测验,并且只有您指定为正确的选项才会被视为测验.
以下是修改代码以包括这些更改的方法:
@bot.callback_query_handler(func=lambda call: True)
def callback_handler(call):
if call.data == 'start':
question = "Which city is the capital of France?"
options = ["Paris", "Berlin", "Madrid", "London"]
# Setting correct_option_id to 0 since "Paris" is the first option and the correct answer.
# Note: The is_anonymous parameter is optional for quizzes, as quizzes are not anonymous by default.
bot.send_poll(
chat_id=call.message.chat.id,
question=question,
options=options,
is_anonymous=False,
type='quiz',
correct_option_id=0
)
在这个修改过的代码片段中:
is_anonymous=False
确保投票不是匿名的.这是
对于测验来说是可选的,因为测验投票默认不是匿名的.
type='quiz'
指定投票是测验类型,这允许
用于指定正确答案并自动计算分数
对于每一个参与者.
correct_option_id=0
表示第一个备选方案("巴黎")是
正确的一个.correct_option_id
是基于
在选项列表中 Select 正确答案,从0开始.通过使这些
调整后,您将确保您的投票表现为测验,
只有"巴黎"被认为是正确答案的问题,
法国的首都.