【问题标题】:As a telegram bot, what is the best way to authenticate the owner of a telegram channel?作为电报机器人,验证电报频道所有者的最佳方式是什么?
【发布时间】:2016-04-22 17:56:10
【问题描述】:

电报机器人有没有办法知道谁是频道的管理员?

一种方法是向频道管理员发送验证码并要求管理员确认验证码。不过,我找不到任何允许向频道管理员发送消息的 API。

我可以通过要求用户向我的机器人发送消息来验证用户帐户,但是有没有办法让通道向机器人发送消息?

【问题讨论】:

  • 为了澄清更多,我想向用户定义的频道发送有关用户操作的通知。对于这个用例,用户必须将我的机器人添加到他的频道,然后将频道名称引入我的应用程序,以便我可以向该频道发送通知。问题是我不知道如何确保该用户拥有该频道并且不将他的通知连接到他不拥有的其他频道并且碰巧将我的机器人添加为管理员。

标签: telegram telegram-bot


【解决方案1】:

我认为这不是必需的!

当您有a1255412542_bot 并要求用户将此机器人添加为管理员时,频道管理员是否可以将此机器人添加为管理员?!!

你可以:

  1. 询问频道名称,
  2. 向频道发送消息,以确保机器人不是频道的管理员,
  3. 要求用户立即将您的机器人添加为管理员!然后按您机器人上的ok 按钮,
  4. 然后您向频道发送一条短信(或 sendChatAction 进行隐藏测试),如果成功,则完成!

【讨论】:

  • 感谢您的回复。我明白你在这里的建议。它似乎有效,但我认为这不够健壮,并且对用户强加了一个特定的过程(确保机器人不是管理员,然后添加并验证......)
  • 好的。我明白。但目前的 TG bot API 没有其他方法。
【解决方案2】:

您可以使用此方法获取任何频道的管理员列表:

https://core.telegram.org/bots/api#getchatadministrators

检查该用户的权限,因为它返回管理员用户名及其权限的 json 数组

【讨论】:

    猜你喜欢
    • 2017-08-18
    • 1970-01-01
    • 2017-01-23
    • 2023-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 2022-12-15
    相关资源
    最近更新 更多