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); } }