【问题标题】:How to get entity of a channel using Telethon bot API?如何使用 Telethon bot API 获取频道实体?
【发布时间】:2021-01-31 11:41:25
【问题描述】:

我无法使用 Telethon Bot 获取对话框,因为该方法仅适用于客户端。因此,当我尝试使用其 id 访问实体时,我收到一个错误。如果我无法解析所有频道并且既不能通过 id 访问它们,如何访问实体(频道)?我想解析来自私人群组的消息并使用 Telegram Bot。

【问题讨论】:

  • 如果您告诉我们错误是什么会很有帮助
  • 嗨@painor!谢谢您的答复。错误如下:telethon.errors.rpcerrorlist.PeerIdInvalidError: An invalid Peer was used. Make sure to pass the right peer type (caused by ForwardMessagesRequest) 因为 Telethon 不知道此 ID 与哪个频道相关。根据文档,我需要先列出所有对话框,然后通过 id 获取实体。请检查此链接link

标签: python telegram-bot telethon


【解决方案1】:

在通道运行时将机器人添加到通道中应该足以让机器人获取其访问哈希。或者,当机器人在里面时在那里发送消息也应该可以工作。此哈希将保存到.session 文件中。无论如何,如果您使用“标记”ID(对于频道,请在真实 ID 前添加 -100 前缀或使用 types.PeerChannel(real id)),Telethon 会知道您指的是频道,这有助于使其正常工作。

【讨论】:

  • 嗨@Lonami!谢谢您的回答!机器人是否有可能废弃它所连接的频道以外的其他频道?我正在为自己开发一个机器人,它可以解析来自多个频道的帖子、过滤它们并将它们发送给我。
  • 哦,我想我明白了。该机器人不是这些频道的成员,因此无法删除消息。
猜你喜欢
  • 2022-07-16
  • 1970-01-01
  • 2020-11-01
  • 2023-01-26
  • 2016-02-23
  • 2017-11-10
  • 1970-01-01
  • 2018-05-02
  • 1970-01-01
相关资源
最近更新 更多