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

DSharpPlus开发的Discord Bot仅响应@提及,!前缀命令无反应求助

问题原因及解决方案

1. 未启用消息内容意图(Message Content Intent)

Discord新权限模型规定,Bot必须申请消息内容意图才能读取普通消息内容,否则仅能响应@提及的消息,这是此类问题的最常见诱因:

修复步骤:

  1. 登录Discord开发者门户,找到你的Bot应用,进入「Bot」页面
  2. 在「Privileged Gateway Intents」板块,开启「Message Content Intent」
  3. 在代码的DiscordConfiguration中补充意图配置:
    var config = new DiscordConfiguration
    {
        Token = configJson.Token,
        TokenType = TokenType.Bot,
        AutoReconnect = true,
        MinimumLogLevel = LogLevel.Debug,
        // 添加该行启用消息内容意图
        Intents = DiscordIntents.AllUnprivileged | DiscordIntents.MessageContent
    };
    

2. ConfigJson类反序列化失败

若ConfigJson类的属性名称与config.json中的键不匹配,会导致configJson.Prefix值为空,此时CommandsNext仅会启用提及前缀:

检查并修正ConfigJson类:

确保类属性与json键完全对应(大小写敏感),或添加JsonProperty特性明确映射:

namespace MyBot.Models.Generic
{
    public class ConfigJson
    {
        [JsonProperty("Token")]
        public string Token { get; set; }
        
        [JsonProperty("Prefix")]
        public string Prefix { get; set; }
    }
}

3. 其他排查方向

  • 确认config.json已被复制到输出目录:右键文件→属性→「复制到输出目录」选择「始终复制」
  • 检查Bot在服务器中是否拥有「读取消息历史」「发送消息」权限
  • 临时添加日志验证前缀读取是否正确:
    client.Logger.LogInformation(BotEventId, $"当前加载的命令前缀:{configJson.Prefix}");
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 22:15:27