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