Предполагая, что вы, следуя учебным пособиям по Discord.NET , при настройке службы команд ...
Возможно, у вас есть функция HandleCommand
или что-то подобное.Он должен содержать строку кода, которая выглядит следующим образом:
if(!(message.HasStringPrefix("PREFIX", ref argPos))) return;
Что в основном означает «если это сообщение не имеет префикса в начале, выйдите из функции».(Где message
- это SocketUserMessage
, а argPos
- это int
, обычно 0)
Поставьте после этого строку кода, чтобы она выглядела следующим образом ...
//Blah
if(!(message.HasStringPrefix("PREFIX", ref argPos))) { return; }
await message.Channel.SendMessageAsync("blah");
//stuff
Но если вы хотите, чтобы бот отвечал только в том случае, если бот не находит подходящую команду для текущей команды, отправляемой пользователем, вы можете сделать это вместо:
if(!(message.HasStringPrefix("PREFIX", ref argPos))) { return; }
var context = new CommandContext(client, message);
var result = await commands.ExecuteAsync(context, argPos, service);
if(!result.IsSuccess) {
//If Failed to execute command due to unknown command
if(result.Error.Value.Equals(CommandError.UnknownCommand)) {
await message.Channel.SendMessageAsync("blah");
} else {
//blah
}
}