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

Discord机器人无法启动:找不到DiscordClient与LogMessageEventArgs类型

解决Discord机器人报错:找不到'DiscordClient'和'LogMessageEventArgs'

你踩的这个坑其实是Discord.NET版本更新带来的API变动——旧版本里的DiscordClient和LogMessageEventArgs早就被新版本给换掉啦!现在Discord.NET v2.0+的版本里,这些类型已经被移除,取而代之的是新的API,所以编译器才会报找不到类型的错误。

下面给你整理好修正后的代码,以及关键的修改要点:

第一步:确认安装正确的NuGet包

首先确保你在项目里安装了这两个必要的NuGet包:

  • Discord.Net(核心库)
  • Discord.Net.WebSocket(用于连接Discord网关的WebSocket客户端)

第二步:修正后的登录功能代码

using Discord;
using Discord.WebSocket;
using System;
using System.Threading.Tasks;

namespace DiscordBot
{
    class Program
    {
        private DiscordSocketClient _client;

        static void Main(string[] args)
        {
            // 启动异步登录逻辑,避免主线程阻塞
            new Program().RunBotAsync().GetAwaiter().GetResult();
        }

        public async Task RunBotAsync()
        {
            // 用DiscordSocketClient替代旧的DiscordClient
            _client = new DiscordSocketClient();

            // 日志监听:现在直接接收LogMessage对象,替代旧的LogMessageEventArgs
            _client.Log += LogMessage;

            // 这里替换成你自己的机器人Token(从Discord开发者平台获取)
            string botToken = "你的机器人Token";

            // 登录并启动客户端
            await _client.LoginAsync(TokenType.Bot, botToken);
            await _client.StartAsync();

            // 让程序保持运行,不会直接退出
            await Task.Delay(-1);
        }

        // 日志处理方法,接收LogMessage参数
        private Task LogMessage(LogMessage message)
        {
            Console.WriteLine($"[{message.Severity}] {message.Source}: {message.Message}");
            return Task.CompletedTask;
        }
    }
}

关键修改点说明

  • 替换核心客户端类型:旧的DiscordClient换成了DiscordSocketClient,它在Discord.WebSocket命名空间下,所以需要添加这个命名空间引用
  • 日志事件更新:原来的LogMessageEventArgs被简化成了LogMessage对象,日志回调方法直接接收这个对象即可
  • 异步逻辑调整:Discord.NET的绝大多数操作都是异步的,所以把登录逻辑放到了异步方法RunBotAsync里,主线程通过GetAwaiter().GetResult()来等待异步任务完成,避免程序直接退出

额外注意事项

  • 一定要确保你用的是从Discord开发者平台获取的有效机器人Token,不要把Token泄露给其他人
  • 如果之后要给机器人添加命令功能,还需要安装Discord.Net.Commands包并配置命令服务,不过仅实现登录功能的话上面的代码就足够运行了
  • 尽量使用Discord.NET的最新稳定版,避免版本兼容问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:09:23