Files
aw-bot/bot/events_handlers/member_events.py

42 lines
1.1 KiB
Python

from bot.utils import generate_random_nickname, is_valid_username, is_numeric_name
from database import user_has_role
import discord
SPAM_ROLE_ID = 1350511935677927514
async def handle_member_join(member):
name_to_check = member.name
if member.display_name:
name_to_check = member.display_name
if (
len(name_to_check) < 3
or not is_valid_username(name_to_check)
or is_numeric_name(name_to_check)
):
new_nick = generate_random_nickname()
await member.edit(nick=new_nick)
if user_has_role(member.id):
spam_role = discord.utils.get(member.guild.roles, id=SPAM_ROLE_ID)
if spam_role:
await member.add_roles(spam_role)
async def handle_member_update(before, after):
name_to_check = after.name
if after.nick:
name_to_check = after.nick
if (
len(name_to_check) < 3
or not is_valid_username(name_to_check)
or is_numeric_name(name_to_check)
):
new_nick = generate_random_nickname()
await after.edit(nick=new_nick)