我的问题是:我想知道是否有一种方法可以在telethon库上启用调试,因为我最初认为它是与Telegram相关的,但现在它似乎更像是arch (os/python..?)相关信息:
事实:-armv6 (raspberyy pi1,busterOS,python3):telethon客户端进行身份验证(使用.start()),并在3-5分钟后断开连接(!)。需要重新发送请求/接收认证短信,并保持连接3-5分钟,之后再次询问电话号码
-armv7(raspberry pi4,busterOS,python3):telethon客户端进行身份验证(使用.start()),并保持身份验证,这是它应该做的
Python版本(Python 3.7.3)、telethon包(Telethon1.23.0)完全相同,只是架构不同而已。((可能)值得注意的是,当使用armv6 (并且在手机上还打开了另一个会话)时,当armv6上发生身份验证时,手机应用程序也会注销电报,就像“断开所有会话”请求突然发生一样)
发布于 2021-10-23 21:16:35
我找到了为什么我有不认证的原因。这两个设备之间的区别不是arch生成,而是内核名称,而不是版本。触发取消身份验证的设备的内核名称为4.16.30CUSTOM,而“良好”设备的内核名称为4.16.30-v7lCUSTOM。
我使用4.16.30-vxCUSTOM (使用破折号-)这样的自定义名称重新编译了“坏掉的”设备的内核,现在一切都正常了。
稍后编辑:default_system_version从telegrambaseclient.py文件中的内核名称(也称为system.release)中分离出来:default_system_version = re.sub(r'-.+','',system.release)
https://stackoverflow.com/questions/69538477
复制相似问题