【问题标题】:Can Telegram bot detect a new member joining a channel event?Telegram bot 可以检测到新成员加入频道事件吗?
【发布时间】:2020-03-31 12:49:30
【问题描述】:

我有一个 Telegram 机器人,我将此机器人设置为频道管理员。现在,当一个新用户通常加入一个频道(不是一个组)时,频道上没有任何消息,也没有我们可以使用getUpdates 方法获得的消息。在技​​术上是否可以发布一条消息说“新用户已加入频道” - 这会陷入“新会员”事件?告诉我。

【问题讨论】:

    标签: telegram telegram-bot python-telegram-bot telegram-webhook node-telegram-bot-api


    【解决方案1】:

    很遗憾,您目前无法通过 Telegram bot API 检查用户是否加入了频道。也许将来你可以。

    但是你可以在这里为团体或超级团体做这件事:

    https://core.telegram.org/bots/api#message找到new_chat_members

    这些也很有用:

    Telegram Bot Event When Users Join To Channel

    How to get channel updates with Telegram robot

    更新:

    但具有管理员权限的 TG bot api 可以查看其所有成员。因此,即使 api 不支持它,它也可以跟踪计数并查看它是否增加,然后知道有新成员加入。正确的?我不需要确切知道哪个新成员加入了,只需知道一个新成员加入即可分享欢迎信息

    是的,您可以使用getChatMembersCount。以下是来自link 的信息:

    getChatMembersCount:使用此方法获取聊天中的成员数。成功返回 Int。

    也可以使用getChatMemberhere是一些信息:

    getChatMember: 使用此方法获取有关聊天成员的信息。成功时返回 ChatMember 对象。

    【讨论】:

    • 但是具有管理员权限的 TG bot api 可以看到它的所有成员。因此,即使 api 不支持它,它也可以跟踪计数并查看它是否增加,然后知道有新成员加入。正确的?我不需要确切知道加入了哪些新成员,只需知道加入的新成员即可分享欢迎信息
    【解决方案2】:

    如果您使用的是python-telegram-bot 库,则在此doc 中有一个名为new_chat_members 的方法。

    它将返回聊天的所有新成员。

    【讨论】:

    • 这个库是怎么做到的?你知道其中的逻辑吗?
    • 只是从 Telegram 服务器调用 API 并显示结果。
    • 怎么样?如果它在电报的 API 中不可用?
    • 它也可以在 Telegram API 中使用。 @DimitriKopriwa
    • 误导信息
    猜你喜欢
    • 2016-04-24
    • 2016-11-14
    • 2018-09-21
    • 1970-01-01
    • 2018-02-06
    • 1970-01-01
    • 2017-07-29
    • 2018-12-18
    • 2018-06-07
    相关资源
    最近更新 更多