在python-telegram-bot中如何获得该组的所有参与者?

Tho*_*as8 13 telegram python-telegram-bot telegram-bot

Python-telegram-bot中,如果可能的话,如何获得添加机器人的组的所有参与者的完整列表?

小智 13

您不能使用当前的API,但可以通过它的API加入/退出用户成员.

如果您检查Message对象,则会发现:

  • new_chat_participant:一个新成员被添加到该组,有关他们的信息(该成员可能是机器人本身)
  • left_chat_participant:一个成员被从组中删除,有关他们的信息(该成员可能是机器人本身)

因此,通过这两个信息,您可以跟踪聊天中的用户总数以及他们的身份.

基本策略是在某个地方(如数据库)存储从组中加入和退出用户的事件.

当用户加入聊天存储时,将对象User存储到存储中.当用户退出聊天时,从存储中删除对象User.

然后根据需要做逻辑.


小智 12

此外,最新的API更新允许您:

  • telegram.getChatMembersCount(chat_id):使用此方法获取聊天中的成员数.

  • telegram.getChatMember(chat_id,user_id):使用此方法获取有关聊天成员的信息.

您可以结合使用new_chat_participantleft_chat_participant策略来构建有关组的信息.

更多信息:

  • 发布的链接失败了404. (2认同)
  • 但是它如何帮助我获取组中的所有用户 ID? (2认同)