簡體   English   中英

使用 Telethon 從電報組下載特定數量的消息

[英]Using Telethon to download a specific number of messages from a telegram group

我正在嘗試使用 Telethon 遵循此答案從電報組下載特定數量的消息。 我不得不修改代碼,因為有多個錯誤和警告,而且庫及其類從那時起也發生了變化。 這是我到目前為止所得到的:

import os
import sys
from telethon.sync import TelegramClient
from telethon.tl.types import InputPeerChat

session_name = "<session_name>"
api_id = <api_id>
api_hash = "<api_hash>"
chat_id = <chat_id>

os.chdir(sys.path[0])

if f"{session_name}.session" in os.listdir():
    os.remove(f"{session_name}.session")

client = TelegramClient(session_name, api_id, api_hash)
await client.connect()
chat = InputPeerChat(chat_id)


client.get_messages(chat, limit=10)

然而,在 Jupyter 上運行上面的代碼我得到了:

<協程對象 MessageMethods.get_messages 在 0x1049c8cb0>

我嘗試for msg in messages部分使用for msg in messages來提取/解析信息,但出現錯誤:

類型錯誤:“協程”對象不可迭代

如果您能幫助我知道在給定聊天 ID 的情況下下載電報組中特定數量的最后一條消息的規范和簡潔的方法是什么,我將不勝感激。

剛剛成立從他們檢索的消息記錄,不需要構造InputPeer對象entitiy。

from telethon.sync import TelegramClient

session_name = '<session_name>'
api_id = <api_id>
api_hash = '<api_hash>'

#chat = <chat id>
#chat = <user id>
#chat = 'https://t.me/group_invite_link'
chat = 'me'

client = TelegramClient(session_name, api_id, api_hash)
client.start()

messages = client.get_messages(chat, limit=5)
print(messages)

client.disconnect()

暫無
暫無

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

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