Ошибка CS0411 discord.net

Рейтинг: 1Ответов: 1Опубликовано: 05.08.2023

При изучении Discord.net в visual studio 2019 столкнулся с ошибкой:

Ошибка CS0411 Аргументы типа для метода "DiscordHostBuilderExtensions.ConfigureDiscordHost (IHostBuilder, Action<HostBuilderContext, DiscordHostConfiguration>?)" не могут определяться по использованию. Попытайтесь явно определить аргументы типа. ConsoleApp2 (34 строка)

using Discord;
using Discord.Addons.Hosting;
using Discord.Commands;
using Discord.Interactions;
using Microsoft.Extensions.Primitives;
using Discord.WebSocket;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using System.IO;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        static async Task Main()
        {
            var builder = new HostBuilder()
                .ConfigureAppConfiguration(x =>
                {
                    var config = new ConfigurationBuilder()
                        .SetBasePath(Directory.GetCurrentDirectory())
                        .AddJsonFile("config.json", false, true)
                        .Build();

                    x.AddConfiguration(config);
                })
                .ConfigureLogging(x =>
                {
                    x.AddConsole();
                    x.SetMinimumLevel(LogLevel.Debug);
                })
                .ConfigureDiscordHost((context, config) =>
                {
                    config.SocketConfig = new DiscordSocketConfig
                    {
                        LogLevel = LogSeverity.Debug,
                        AlwaysDownloadUsers = false,
                        MessageCacheSize = 200
                    };

                    config.Token = context.Configuration["token"];
                })
                .UseCommandService((context, config) =>
                {
                    config.CaseSensitiveCommands = false;
                    config.LogLevel = LogSeverity.Debug;
                    config.DefaultRunMode = Discord.Commands.RunMode.Async;
                })
                .ConfigureServices((context, services) =>
                {

                })

            .UseConsoleLifetime();


            var host = builder.Build();
            using (host)
            {
                await host.RunAsync();
            }
        }
    }
}

Ответы

▲ 1Принят

Используйте либо то что требуют в описании к этому методу - указать тип клиента

.ConfigureDiscordHost<DiscordSocketClient>((context, config) =>

Либо пора переходить на более новую библиотеку работы с дискордом (4 или даже на 5)