Telethon客户端通过会话文件登录不适用于plesk调度任务,但它通过SSH正常运行



我有一个在plesk(debian 10(上运行的VPS。我用电传为telegram创建了一个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()之前加载会话吗?这样我就可以确保它被加载了?

非常感谢您的帮助。

问题很可能是路径问题。请尝试使用绝对路径,因为会话文件是在调用脚本的文件夹中创建的。

最新更新