Discord.Net.Labs SlashCommands
Работаю в Discord.Net.Labs с slash командами. До этого работал с командами с префиксом. У команд с префиксом была удобная вещь, которая помогла их раснести по разным классам и при помощи [Command("name")], программа находила необходимый метод и выполняла его.
Попытался сделать тоже самое для slash команд, но не получилось. Вот код для команд с префиксом:
var result = await commands.ExecuteAsync(context, PrefixPosition, services);
if (!result.IsSuccess)
Console.WriteLine(result.ErrorReason);
if (result.Error.Equals(CommandError.UnmetPrecondition))
await message.Channel.SendMessageAsync(result.ErrorReason);
А slash команды сделаны сейчас вот так:
switch (command.CommandName)
{
case "role-info":
await InfoMessage.SlashGetRoleInfo(command);
break;
case "server-info":
await InfoMessage.SlashGetServerInfo(command);
break;
Видел в документации, что есть InteractionService.ExecuteCommandAsync(IInteractionContext, IServiceProvider), но не смог его реализовать.