[英]How can I receive messages from a channel using the Telethon library?
2.I already added API ID and API HASH 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.File Json: 3.文件Json:
{"172665": {"views": null, "sender_id": 1092744447, "forwards": null, "messages": ":)"}}
The line all_message[message.id] = message_dict
is outside the for message in messages:
loop and will hence only be run for the last message in messages
.行
all_message[message.id] = message_dict
在for message in messages:
循环之外,因此只会为 messages 中的最后一条messages
运行。 If you want that line to be part of the loop, you'll have to indent it accordingly.如果您希望该行成为循环的一部分,则必须相应地缩进。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.