簡體   English   中英

使用 Telethon 閱讀最后的消息

[英]Read last messages using Telethon

我正在嘗試從我訂閱的特定頻道檢索最后一條消息(以及最新消息)。

我嘗試了以下代碼:

from telethon import TelegramClient, events, sync

# Remember to use your own values from my.telegram.org!
api_id = 'xxx'
api_hash = 'xxx'
client = TelegramClient('xxx', api_id, api_hash)

@client.on(events.NewMessage(chats='Channel 123'))
async def my_event_handler(event):
    print(event.raw_text)

client.start()
client.run_until_disconnected()

出於某種原因,它無法正常工作,因為它顯示“未檢測到“Channel 123””。

從特定頻道(我不擁有但被替換)獲取消息的正確方法是什么?

您需要在此行中添加 channel_id

@client.on(events.NewMessage(chats='channel_id'))

有時,您可以使用頻道的別名,但對於私人頻道,您可以在網絡瀏覽器中看到channel id打開電報並選擇聊天,在出現 url 的搜索框中,在最后出現 id 之類的這個例子:

https://web.telegram.org/k/#-1515693207

這是ID -1515693207

另一種方法是使用 get_entity 函數獲取 id,並將其傳遞給要獲取消息的函數。

channel_entity = await client.get_entity(PeerChannel(client.message.to_id.channel_id))

希望這對你有幫助。

暫無
暫無

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

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