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

为什么我的Discord机器人无法上线?代码无报错却无法启动

Discord机器人无法上线的问题修复

核心问题

你把启动机器人的client.run(TOKEN)放在了on_ready事件函数内部,这是完全错误的逻辑:

  • client.run()是用来启动机器人、建立Discord连接的核心方法
  • on_ready事件是机器人成功连接并就绪后才会触发的回调函数
  • 当前代码陷入死循环:要触发on_ready才能执行run(),但run()没执行的话机器人根本连不上,自然无法完成上线

修复后的bot.py代码

import discord
import responses

async def send_message(message, user_message, is_private):
    try:
        response = responses.response_handle(user_message)
        await message.author.send(response) if is_private else await message.channel.send(response)
    except Exception as e:
        print(e)

def run_flea():
    TOKEN = 'my token'
    client = discord.Client(intents=discord.Intents.default())

    @client.event
    async def on_ready():
        print("Flea is now running")  # 机器人就绪后才会打印这句话

    # 把启动语句移到事件定义外面,这才是正确的位置
    client.run(TOKEN)

额外注意事项

  • 确认你的TOKEN没有输入错误或泄露
  • 如果后续机器人无法响应消息,需要在Discord开发者平台的机器人页面开启message_content权限(当前默认Intents不包含该权限)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 06:54:36