from discord import Member, Message from discord import utils as ds_utils from discord.ext import commands from libbot.pycord.classes import PycordBot from modules.database import col_users from modules.utils import config_get class Logger(commands.Cog): def __init__(self, client: PycordBot): self.client = client @commands.Cog.listener() async def on_message(self, message: Message): if ( (message.author != self.client.user) and (message.author.bot is False) and (message.author.system is False) ): if col_users.find_one({"user": message.author.id}) is None: user = {} defaults = await config_get("user", "defaults") user["user"] = message.author.id for key in defaults: user[key] = defaults[key] col_users.insert_one(document=user) @commands.Cog.listener() async def on_member_join(self, member: Member): welcome_chan = ds_utils.get( self.client.get_guild(await config_get("guild")).channels, id=await config_get("welcome", "channels", "text"), ) rules_chan = ds_utils.get( self.client.get_guild(await config_get("guild")).channels, id=await config_get("rules", "channels", "text"), ) if ( (member != self.client.user) and (member.bot is False) and (member.system is False) ): await welcome_chan.send( content=(await config_get("welcome", "messages")).format( mention=member.mention, rules=rules_chan.mention ) ) if col_users.find_one({"user": member.id}) is None: user = {} defaults = await config_get("user", "defaults") user["user"] = member.id for key in defaults: user[key] = defaults[key] col_users.insert_one(document=user) def setup(client: PycordBot): client.add_cog(Logger(client))