如何在Windows 10系统中设置每日18点自动运行Python编写的Telegram bot脚本
Windows 10 每日18点自动运行Python Telegram Bot 操作指南
以下提供两种实现方案,优先推荐使用系统自带的任务计划程序,稳定性更高无需额外依赖。
方案一:Windows 任务计划程序(推荐)
前置准备
先确认脚本和Python环境可以正常运行:
打开CMD执行完整启动命令测试,例如:C:\Users\你的用户名\AppData\Local\Programs\Python\Python39\python.exe D:\my_bot\tg_bot.py
确认没有报错、Bot可以正常启动后,把这个完整的Python路径和脚本路径记下来备用。
具体操作步骤
- 按下
Win+R组合键,输入taskschd.msc回车,直接打开任务计划程序 - 点击右侧菜单栏的「创建基本任务」,给任务命名如「每日18点启动TG Bot」,填写描述后点击下一步
- 触发器选择「每天」,下一步,开始时间设置为18:00:00,勾选「每隔1天发生一次」,点击下一步
- 操作类型选择「启动程序」,点击下一步
- 按以下规则填写参数:
- 程序或脚本:填写你刚才记录的Python完整路径,比如
C:\Users\你的用户名\AppData\Local\Programs\Python\Python39\python.exe - 添加参数:填写你的Bot脚本完整路径,比如
D:\my_bot\tg_bot.py - 起始于:填写脚本所在的文件夹路径,比如
D:\my_bot\,避免脚本内相对路径读取失败
- 程序或脚本:填写你刚才记录的Python完整路径,比如
- 勾选「点击完成时打开任务属性对话框」,点击完成
- 在弹出的属性窗口做优化配置:
- 切换到「条件」标签:取消勾选「只有计算机使用交流电源时才启动此任务」(笔记本用户建议),勾选「只有在网络可用时才启动此任务」
- 切换到「设置」标签:勾选「如果任务失败,按以下频率重新启动」,设置间隔1分钟、尝试重启3次,避免偶发启动失败
- 如果不需要弹出CMD黑框,可以把「程序或脚本」里的
python.exe替换成同目录下的pythonw.exe,即可后台静默运行
方案二:Python内置定时逻辑(适合测试场景)
如果不想用系统工具,可以用APScheduler库在脚本内实现定时,缺点是需要一直挂着这个调度脚本不能关闭,稳定性不如系统任务计划。
- 先安装依赖:
pip install apscheduler - 修改你的Bot脚本,添加调度逻辑:
from apscheduler.schedulers.blocking import BlockingScheduler # 这里导入你原来的Bot启动函数 from your_bot_code import start_bot if __name__ == "__main__": # 指定时区避免时间偏差 scheduler = BlockingScheduler(timezone="Asia/Shanghai") # 设置每天18点触发启动逻辑 scheduler.add_job(start_bot, "cron", hour=18, minute=0) print("调度器已启动,等待18点自动运行Bot") try: scheduler.start() except KeyboardInterrupt: exit()
通用注意事项
- 配置完成后可以先把触发时间改成比当前时间晚1-2分钟,测试启动逻辑正常后再改回18点
- 脚本内所有读取文件、加载配置的路径尽量用绝对路径,避免运行时找不到资源
- 如果需要Bot持续运行,不要设置任务计划的自动停止超时时间,或者在脚本内添加保活逻辑
内容的提问来源于stack exchange,提问作者Anna Maria
相关产品推荐
相关产品推荐

