简体   繁体   English

如何使用 Telethon 库从频道接收消息?

[英]How can I receive messages from a channel using the Telethon library?

  1. My problem is that it saves a single message in the Json file, but I need more than one message.我的问题是它在 Json 文件中保存了一条消息,但我需要多条消息。

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_dictfor 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.

相关问题 如何使用 Telethon 向我的私人电报频道发送消息? - How can I send messages to my private telegram channel with Telethon? Telethon如何获取频道消息? - Telethon How do I get channel messages? 如何使用 Telethon 获取特定私人频道的更新? - How can I get updates for a specific private channel using telethon? Telethon,如何并行接收和发送消息? (如何并行运行事件) - Telethon, How can I receive and send messages in parallel? (how to run events in parallel) 如何使用 Telethon 从电报频道中的消息中刮取微笑 - How to scrape smiles from a messages in telegram channel with telethon 我如何获得 Telethon 图书馆的讨论频道? - How do I get a channel for discussion at the Telethon Library? 使用频道 ID 在 Telethon 中抓取电报消息 - Scraping Telegram Messages in Telethon Using Channel ID 在 Telethon 中:当我不确定我的群组/频道是私人还是公共时,如何验证 ChatAction 是否仅来自我的群组/频道? - In Telethon: How can I verify If ChatAction was only from my group/channel, when I am not sure If my group/channel is private or public? 如何使用 Telethon 从电报频道接收新消息 - How to get new message received from the telegram channel using telethon 如何使用 telethon 仅从聊天中获取未读消息? - How to get only unread messages from chat using telethon?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM