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

UptimeRobot保活时Discord机器人未在Discord端上线问题求助

UptimeRobot显示在线但Discord机器人未上线排查方案

出现这个问题的核心原因是:你当前的Flask保活服务和Discord机器人主逻辑是互相独立的线程,UptimeRobot只能探测到8000端口的Flask服务是否存活,根本感知不到Discord机器人的实际连接状态,所以会出现监控误报。

首先排查现有代码的显性问题

  • 你贴出的Flask代码存在语法错误:main()函数下的return "Your Bot Is Ready"没有正确缩进,Python靠缩进识别代码块,这段代码如果直接运行会直接抛语法错误,Flask服务根本无法正常响应。如果你的运行环境里代码也是这个缩进,先把缩进修正。
  • 确认keep_alive()的调用位置:Discord机器人的bot.run(TOKEN)是阻塞调用,如果你把keep_alive()写在bot.run()后面,这行代码永远不会执行。你现在UptimeRobot能探测到服务在线,说明这个调用位置大概率是对的,但还是要二次确认。
  • 检查控制台运行日志:如果机器人启动时抛出TOKEN错误、权限不足、依赖版本不兼容、Intents未开启这类错误,只会导致机器人线程崩溃,完全不会影响Flask线程运行,这是监控误报最常见的场景。重点排查这几个高频错误点:
    • Discord开发者后台有没有开启Message Content Intent开关,discord.py 2.0以上版本不开这个开关机器人无法正常连接
    • 机器人TOKEN有没有复制错,有没有泄露后被平台重置
    • 依赖版本是否匹配,比如discord.py的版本和你写的代码语法是否兼容

修复保活逻辑,避免监控误报

把原来的保活代码改成带机器人状态检测的版本,只有机器人真的连上Discord的时候才返回200状态码,断开就返回503,让UptimeRobot能真实感知机器人状态:

from flask import Flask
from threading import Thread
import discord
from discord.ext import commands

app = Flask('')
# 全局标记机器人Discord连接状态
bot_is_online = False

# 按你自己的需求配置机器人intents
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)

@app.route('/')
def main():
    if bot_is_online:
        return "Your Bot Is Ready", 200
    return "Bot Disconnected From Discord", 503

def run():
    # 关闭debug模式,避免多进程重载导致的异常
    app.run(host="0.0.0.0", port=8000, debug=False)

def keep_alive():
    server = Thread(target=run)
    # 设为守护线程,避免机器人退出后Flask线程残留占用端口
    server.daemon = True
    server.start()

@bot.event
async def on_ready():
    global bot_is_online
    bot_is_online = True
    print(f'机器人已登录:{bot.user}')

@bot.event
async def on_disconnect():
    global bot_is_online
    bot_is_online = False

if __name__ == "__main__":
    keep_alive()
    # 替换成你自己的机器人TOKEN
    bot.run("YOUR_BOT_TOKEN")

最后调整UptimeRobot配置

把监控的告警判定条件从「端口可连通」改成「HTTP响应状态码为200」,避免Flask线程存活但机器人已经断开的情况下误报在线。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 10:24:22