如何使用电报机器人获取频道更新

时间:2018-10-10 08:54:55

标签: telegram telegram-bot

我已经搜索了几天的Telegram API和Bot API文档,并且当新闻频道,体育频道等频道中出现新的更新时,似乎没有直接的方法可以让机器人得到通知。 我想到的唯一一件事是: 钩子仅在机器人是管理员成员时才返回频道的更新:

{
  "update_id": 673009340,
  "message": {
    "message_id": 160,
    "from": {
      "id": 104911111,
      "is_bot": false,
      "first_name": "Jason",
      "username": "jason",
      "language_code": "en-US"
    },
    "chat": {
      "id": -252946114,
      "title": "jason",
      "type": "group",
      "all_members_are_administrators": true
    },
    "date": 1538468757,
    "photo": [
      {
        "file_id": "AgADBAADFa4xG972mVHqJ-CSWQTFky4lnRoABNEgOrZpJU-OyDgFAAEC",
        "file_size": 1795,
        "width": 90,
        "height": 90
      },
      {
        "file_id": "AgADBAADFa4xG972mVHqJ-CSWQTFky4lnRoABB4OwmYVnYcOyTgFAAEC",
        "file_size": 32559,
        "width": 320,
        "height": 320
      },
      {
        "file_id": "AgADBAADFa4xG972mVHqJ-CSWQTFky4lnRoABIZfLEHYC_NVyjgFAAEC",
        "file_size": 159833,
        "width": 770,
        "height": 770
      }
    ]
  }
}

我知道我无法将机器人添加到我不拥有的频道中。但是,我可以将用户名jason添加到几乎所有频道。因此,有jason_bot可用的新更新时,有没有办法让我的jason收到通知?

1 个答案:

答案 0 :(得分:2)

机器人无法与渠道互动,除非他们是渠道的管理员之一。

如果要从其他人的频道接收更新,则必须充当客户端用户而不是漫游器。如果您以会员身份加入频道,则可以轻松接收更新。但是,您可以在不成为成员的情况下检查任何公共频道的更新。首先,您解析频道@username并获得(id, access_hash)对。然后,您可以访问所有消息,并手动检查数据库是否有新内容。