Exemple #1
0
        private async Task HandleCommandAsync(SocketMessage arg)
        {
            try
            {
                var message = arg as SocketUserMessage;
                if (message.Author.IsBot) return;

                _ = Task.Run(() => _onMessage.MessageContainsAsync(arg));
                int argPos = 0;
                if (message.HasStringPrefix(Global.Config.CommandPrefix, ref argPos) || message.HasMentionPrefix(_client.CurrentUser, ref argPos))
                {
                    var context = new SocketCommandContext(_client, message);

                    if (await WordFilter.CheckForNaughtyWords(message.Content))
                    {
                        await WordFilter.PunishNaughtyWord(context);
                        return;
                    }
                    if (await BlacklistUser.CheckBlacklist(context.Message.Author)) return;

                    var result = await _commands.ExecuteAsync(context, argPos, _services);

                    if (!result.IsSuccess) await Logger.LogToConsole(result, context);

                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }