diff --git a/snoozybot/discord_bot/commands/logs.py b/snoozybot/discord_bot/commands/logs.py index 9b0924a..fda1891 100644 --- a/snoozybot/discord_bot/commands/logs.py +++ b/snoozybot/discord_bot/commands/logs.py @@ -35,15 +35,14 @@ async def log_message_delete(event: hikari.GuildMessageDeleteEvent | hikari.Guil if isinstance(event, hikari.GuildMessageDeleteEvent): messages = [event.old_message] else: - messages = event.old_messages + messages = [m for m in event.old_messages.values() if m] for message in messages: - if message: + if message and not message.author.is_bot: audit_key = DeleteAuditKey(guild=event.guild_id, channel=event.channel_id, author=message.author.id) audit: hikari.AuditLogEntry | None = _recent_audits.get(audit_key) embed = _generate_message_embed(event, audit) - if not message.author.is_bot: - log_channel = event.get_guild().get_channel(log_channel_id) - await log_channel.send(embed=embed) + log_channel = event.get_guild().get_channel(log_channel_id) + await log_channel.send(embed=embed) @plugin.listener(hikari.GuildMessageUpdateEvent) diff --git a/snoozybot/discord_bot/lifecycle.py b/snoozybot/discord_bot/lifecycle.py index cb7ac65..b39691f 100644 --- a/snoozybot/discord_bot/lifecycle.py +++ b/snoozybot/discord_bot/lifecycle.py @@ -4,6 +4,7 @@ import hikari import lightbulb +from hikari.impl.config import CacheSettings from pydantic import SecretStr from snoozybot.config.env import envConfig @@ -21,10 +22,17 @@ | hikari.Intents.GUILD_MEMBERS | hikari.Intents.GUILD_MODERATION ) +cache_settings = CacheSettings(max_messages=3000) def create_bot(token: SecretStr, guilds: set[int]) -> lightbulb.BotApp: - bot = lightbulb.BotApp(token=token.get_secret_value(), logs=envConfig.log_level, banner=None, intents=bot_intents) + bot = lightbulb.BotApp( + token=token.get_secret_value(), + logs=envConfig.log_level, + banner=None, + intents=bot_intents, + cache_settings=cache_settings, + ) bot.default_enabled_guilds = guilds bot.load_extensions_from('snoozybot/discord_bot/commands')