如何解决Telethon 客户端通过存在会话文件登录不适用于 plesk 计划任务,但它通过 SSH 正常运行
我有一个在 plesk (debian 10) 上运行的 VPS。我已经使用 Telethon 为电报创建了一个 python 脚本。
我第一次使用 ssh 运行脚本,以便输入在我手机上收到的代码,这样它就创建了一个 .session 文件,并且不需要代码以供将来执行。
脚本按预期执行,不再需要代码验证,因为 .session 文件存在于目录中。
我尝试通过 plesk 为脚本安排 cron 任务,但它不起作用,脚本就像需要代码一样,而且我在手机上收到代码验证,因此它显示为 .session文件不在那里。
from telethon.sync import TelegramClient
api_id = 'xxxxxx'
api_hash = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
phone = '+1xxxxxxx' #the same as session name: '+1xxxxxxxx.session'
client = TelegramClient('+15812571726',api_id,api_hash)
client.connect()
if not client.is_user_authorized():
client.send_code_request(phone)
client.sign_in(phone,input('Enter the code: '))
....do stuff
有谁知道为什么会失败?我可以在调用 client.connect()
之前加载会话,这样我就可以确定它已加载吗?
非常感谢您的帮助。
解决方法
该问题很可能是路径问题。 尝试使用绝对路径,因为会话文件是在调用脚本的文件夹中创建的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。