2017-10-02 2 views
2

Ich muss die Nachrichten von einigen öffentlichen Kanälen in der Anwendung lesen, wie es zum Beispiel passiert https://tlgrm.ru/channels/tech Wie ich verstanden habe, wird der Bot für dieses Geschäft nicht funktionieren. Sie müssen Client-API verwenden, aber überall, dass mit den Kanal-Methoden überall verbunden sind, müssen Sie channel_id, aber wo bekomme ich es weiß ich nicht, ich habe nur Kanalnamen, und wie bekomme ich es von der ID, die ich nicht gefunden habe so eine Methode.Lesen Sie die Nachrichten der öffentlichen Kanäle von Telegramm

Wie kann ich die ID des Kanals durch seinen Namen erhalten?

Antwort

4

Angenommen, Sie verwenden Python, empfehle ich Telethon Bibliothek. Sie können dieses Stück Code verwenden channel_id und access_hash von @username zu bekommen:

from telethon.tl.functions.contacts import ResolveUsernameRequest 

client = TelegramClient(session_file, api_id=X, api_hash='X') 
client.connect() 
response = client.invoke(ResolveUsernameRequest("username")) 
print(response.channel_id) 
print(response.access_hash) 

Achten Sie darauf, Sie haben bereits Ihre api_id und api_hash. Und stellen Sie sicher, dass Sie Ihre App authentifiziert haben, d. H. Sie haben eine funktionierende session_file. Lesen Sie die README-Datei von Telethon auf der Github-Seite, wenn Sie nicht sicher sind, wie Sie die obigen Schritte durchführen.

0

In der neuesten Version, würden Sie tun, wie diese den Benutzernamen des Kanals mit

from telethon.tl.functions.contacts import ResolveUsernameRequest 
response = client.invoke(ResolveUsernameRequest(<username>)) 
messages = client.get_message_history(response.peer,limit=1000) 
Verwandte Themen