Esempio n. 1
0
 async def on_member_update(self, before: Member, after: Member):
     try:
         pass
     except Exception as e:
         f = models.Error(g=models.DBGuild.objects.get(g_id=after.guild.id),
                          cmd_string="on member update",
                          error_type=f'{type(e)}',
                          error=f'{e}',
                          traceback=traceback.format_exc())
         f.save()
         await self.notify_error_bot_owner(f, after.guild)
Esempio n. 2
0
 async def on_member_ban(self, d_g: Guild, member: Member):
     try:
         pass
     except Exception as e:
         f = models.Error(g=get_guild(d_g),
                          cmd_string="on member ban error",
                          error_type=f'{type(e)}',
                          error=f'{e}',
                          traceback=traceback.format_exc())
         f.save()
         await self.notify_error_bot_owner(f, d_g)
 async def dummy_task(self):
     for d_g in self.bot.guilds:
         d_g: Guild
         try:
             pass
             #Some function can be called here for every guild
         except Exception as e:
             d_g = self.bot.guilds[0]
             f = models.Error(g=get_guild(d_g),
                              cmd_string=f"Dummy task error {d_g.name}",
                              error_type=f'{type(e)}',
                              error=f'{e}',
                              traceback=traceback.format_exc())
             f.save()
             await self.notify_error_bot_owner(f, d_g)
Esempio n. 4
0
    async def on_raw_reaction_add(self, payload: RawReactionActionEvent):
        if payload is None:
            return

        d_g: Guild = self.bot.get_guild(payload.guild_id)
        if d_g is None:
            return
        try:

            user: Member = await d_g.fetch_member(payload.user_id)
            channel: TextChannel = d_g.get_channel(payload.channel_id)

            try:
                message: Message = await channel.fetch_message(
                    payload.message_id)
            except (Forbidden, NotFound):
                return

            emoji = payload.emoji
            try:
                reaction: Reaction = [
                    i for i in message.reactions if i.emoji.id == emoji.id
                ][0]
            except IndexError:
                return
            except AttributeError:
                try:
                    reaction: Reaction = [
                        i for i in message.reactions if i.emoji == emoji.name
                    ][0]
                except IndexError:
                    return

            #now everything is prepared

        except Exception as e:
            f = models.Error(g=models.DBGuild.objects.get(g_id=d_g.id),
                             cmd_string="on raw reaction error",
                             error_type=f'{type(e)}',
                             error=f'{e}',
                             traceback=traceback.format_exc())
            f.save()
            await self.notify_error_bot_owner(f, d_g)