python/telethon 上的 Telegram 解析器无法正常工作

Telegram parser on python/telethon does not work properly

提问人:IlaiHappy 提问时间:11/5/2023 更新时间:11/5/2023 访问量:26

问:

我写了一个电报 API 解析器,它可以将消息从一个组重新发送到另一个组,但在我登录 Telegram 时它只能工作 5-10 秒。几秒钟后,电报将我从所有设备上的帐户中剔除,我的代码停止工作。我怎样才能修复并使其正常工作?请帮帮我!

from telethon.sync import TelegramClient, events

api_id = '*******'
api_hash = '*************************'
#phone = '*********'

DESTINATION_GROUP_ID = -1001964185842 #our channel for recieving messages
SOURCE_GROUP_ID = -1001923879320 #information source channels

with TelegramClient('session_name', api_id, api_hash) as client:
    #for message in client.iter_messages(chat):
        #print(message.sender_id, ':', message.text)

    async def forward_message_to_destination(message):
        await client.send_message(DESTINATION_GROUP_ID, message)
        print(f"Message forwarded: {message.text}")

    @client.on(events.NewMessage(chats=SOURCE_GROUP_ID))
    async def forward_messages(event):
        message = event.message
        await forward_message_to_destination(message)

    with client:
        client.run_until_disconnected()

该代码应该将任何内容从 SOURCE_GROUP_ID 重新发送到DESTINATION_GROUP_ID并且确实如此,但仅在您登录电报应用程序(在您的手机或 PC 上)时,但是当您使用此代码登录时(在我的情况下在 pycharm 中),您会在大约 5-10 秒内被抛出。

python 解析 电报 telethon

评论

0赞 Lonami 11/5/2023
Telegram 将您踢出局可能是 Telegram 不喜欢您正在做的事情的信号。请记住遵守 Telegram 的 ToS。在频道之间复制内容可能不是故意的。
0赞 IlaiHappy 11/5/2023
我怎么能确定呢?我知道,当你创建一个小组时,你可以选择是否让人们复制你的内容。此代码仅适用于允许复制的组,因此这应该不是问题。
0赞 Lonami 11/5/2023
你不能肯定知道这一点,因为Telegram可以决定规则,并且可以随时更改它们。Telethon 只做你告诉它做的事情,除了保持活动 ping 和在检测到间隙时获取更新,这应该不是问题。如果 Telegram 把你踢出去,不幸的是,你无能为力。

答: 暂无答案