![](/img/trans.png)
[英]How to detect if my messages on telegram is already read using 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.