club-penguin/club-penguin.py

72 lines
1.5 KiB
Python

import asyncio
import discord
import re
import sys
client = discord.Client()
RUDE_WORDS_PREFIXONLY = [
'ass',
'cum',
'hell',
'sex'
]
RUDE_WORDS = [
'bastard',
'bitch',
'boob',
'bukkake',
'cock',
'crap',
'cunt',
'damn',
'dick',
'dildo',
'fuck',
'jizz',
'lotion',
'lube',
'penis',
'piss',
'porn',
'scrotum',
'shit',
'slut',
'tiddy',
'tiddies',
'tits',
'titty',
'titties',
'vagina'
]
REGEX_STR = '|'.join(['+'.join(list(w)) for w in RUDE_WORDS] + [r'\b' + '+'.join(list(w)) for w in RUDE_WORDS_PREFIXONLY])
RUDE_WORDS_REGEX = re.compile(REGEX_STR, re.IGNORECASE)
@client.event
async def on_ready():
print('logged in as {0.user}'.format(client), file=sys.stderr)
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.channel.is_nsfw():
return
if RUDE_WORDS_REGEX.search(message.content):
await message.channel.send('Your Club Penguin account has been deactivated for inappropriate language.')
oldnick = message.author.nick
try:
await message.author.edit(nick="BANNED")
await asyncio.sleep(300)
await message.author.edit(nick=oldnick)
except discord.Forbidden:
print('Permissions error while trying to change nickname of {}'.format(message.author), file=sys.stderr)
with open('token') as f:
token = f.read().strip()
client.run(token)