【问题标题】:Error messages clogging Telethon resulting in security error: Server sent a very new message xxxxx was ignored错误消息阻塞 Telethon 导致安全错误:服务器发送了一条非常新的消息 xxxxx 被忽略
【发布时间】:2022-10-22 03:32:03
【问题描述】:

我在这里真的很茫然,最近迁移到新机器,而telethon似乎刚刚发生故障。我已经与其他人核实过,所以可能只有我一个人,但我不知道如何解决这个问题,因为它似乎是服务器端/电视节目,但它似乎在我的尽头,似乎并非如此明显的。

每当从现有会话启动 Telethon 时,我都会收到两条错误消息:

服务器发送了一条 ID 为 xxxxxxxxxxxxxxxxxxx 的新消息,忽略 服务器发送了一条 ID 为 xxxxxxxxxxxxxxxxxxx 的新消息,忽略

此后它被以下错误消息阻塞,阻止任何执行:

[警告/2022-09-07] telethon.network.mtprotosender:解包收到的消息时出现安全错误:必须连续忽略太多消息

我附上了一些标准代码,它们为我重现了这个错误。有人可以告诉我这是什么原因造成的吗?该怎么办呢?从 pip 运行 3.10 Python 和最新的 Telethon。

from telethon import TelegramClient, events
from telethon.sessions import StringSession

api_id = 1xxxxxxxxxx
api_hash = '2xxxxxxxxxxxxx'
ph = '+1xxxxxxxxxxxxxxxx' 
key = 'xxxxxx...'

#client = TelegramClient('session', api_id, api_hash).start(phone = ph)
client = TelegramClient(StringSession(key), api_id, api_hash).start(phone = ph)

channelId = 'xxxxxxx'

@client.on(events.NewMessage(chats = [channelId]))
async def main(event):
     try:
         me = client.get_me()
         print(me.stringify())
         print(event.stringify())
     except Exception as e:
         print(e)
    

client.run_until_disconnected()

【问题讨论】:

    标签: python api server telegram telethon


    【解决方案1】:

    每次运行脚本时,都会在当前目录中创建一个新的.session 文件。删除这些文件允许您重用相同的会话名称。这应该可以解决问题。

    【讨论】:

    • 感谢您的回复,我修改了示例以模拟使用 stringSession 加载先前会话的真实代码。确实,它可以破坏以前的会话文件,但这也需要再次重新进行身份验证。这……充其量是乏味的。该代码以前运行得非常好,因此我对导致此问题的原因感到非常困惑。
    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    【解决方案2】:

    我在 1.25.2 版本中遇到了同样的问题。解决方法,在Windows时间设置中,开启时间和时区的自动设置

    【讨论】:

      【解决方案3】:

      你好,你解决了这个问题吗?我也一样

      【讨论】:

        猜你喜欢
        • 2023-02-12
        • 2014-06-10
        • 2018-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-02
        • 2023-03-29
        • 1970-01-01
        相关资源
        最近更新 更多