@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"]
        bot.send_poll(call.message.chat.id, question, options)

到目前为止,有这样一个代码.但现在,任何答案都是正确的.我如何确保只有一个正确的答案?

我必须记住,我需要一个"测验".也就是说,不应该使用Inlinetrix.

推荐答案

要创建只有一个选项正确的投票,您可以使用带有is_anonymous=Falsetype='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开始.通过使这些 调整后,您将确保您的投票表现为测验, 只有"巴黎"被认为是正确答案的问题, 法国的首都.

Python相关问答推荐

Class_weight参数不影响RandomForestClassifier不平衡数据集中的结果

将DF中的名称与另一DF拆分并匹配并返回匹配的公司

Pandas实际上如何对基于自定义的索引(integer和非integer)执行索引

Pystata:从Python并行运行stata实例

Pandas 滚动最接近的价值

ODE集成中如何终止solve_ivp的无限运行

所有列的滚动标准差,忽略NaN

启用/禁用shiny 的自动重新加载

考虑到同一天和前2天的前2个数值,如何估算电力时间序列数据中的缺失值?

如何在Python中使用Pandas将R s Tukey s HSD表转换为相关矩阵''

Pandas:计算中间时间条目的总时间增量

如何获取Python synsets列表的第一个内容?

30个非DATETIME天内的累计金额

如何根据rame中的列值分别分组值

如何从比较函数生成ngroup?

简单 torch 模型测试:ModuleNotFoundError:没有名为';Ultralytics.yolo';

如何将返回引用的函数与pybind11绑定?

类型对象';敌人';没有属性';损害';

某些值的数值幂和**之间的差异

来自任务调度程序的作为系统的Python文件