簡體   English   中英

如何通過圖書館電視節目搜索電報中的頻道?

[英]How to search for channels in a telegram through the library telethon?

此時我有一個電報客戶端,可以讀取給定頻道中的所有消息。

from telethon import TelegramClient, connection
import socks
import asyncio
client = TelegramClient('session4', api_id, api_hash, proxy=(socks.SOCKS5, str(proxy_ip), port),timeout=66)
client.start()
kanal='???'
loop = asyncio.get_event_loop()
dp = loop.run_until_complete(client.get_entity(kanal))
posts = loop.run_until_complete(client.get_messages(dp,limit=1000))
loop.close()

為了自動搜索頻道,我決定通過頻道搜索來獲取它們。 找到一個方法

result = client(functions.contacts.SearchRequest(q='some',limit=100))

但他一直返回一個空列表。 我懷疑這是否真的是那種方法? 還是我應該使用其他東西?

您可以使用 get_entity()。 如果您有 channel_id,那么您可以執行以下操作。

my_channel = client.get_entity(PeerChannel(some_id))

如果您沒有 id 但有名字,您可以執行此操作。

my_channel = client.get_entity('some')

你可以在這里找到更多信息

如果您想獲取所有頻道,則可以從獲取所有對話框開始搜索,然后檢查每個聊天的標題是否與您的頻道名稱匹配

result = client.get_dialogs()

for chat in result:
  if chat.title == 'some':
    #do something

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM