You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Telegram机器人:如何获取群聊投票结果技术咨询

获取Telegram投票的用户投票数据方案

核心思路

要获取用户的投票数据,核心是监听Telegram推送的投票更新事件,同时也可以主动调用API获取投票的汇总结果,分两种场景处理:


1. 实时收集单个用户的投票记录

当用户完成投票后,Telegram会主动向你的机器人推送PollAnswer类型的更新,你需要做以下操作:

  • 开启更新接收权限:确保你的机器人通过webhook或getUpdates接口能接收poll_answer类型的更新(如果不指定更新类型,默认会接收所有类型,也可以明确指定只接收该类型以减少冗余)。
  • 匹配目标投票:收到PollAnswer更新后,提取其中的poll_id,和你之前存储的投票ID做匹配,确认是你关注的投票。
  • 提取并存储数据:更新对象里的关键数据包括:
    • user:投票用户的ID、用户名等身份信息
    • option_ids:用户选中的选项ID数组(单选投票时数组长度为1,多选则对应多个ID)
      把这些数据关联对应的poll ID存储到你的数据库中,就能实现单个用户投票数据的收集。

2. 主动获取投票的汇总结果

如果需要获取某一投票的当前整体统计数据(比如总投票数、各选项得票数),可以调用getPoll API,传入你存储的poll_id。接口返回的Poll对象会包含:

  • total_voter_count:总投票人数
  • options:每个选项的详情,其中voter_count字段是该选项的得票数

注意事项

  • 确保机器人在群聊中有足够权限:需要能读取群聊消息,建议将机器人设置为群管理员,或者确保群聊的权限设置允许机器人读取消息。
  • 如果你使用第三方Bot开发库(如python-telegram-bot、pyrogram),这些库通常已经封装了PollAnswer的处理逻辑,直接注册对应的事件处理器即可,无需手动解析原始更新数据。

内容的提问来源于stack exchange,提问作者user3918128

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 02:22:08