电报获取聊天消息/帖子-Python Telethon
我正在使用Telethon和Python 3.6xx
能够从组中检索消息,没问题,但是当涉及到渠道时,我会陷入困境。
dialogs = client(get_dialogs)
for chat in dialogs.chats:
getmessage = client.get_messages(chat.id, limit=400)
for message in getmessage:
print(message.message)
我已经搜索了telethon文档,但是大多数答案都是针对旧版本的get_message_history
。
当我尝试以下内容chat.id = 1097988869
(news.bitcoin.com)时,出现以下错误(对于组而言,chat.id
工作正常):
PeerIdInvalidError:使用了无效的Peer。确保传递正确的对等类型
-
更新:
在新版本的Telethon中,@ Lonami答案是最好的并使用它。
#########################################
您可以使用此代码获取消息:
client = TelegramClient('session_name', api_id, api_hash, update_workers=1, spawn_read_thread=False) assert client.connect() if not client.is_user_authorized(): client.send_code_request(phone_number) me = client.sign_in(phone_number, input('Enter code: ')) channel_username='tehrandb' # your channel channel_entity=client.get_entity(channel_username) posts = client(GetHistoryRequest( peer=channel_entity, limit=100, offset_date=None, offset_id=0, max_id=0, min_id=0, add_offset=0, hash=0)) # messages stored in `posts.messages`