获取电报组的所有用户

Posted

技术标签:

【中文标题】获取电报组的所有用户【英文标题】:Get all users of telegram group 【发布时间】:2018-12-05 14:22:09 【问题描述】:

我正在尝试,我看到方法getChatAdministrators,但我认为API没有获取所有成员的方法。

我正在使用 nodejs 的电报-bot-api

【问题讨论】:

【参考方案1】:

Telegram Bot API:

您尝试归档的内容目前无法使用 bot api。我不确定 nodejs api,但官方 bot api(您的实现可能会使用)目前不允许获取有关所有成员的特定信息。

不过,您可以使用getchatmemberscount 查询当前组中有多少用户。如果您拥有某个组成员的用户 ID,则可以通过 getchatmember function 获取有关该用户的更多信息。

Telegram API:

使用 Telegram API,您可以控制“常规”用户如何控制机器人。如果您决定使用此 API,任何其他用户都不会看到您的帐户是自动化的;事实上,官方电报应用程序使用它作为他们的后端。但是,您需要像使用普通帐户一样使用您的电话号码进行注册。

使用此 API,您可以使用 getChats function 轻松查询机器人所在的所有聊天记录。然后,您可以使用getFullChat 查询特定聊天的完整聊天信息(包括所有用户及其详细信息)。

【讨论】:

如何调用api?抱歉,在 getFullChat 的情况下,我无法弄清楚如何使用 chat_id【参考方案2】:

Telegram Bot API 不提供此类功能,唯一有效的方法是使用 userbot(在常规 Telegram 帐户下运行的机器人)。

【讨论】:

【参考方案3】:

你的问题解决了吗?我使用电报机器人 api 的 GetChatMemberCount 方法来获取组的成员数。而且我还可以使用bot api来获取向组发送消息的用户信息。我怀疑是否有任何其他方法可以在没有bot api的情况下获取成员数。

【讨论】:

【参考方案4】:

您可以使用 Telethon 提取任何给定组或频道的所有成员(您需要成为频道管理员),您可以使用 Telethon,您可以在这里找到它:- https://github.com/LonamiWebs/Telethon

Telethon 提取给定组的所有成员并将其保存在 SQLite 数据库中。

【讨论】:

怎么样?也许使用 Telethon 的例子会很好。或者至少指向文档中的确切部分,而不是整个存储库。此外,这并不能仅使用机器人来回答问题。 Telethon 必须以普通电报用户身份登录。

以上是关于获取电报组的所有用户的主要内容,如果未能解决你的问题,请参考以下文章

SQL:查询获取特定组的所有用户以及所有组的每个用户

如何在Django中获取具有特定权限组的所有用户的列表

如何在电报中获取电话号码的 user_id

如何使用 Telethon 获取电报私人频道 ID

如何使用电报内联机器人获取组 ID 和聊天 ID?

电报:从电报客户端获取文件ID