电报频道 - 如何获取access_hash?

时间:2017-10-13 19:07:15

标签: telegram telethon

我真的很难理解如何使用Telegram api和telethon。我在Telegram中有一些频道,我想要删除较旧的消息。使用inputpeerchannel()我需要channel_id(没问题)和channel_hash。我无法找到如何通过channel_id获取此channel_hash。谢谢你来自德国

2 个答案:

答案 0 :(得分:1)

要查找频道access_hash,您应该解析频道用户名。原始MTProto方法contacts.resolveUsername#f93ccba3获取@username并返回包含access_hash的频道信息。

在telethon中,你需要调用ResolveUsernameRequest来调用上面的原始MTProto方法。您可以使用此代码将用户名解析为access_hash

client = TelegramClient(session_file, api_id=00000, api_hash='XXXXX')
client.connect()
response = client.invoke(ResolveUsernameRequest("your_channel_id"))
print(response.chats[0].access_hash)
client.disconnect()

答案 1 :(得分:1)

有四种获取访问哈希的方法:

  1. 来自组
  2. 来自用户名
  3. 来自联系人列表
  4. 来自聊天消息

因此,如果只有ID,就无法获取访问哈希值