Example #1
0
        public async Task OnMessageEdited(Cacheable <IMessage, ulong> message, SocketMessage m, ISocketMessageChannel channel)
        {
            if (m is not SocketUserMessage msg)
            {
                return;
            }
            if (msg.Author.IsBot)
            {
                return;
            }
            IMessage message2 = await message.GetOrDownloadAsync();

            if (message2.Content != msg.Content && channel is SocketTextChannel textChannel)
            {
                if (Extensions.GetLogChannel(textChannel.Guild) != null && channel != Extensions.GetLogChannel(textChannel.Guild))
                {
                    if (DiscordStaff.Get(textChannel.Guild.Id, "u-" + msg.Author.Id).Count <= 0 ||
                        (textChannel.Guild.GetUser(msg.Author.Id).Roles.Count > 1 &&
                         DiscordStaff.Get(textChannel.Guild.Id, "r-" + textChannel.Guild.GetUser(msg.Author.Id).Roles.Where(x => x.IsEveryone == false).OrderBy(x => x.Position).First().Id).Count > 0))
                    {
                        AutoMod mod = new AutoMod(_client);
                        await mod.FilterMessage(msg, textChannel);
                    }
                }
            }
        }
        public async Task OnMessageReceived(SocketMessage m)
        {
            if (!(m is SocketUserMessage msg))
            {
                return;
            }

            bool badMessage = false;

            if (msg.Author.IsBot)
            {
                return;
            }

            if (msg.Channel is SocketTextChannel channel)
            {
                if (Extensions.GetLogChannel(channel.Guild) != null && channel != Extensions.GetLogChannel(channel.Guild))
                {
                    if (DiscordStaff.Get(channel.Guild.Id, "u-" + msg.Author.Id).Count <= 0 || (channel.Guild.GetUser(msg.Author.Id).Roles.Count > 1 && DiscordStaff.Get(channel.Guild.Id, "r-" + channel.Guild.GetUser(msg.Author.Id).Roles.Where(x => x.IsEveryone == false).OrderBy(x => x.Position).First().Id).Count > 0))
                    {
                        AutoMod mod = new AutoMod(_client);
                        badMessage = await mod.FilterMessage(msg, channel);
                    }
                }
            }
            if (!badMessage)
            {
                await HandleCommand(msg);
            }
        }