Telegram BOT - 如何获取我群组中用户的聊天ID?

问题描述 投票:0回答:2

我一直在使用 Telegram BOT 为群组和用户发送通知。

我已经知道我可以通过使用 getUpdates 在我的机器人上接收来自用户的消息来获取聊天 ID。

我也知道我可以使用相同的方法获取组ID...

但我真正需要的是: 我的群组中有三个用户。

  1. 我的机器人。
  2. 我。
  3. 另一个用户没有向我的机器人发送任何消息,因此它不会出现在 getUpdates 上

是否可以获取第三个用户的 ID? PS:我是群组所有者,并将我的机器人添加为管理员...

第三个用户是普通用户。 有人可以帮助我吗?

谢谢!

telegram telegram-bot
2个回答
1
投票

官方 Telegram Bot API 无法实现这一点。

可能的解决方法:

保留一份你自己的清单。如果用户正在加入 (new_chat_member)、离开 (left_chat_member)、有人在群组中发送消息,等等。查看消息了解更多信息。

使用 getChatMember 检查用户是否是群组成员。

也可能有帮助:getChatMembersCountgetChatAdministrators


0
投票

go-telegram-bot-api 包中的 GetChatAdministrators 方法仅检索有关聊天管理员的信息,而不是所有聊天成员的信息。不幸的是,Telegram Bot API 中没有直接方法可以检索有关所有聊天成员的信息。

作为机器人,您对聊天成员信息的访问是有限的。您只能通过发送消息或与机器人命令交互来检索与您的机器人交互的聊天成员的信息。

如果您需要有关聊天中所有成员(包括非交互成员)的信息,您将需要通过 Telegram 客户端 API (MTProto) 访问 Telegram API。但是,请注意,使用 Telegram 客户端 API 需要更复杂的设置和身份验证。

如果您特别希望检索与您的机器人交互的聊天成员的用户 ID,您可以使用收到的更新中的 update.Message.From.ID 字段。这将为您提供向您的机器人发送消息的成员的用户 ID。

© www.soinside.com 2019 - 2024. All rights reserved.