Discord.NET ошибка TypeConverter
Когда запускаю бота, мне выдает
No type TypeConverter is defined for this Discord.WebSocket.SocketMessage Arg_ParamName_Name
Код команды
[SlashCommand("reupload", "Загрузить вашу песню на Viaps")]
public async Task Reupload(SocketMessage msg)
{
var file = msg.Attachments;
string url = file.ElementAt(0).Url;
string name = file.ElementAt(0).Filename;
await RespondAsync($"URL: {url}\nName: {name}");
}
Код Program.cs
public static void Main() => new TestBot().MainAsync().Wait();
public static DiscordSocketClient client;
public static InteractionService commands;
public static Microsoft.Extensions.Logging.ILogger _logger;
public async Task MainAsync()
{
InitLogger();
var config = new DiscordSocketConfig { GatewayIntents = GatewayIntents.All };
client = new DiscordSocketClient(new DiscordSocketConfig { WebSocketProvider = Discord.Net.Providers.WS4Net.WS4NetProvider.Instance });
using var services = ConfigureServices();
commands = services.GetRequiredService<InteractionService>();
client.Ready += ClientReady;
client.Log += LogAsync;
commands.Log += LogAsync;
await services.GetRequiredService<CommandHandler>().InitializeAsync();
await client.LoginAsync(TokenType.Bot, "bot_token");
await client.StartAsync();
await Task.Delay(-1);
}
private async Task ClientReady()
{
_logger.LogInformation($"Logged as {client.CurrentUser}");
}
static ServiceProvider ConfigureServices()
=> new ServiceCollection()
.AddSingleton(client)
.AddSingleton(x => new InteractionService(x.GetRequiredService<DiscordSocketClient>()))
.AddSingleton<CommandHandler>()
.BuildServiceProvider();
public void InitLogger()
{
var loggerFactory = new LoggerFactory();
var log = new LoggerConfiguration()
.WriteTo.Console()
.WriteTo.File($"logs/log-{DateTime.Now.ToString("dd.MM.yy_HH.mm.log")}")
.CreateLogger();
loggerFactory.AddSerilog(log);
_logger = loggerFactory.CreateLogger<TestBot>();
}
public async Task LogAsync(LogMessage msg)
{
if (msg.Message is not null)
switch (msg.Severity)
{
case LogSeverity.Error:
_logger.LogError(msg.Message);
break;
case LogSeverity.Warning:
_logger.LogWarning(msg.Message);
break;
case LogSeverity.Info:
_logger.LogInformation(msg.Message);
break;
case LogSeverity.Critical:
_logger.LogCritical(msg.Message);
break;
case LogSeverity.Verbose:
_logger.LogDebug(msg.Message);
break;
case LogSeverity.Debug:
_logger.LogDebug(msg.Message);
break;
}
}
Я даже без понятия в чем проблема