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

Discord Bot已运行但命令无响应 技术求助

Discord Bot无命令响应问题排查与修复

你的Bot在线但不响应命令,核心存在两个问题:

  • 事件函数命名错误:Discord.py框架仅识别特定的事件函数名,消息监听事件的正确名称是on_message,而非你自定义的hello_message,框架不会触发非标准命名的事件函数。
  • Intents权限缺失:默认的discord.Intents.default()不包含读取消息内容的权限,必须手动开启message_content意图,同时需在Discord开发者后台开启对应权限开关。

修正后的完整代码

import os
import discord

TOKEN = os.getenv('TOKEN')

# 初始化包含消息内容权限的Intents
intents = discord.Intents.default()
intents.message_content = True

client = discord.Client(intents=intents)

@client.event
async def on_ready():
    print(f'{client.user} is now running!!')

@client.event
async def on_message(ctx):
    if ctx.author == client.user:
        return
    if ctx.content.startswith('$hello'):
        await ctx.channel.send('Hello there!!!')

if __name__ == "__main__":
    client.run(TOKEN)

必须完成的额外操作

登录Discord开发者平台,找到你的Bot应用:

  1. 进入「Bot」页面
  2. 滚动到「Privileged Gateway Intents」区域
  3. 开启「Message Content Intent」并保存设置
  4. 重启Bot服务

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 16:53:16