Exemple #1
0
        private async Task CensorMessages(SocketMessage msg)
        {
            if (_config.BadWordChannelWhitelist.Contains(msg.Channel.Id))
            {
                return;
            }

            var user = msg.Author as SocketGuildUser;

            if (user == null)
            {
                return;
            }

            if (user.IsWebhook || user.IsBot || _config.IsExempt(user))
            {
                return;
            }

            if (!msg.Embeds.Any() && StringContainsWord(msg.Content))
            {
                try { await msg.DeleteAsync(); }
                // TODO: This error is thrown when a message contains multiple banned words
                catch (HttpException) { }
            }
        }
Exemple #2
0
        private async Task BlockInvites(SocketMessage msg)
        {
            var guild = _client.GetGuild(_config.GuildId);

            var user = msg.Author as SocketGuildUser;

            if (user.IsWebhook || user.IsBot || _config.IsExempt(user))
            {
                return;
            }


            if (MessageContainsInvite(msg.Content))
            {
                var builder = new EmbedBuilder()
                              .WithTitle("Your message was Deleted")
                              .WithDescription($"Your message was deleted because it may have contained a Invite\n\n{msg.Content}")
                              .WithColor(Color.Red)
                              .WithCurrentTimestamp()
                              .WithFooter("This message was sent by a bot");

                await msg.DeleteAsync();

                await msg.Author.SendMessageAsync(embed : builder.Build());
            }
        }