如何使用Telethon库接收来自频道的消息


  1. 我的问题是它在Json文件中保存了一条消息,但我需要多条消息

2.我已经添加了API ID和API HASH

async def get_message():
client=TelegramClient('userBot',API_ID,API_HASH)
await client.start()
USERNAME='PenMoviesOfficial'
#LIMIT=3 #! >>>>INT

messages = await client.get_messages(USERNAME)
all_message={}
for message in messages:
message_dict = {
'views': message.views,
'sender_id': message.sender_id,
'forwards': message.forwards,
'messages': getattr(message, 'message', ''),
}
all_message[message.id] = message_dict
with open(f'{USERNAME}.json','w',encoding='utf-8') as file:
file.write(json.dumps(all_message))
await client.run_until_disconnected()

asyncio.run(get_message())

3.文件Json:

{"172665": {"views": null, "sender_id": 1092744447, "forwards": null, "messages": ":)"}}

all_message[message.id] = message_dictfor message in messages:循环之外,因此只为messages中的最后一条消息运行。如果您希望该行成为循环的一部分,则必须相应地缩进它。