private async Task ClientOnMessageReceived(SocketMessage arg) { var msg = arg as SocketUserMessage; if (msg?.Author.IsBot ?? true) { return; } var context = new SocketCommandContext(_client, msg); int argPos = 0; if (msg.HasCharPrefix('&', ref argPos)) { var result = await _commands.ExecuteAsync(context, argPos, _provider); if (!result.IsSuccess && result.Error != CommandError.UnknownCommand) { await context.Channel.SendMessageAsync(result.ErrorReason); } else if (result.Error == CommandError.UnknownCommand) { await context.Channel.SendMessageAsync("That command doesn't exist, please use ``&help`` to see all commands."); } } }
private async Task HandleCommandAsync(SocketMessage msg) { var message = msg as SocketUserMessage; if (message == null) { return; } int argPos = 0; if (!(message.HasCharPrefix('!', ref argPos)) || message.HasMentionPrefix(Client.CurrentUser, ref argPos) || message.Author.IsBot) { return; } var context = new SocketCommandContext(Client, message); await Commands.ExecuteAsync(context : context, argPos : argPos, services : null); }