2017-10-02 5 views
2

アプリケーション内のいくつかのパブリックチャンネルのメッセージを読む必要があります(例:起こった場合など)https://tlgrm.ru/channels/techわかったように、このビジネスのボットは機能しません。あなたはクライアントのapiを使う必要がありますが、どこにでもchannel_idが必要などこにでも接続されていますが、どこから取得すればよいのでしょうか?チャンネル名しかありません。そのような方法。テレグラフからパブリックチャンネルのメッセージを読む

チャネルのIDを名前で取得するにはどうすればよいですか?

答えて

4

あなたがPythonを使用していると仮定すると、私はTelethonライブラリを提案します。あなたは@usernameからchannel_idaccess_hashを取得するためのコードのこの部分を使用することができます。

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) 

あなたはすでにあなたのapi_idapi_hashを持っていることを確認してください。また、あなたのアプリを認証したことを確認してください。つまり、session_fileが動作しています。上記の手順を実行する方法がわからない場合は、GithubのページでTelethonのREADMEを読んでください。最新版では

0

、あなたはチャンネル

from telethon.tl.functions.contacts import ResolveUsernameRequest 
response = client.invoke(ResolveUsernameRequest(<username>)) 
messages = client.get_message_history(response.peer,limit=1000) 
のユーザー名を使用して、このように行うだろう
関連する問題