diff --git a/geeksbot/exts/user_events.py b/geeksbot/exts/user_events.py index 0d12fb3..b412227 100644 --- a/geeksbot/exts/user_events.py +++ b/geeksbot/exts/user_events.py @@ -42,30 +42,33 @@ class UserEvents(commands.Cog): @commands.Cog.listener() async def on_member_join(self, member): - data = { - 'id': member.id, - 'username': member.username, - 'discriminator': member.discriminator, - 'guilds': [f'{self.bot.api_base}/guilds/{member.guild.id}/'], - 'animated': member.is_avatar_animated(), - 'avatar': member.avatar or str(member.default_avatar), - 'bot': member.bot - } - resp = await self.bot.aio_session.post(f'{self.bot.api_base}/users/', - headers=self.bot.auth_header, - json=data) - msg = await resp.json() - if resp.status == 400 and 'user with this id already exists.' \ - in msg.get('id', []): + try: data = { 'id': member.id, - 'guilds': [f'{self.bot.api_base}/guilds/{member.guild.id}/'] + 'username': member.username, + 'discriminator': member.discriminator, + 'guilds': [f'{self.bot.api_base}/guilds/{member.guild.id}/'], + 'animated': member.is_avatar_animated(), + 'avatar': member.avatar or str(member.default_avatar), + 'bot': member.bot } - resp = await self.bot.aio_session.put(f'{self.bot.api_base}/users/{member.id}/', - headers=self.bot.auth_header, - json=data) + resp = await self.bot.aio_session.post(f'{self.bot.api_base}/users/', + headers=self.bot.auth_header, + json=data) msg = await resp.json() - user_logger.info(f'User Joined: {msg}') + if resp.status == 400 and 'user with this id already exists.' \ + in msg.get('id', []): + data = { + 'id': member.id, + 'guilds': [f'{self.bot.api_base}/guilds/{member.guild.id}/'] + } + resp = await self.bot.aio_session.put(f'{self.bot.api_base}/users/{member.id}/', + headers=self.bot.auth_header, + json=data) + msg = await resp.json() + user_logger.info(f'User Joined: {msg}') + except Exception as e: + user_logger.error(e) @commands.Cog.listener() async def on_member_remove(self, member):