2017-10-13 168 views
3

我真的很難理解如何使用Telethon使用Telegram api。我在電報中有一些頻道,我想刪除舊的消息。使用inputpeerchannel()我需要channel_id(沒有問題)和channel_hash。我無法找到如何通過channel_id獲取此channel_hash。謝謝德國電報頻道 - 如何獲得access_hash?

+0

您是否找到解決方案? – flagg19

回答

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() 
+0

「your_channel_id」是用戶名還是channel_id?它不適合我與channel_id,它與用戶名,但我只有channel_id – flagg19

+0

「your_channel_id」是一個字符串,它是用戶名。您只能通過'channel_id'訪問頻道。你也需要'access_hash'。 –