Skip to content

Commit daf98d5

Browse files
committed
Added language filter on nicknames
1 parent 86e5e87 commit daf98d5

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

database.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
"{'761036747504484392': ObservedDict(value={'mod': 0, 'iroles': ObservedDict(value={}), 'roles': ObservedList(value=[]), 'star': ObservedList(value=[False, '\u2b50', 0, ObservedList(value=[]), 5]), 'disboard': ObservedList(value=[False, 0]), 'nick': ObservedList(value=[True, True, 50]), 'users': ObservedDict(value={})}), '806706495466766366': ObservedDict(value={'mod': 0, 'iroles': ObservedDict(value={}), 'roles': ObservedList(value=[]), 'star': ObservedList(value=[False, '\u2b50', 0, ObservedList(value=[]), 5]), 'disboard': ObservedList(value=[False, 0]), 'nick': ObservedList(value=[True, False, 25]), 'users': ObservedDict(value={})})}"
1+
"{'761036747504484392': ObservedDict(value={'mod': 0, 'iroles': ObservedDict(value={}), 'roles': ObservedList(value=[]), 'star': ObservedList(value=[False, '\u2b50', 0, ObservedList(value=[]), 5]), 'disboard': ObservedList(value=[False, 0]), 'nick': ObservedList(value=[True, True, 50]), 'users': ObservedDict(value={})}), '806706495466766366': ObservedDict(value={'mod': 0, 'iroles': ObservedDict(value={}), 'roles': ObservedList(value=[]), 'star': ObservedList(value=[False, '\u2b50', 0, ObservedList(value=[]), 5]), 'disboard': ObservedList(value=[False, 0]), 'nick': ObservedList(value=[True, True, 25]), 'users': ObservedDict(value={})})}"

main.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
from datetime import datetime, timedelta
1616
import math
1717
from discord.commands import permissions
18+
from profanity_filter import ProfanityFilter
19+
import spacy
20+
1821

1922
intents = discord.Intents.all()
2023
bot = discord.Bot(intents=intents)
@@ -25,6 +28,9 @@
2528

2629
onlineTime = datetime.now()
2730

31+
spacy.load('en')
32+
pf = ProfanityFilter(languages = ['en'])
33+
2834
#api limit checker
2935
r = requests.head(url="https://discord.com/api/v1")
3036
try:
@@ -976,6 +982,11 @@ def checkNick(member):
976982
if percentbad > db[str(member.guild.id)]["nick"][2]:
977983
return True
978984

985+
async def checkVulgar(member):
986+
if db[str(member.guild.id)]["nick"][1]:
987+
new = pf.censor(member.display_name)
988+
await member.edit(nick=new)
989+
979990
nick = SlashCommandGroup("nick", "Nickname commands", guild_ids=guild_ids)
980991

981992
@nick.command(description="Show the nickname filter information", guild_ids=guild_ids)
@@ -1214,6 +1225,7 @@ async def on_member_join(member):
12141225
#reset invites
12151226
invs[member.guild.id] = after
12161227
#nickname filter
1228+
await checkVulgar(member)
12171229
if checkNick(member):
12181230
await member.edit(nick="NEEDSCHANGED")
12191231

@@ -1255,6 +1267,7 @@ async def on_invite_delete(invite):
12551267

12561268
@bot.event
12571269
async def on_member_update(before, after):
1270+
await checkVulgar(after)
12581271
if checkNick(after):
12591272
await after.edit(nick=before.display_name)
12601273

0 commit comments

Comments
 (0)