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

Discord.py机器人MacOS本地运行会话易失效,如何实现24/7稳定在线?

解决Discord.py机器人会话失效及24/7在线问题

问题根源

你的Mac在AFK状态下会自动进入休眠模式,导致网络连接中断,Discord网关检测到长时间无通信后会失效当前会话;唤醒电脑后网络恢复,机器人会重新发起连接。本地运行机器人本质上无法实现24/7在线,因为电脑不可能一直保持唤醒、联网状态。

永久解决方案:部署到远程服务器

这是唯一能让机器人持续在线的方案,步骤如下:

  • 选择云服务器:比如AWS免费套餐、阿里云学生机、DigitalOcean等,最低配实例足以运行小型Discord机器人。
  • 选择服务器系统:优先选Ubuntu或Debian,操作简单且稳定性高。
  • 上传机器人代码:用scp命令直接传输,或者通过Git仓库同步代码到服务器。
  • 安装依赖环境:
    sudo apt update
    sudo apt install python3 python3-pip
    pip3 install discord.py
    
  • 用进程管理器后台运行机器人:
    推荐使用systemd(比screen更稳定,支持开机自启):
    1. 创建服务配置文件:
      sudo nano /etc/systemd/system/discord-bot.service
      
    2. 写入以下内容(替换your_username和/path/to/your/bot/folder为实际信息):
      [Unit]
      Description=Discord Bot Service
      After=network.target
      
      [Service]
      User=your_username
      WorkingDirectory=/path/to/your/bot/folder
      ExecStart=/usr/bin/python3 bot.py
      Restart=always
      RestartSec=5
      
      [Install]
      WantedBy=multi-user.target
      
    3. 启动并设置开机自启:
      sudo systemctl daemon-reload
      sudo systemctl start discord-bot.service
      sudo systemctl enable discord-bot.service
      
    完成后机器人会在后台持续运行,即使服务器重启也会自动恢复,不会出现会话失效问题。

本地临时缓解(仅用于测试,无法实现24/7)

如果只是临时测试不想部署服务器,可以关闭Mac休眠:

  • 打开「系统设置」→「显示器」,取消勾选「自动关闭显示器」(注意会增加耗电)。
  • 在终端执行命令强制保持唤醒:
    caffeinate -i
    
    该命令会让Mac保持唤醒状态,直到你按Ctrl+C终止,但电脑不能关机、断网,仅适合短时间测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 20:19:56