You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决PythonAnywhere上Always-on任务持续运行的问题?

解决PythonAnywhere Always-on任务中Telethon脚本启动失败的问题

问题核心

你的Telethon脚本在PythonAnywhere的Always-on任务中启动失败,日志提示Please enter your phone (or bot token): Unexpected error: EOF when reading a line,原因是:

  • Telethon首次启动需要交互式输入手机号/验证码生成会话文件(session_name.session)
  • Always-on任务运行在无交互环境中,无法响应输入请求,导致脚本因EOF错误终止
  • 文件页面或bash控制台是交互式环境,所以能正常完成验证并运行脚本

解决方案

1. 预先生成会话文件

在PythonAnywhere的交互式环境中运行一次脚本,完成验证流程:

  • 打开bash控制台,执行完整的脚本启动命令(比如python3.10 /home/你的用户名/你的脚本文件名.py)
  • 按照提示输入手机号、验证码,完成后脚本会在同目录下生成session_name.session文件
  • 确认脚本能正常运行后,按Ctrl+C终止

2. 修正Always-on任务的启动命令

之前的命令路径不完整,必须指定到具体脚本文件:

python3.10 -u /home/你的用户名/你的脚本文件名.py
  • -u参数:强制脚本输出实时刷新到日志,方便排查问题
  • 替换/home/你的用户名/你的脚本文件名.py为你实际的脚本路径

3. 验证任务运行

保存Always-on任务设置后,等待任务启动:

  • 查看任务日志,如果显示Listening for messages...,说明脚本已成功加载会话文件,无需再次输入
  • 若仍有错误,检查会话文件是否和脚本在同一目录,以及API信息、群组配置是否正确

脚本注意事项

你的现有脚本逻辑没问题,但需确认以下配置项已正确填写:

  • api_id和api_hash:替换为你的Telegram开发者账号信息
  • specific_user、source_group、destination_group:替换为实际的用户名/群组ID
  • keywords:清理空字符串(比如''),避免无意义的匹配

内容的提问来源于stack exchange,提问作者coopec2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 21:42:44