Beispiel #1
0
 async def on_guild_emojis_update(self, guild, before, after):
     if len(before) > len(after):
         self.upsert(rgetattr(guild, "id", -1), "emojis_removed")
     elif len(before) < len(after):
         self.upsert(rgetattr(guild, "id", -1), "emojis_added")
     else:
         self.upsert(rgetattr(guild, "id", -1), "emojis_updated")
Beispiel #2
0
 async def on_message(self, message: discord.Message):
     if message.author.id == self.bot.user.id:
         self.upsert(rgetattr(message, "guild.id", -1), "msg_sent")
     if message.guild is None:
         self.upsert(rgetattr(message, "channel.id", -1), "dms_received")
     self.upsert(
         rgetattr(message, "guild.id", rgetattr(message, "channel.id", -1)),
         "messages_read")
Beispiel #3
0
    async def on_command_error(self, ctx, error, unhandled_by_cog=False):
        if not unhandled_by_cog:
            if hasattr(ctx.command, "on_error"):
                return

            if ctx.cog:
                if commands.Cog._get_overridden_method(
                        ctx.cog.cog_command_error) is not None:
                    return
        if isinstance(error, commands.CommandInvokeError):
            self.upsert(
                rgetattr(ctx, "guild.id", rgetattr(ctx, "channel.id", -1)),
                "command_error")
Beispiel #4
0
 async def on_voice_state_update(self, member, before: discord.VoiceState,
                                 after: discord.VoiceState):
     if not after.channel:
         return
     guild = after.channel.guild
     bot_in_room = guild.me in after.channel.members
     if bot_in_room:
         self.upsert(rgetattr(member, "guild.id", -1),
                     "users_joined_bot_music_room")
Beispiel #5
0
 async def on_guild_role_delete(self, role):
     self.upsert(rgetattr(role.guild, "id", -1), "roles_removed")
Beispiel #6
0
 async def on_guild_role_create(self, role):
     self.upsert(rgetattr(role.guild, "id", -1), "roles_added")
Beispiel #7
0
 async def on_reaction_remove(self, reaction, user):
     self.upsert(rgetattr(user, "guild.id", user.id), "reactions_removed")
Beispiel #8
0
 async def on_message_edit(self, before, after):
     self.upsert(
         rgetattr(after, "guild.id", rgetattr(after, "channel.id", -1)),
         "messages_edited")
Beispiel #9
0
 async def on_message_delete(self, message):
     self.upsert(
         rgetattr(message, "guild.id", rgetattr(message, "channel.id", -1)),
         "messages_deleted")
Beispiel #10
0
 async def on_member_remove(self, member):
     self.upsert(rgetattr(member, "guild.id", -1), "members_left")
Beispiel #11
0
 async def on_command(self, ctx: commands.Context):
     self.upsert(rgetattr(ctx, "guild.id", rgetattr(ctx, "channel.id", -1)),
                 "processed_commands")
Beispiel #12
0
 async def on_guild_remove(self, guild: discord.Guild):
     self.upsert(rgetattr(guild, "id", -1), "guild_remove")
Beispiel #13
0
 async def on_guild_join(self, guild: discord.Guild):
     self.upsert(rgetattr(guild, "id", -1), "guild_join")
Beispiel #14
0
 async def on_red_audio_track_start(self, guild, track, requester):
     if not Query:
         return
     self.upsert(rgetattr(guild, "id", -1), "tracks_played")
     query = Query.process_input(track.uri)
     if track.is_stream:
         self.upsert(rgetattr(guild, "id", -1), "streams_played")
     if track.is_stream and query.is_youtube:
         self.upsert(rgetattr(guild, "id", -1), "yt_streams_played")
     if track.is_stream and query.is_mixer:
         self.upsert(rgetattr(guild, "id", -1), "mixer_streams_played")
     if track.is_stream and query.is_twitch:
         self.upsert(rgetattr(guild, "id", -1), "ttv_streams_played")
     if track.is_stream and query.is_other:
         self.upsert(rgetattr(guild, "id", -1), "other_streams_played")
     if query.is_youtube:
         self.upsert(rgetattr(guild, "id", -1), "youtube_tracks")
     if query.is_soundcloud:
         self.upsert(rgetattr(guild, "id", -1), "soundcloud_tracks")
     if query.is_bandcamp:
         self.upsert(rgetattr(guild, "id", -1), "bandcamp_tracks")
     if query.is_vimeo:
         self.upsert(rgetattr(guild, "id", -1), "vimeo_tracks")
     if query.is_mixer:
         self.upsert(rgetattr(guild, "id", -1), "mixer_tracks")
     if query.is_twitch:
         self.upsert(rgetattr(guild, "id", -1), "twitch_tracks")
     if query.is_other:
         self.upsert(rgetattr(guild, "id", -1), "other_tracks")
Beispiel #15
0
 async def on_guild_role_update(self, before, after):
     self.upsert(rgetattr(after.guild, "id", -1), "roles_updated")
Beispiel #16
0
 async def on_member_join(self, member):
     self.upsert(rgetattr(member, "guild.id", -1), "new_members")
Beispiel #17
0
 async def on_member_ban(self, guild, user):
     self.upsert(rgetattr(guild, "id", -1), "members_banned")
Beispiel #18
0
 async def on_red_audio_track_start(self, guild, track, requester):
     if not Query:
         return
     self.upsert(rgetattr(guild, "id", -1), "tracks_played")
     cog = self.bot.get_cog("Audio")
     if hasattr(cog, "local_folder_current_path"):
         query = Query.process_input(
             query=track.uri,
             _local_folder_current_path=cog.local_folder_current_path)
     else:
         query = Query.process_input(query=track.uri)
     if track.is_stream:
         self.upsert(rgetattr(guild, "id", -1), "streams_played")
     if track.is_stream and query.is_youtube:
         self.upsert(rgetattr(guild, "id", -1), "yt_streams_played")
     if track.is_stream and query.is_mixer:
         self.upsert(rgetattr(guild, "id", -1), "mixer_streams_played")
     if track.is_stream and query.is_twitch:
         self.upsert(rgetattr(guild, "id", -1), "ttv_streams_played")
     if track.is_stream and query.is_other:
         self.upsert(rgetattr(guild, "id", -1), "other_streams_played")
     if query.is_youtube:
         self.upsert(rgetattr(guild, "id", -1), "youtube_tracks")
     if query.is_soundcloud:
         self.upsert(rgetattr(guild, "id", -1), "soundcloud_tracks")
     if query.is_bandcamp:
         self.upsert(rgetattr(guild, "id", -1), "bandcamp_tracks")
     if query.is_vimeo:
         self.upsert(rgetattr(guild, "id", -1), "vimeo_tracks")
     if query.is_mixer:
         self.upsert(rgetattr(guild, "id", -1), "mixer_tracks")
     if query.is_twitch:
         self.upsert(rgetattr(guild, "id", -1), "twitch_tracks")
     if query.is_other:
         self.upsert(rgetattr(guild, "id", -1), "other_tracks")