Example #1
0
        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.");
                }
            }
        }
Example #2
0
        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);
        }