diff options
| author | 2021-03-08 02:17:51 -0800 | |
|---|---|---|
| committer | 2021-03-08 02:17:51 -0800 | |
| commit | 789689409cd437f77f27e89a1d8e4f8697f70872 (patch) | |
| tree | 45330d0c017f32314c5b481d6518670735997c98 | |
| parent | Using http methods to edit/send messages. (diff) | |
Moved cache, reworked logic so message sends on cog reload.
| -rw-r--r-- | bot/exts/help_channels/_caches.py | 4 | ||||
| -rw-r--r-- | bot/exts/help_channels/_cog.py | 21 |
2 files changed, 14 insertions, 11 deletions
diff --git a/bot/exts/help_channels/_caches.py b/bot/exts/help_channels/_caches.py index 4cea385b7..9986ddc09 100644 --- a/bot/exts/help_channels/_caches.py +++ b/bot/exts/help_channels/_caches.py @@ -17,3 +17,7 @@ question_messages = RedisCache(namespace="HelpChannels.question_messages") # activity and False being other activity. # RedisCache[discord.TextChannel.id, bool] unanswered = RedisCache(namespace="HelpChannels.unanswered") + +# This cache keeps track of the dynamic message ID for +# the continuously updated message in the #How-to-get-help channel. +dynamic_message = RedisCache(namespace="HelpChannels.dynamic_message") diff --git a/bot/exts/help_channels/_cog.py b/bot/exts/help_channels/_cog.py index 11e3aef59..0c524d526 100644 --- a/bot/exts/help_channels/_cog.py +++ b/bot/exts/help_channels/_cog.py @@ -74,9 +74,6 @@ class HelpChannels(commands.Cog): self.last_notification: t.Optional[datetime] = None - # Caching the message object for the dynamic message. - self.dynamic_message_cache = async_rediscache.RedisCache(namespace="Dynamic Message") - self.dynamic_message: t.Optional[int] = None self.available_help_channels: t.Set[discord.TextChannel] = set() @@ -292,7 +289,7 @@ class HelpChannels(commands.Cog): # Acquiring the dynamic message ID, if it exists within the cache. log.trace("Attempting to fetch How-to-get-help dynamic message ID.") - self.dynamic_message = await self.dynamic_message_cache.get("How-to-get-help Dynamic Message ID") + self.dynamic_message = await _caches.dynamic_message.get("message_id") # Getting channels that need to be included in the dynamic message. await self.update_available_help_channels() @@ -508,10 +505,12 @@ class HelpChannels(commands.Cog): log.trace("Help channels have changed, dynamic message has been edited.") except discord.NotFound: pass - else: - log.trace("No How-to-get-help dynamic message could be found in the Redis cache. Setting a new one.") - new_dynamic_message = await self.bot.http.send_message( - constants.Channels.how_to_get_help, available_channels - ) - self.dynamic_message = new_dynamic_message["id"] - await self.dynamic_message_cache.set("How-to-get-help Dynamic Message ID", self.dynamic_message) + else: + return + + log.trace("No How-to-get-help dynamic message could be found in the Redis cache. Setting a new one.") + new_dynamic_message = await self.bot.http.send_message( + constants.Channels.how_to_get_help, available_channels + ) + self.dynamic_message = new_dynamic_message["id"] + await _caches.dynamic_message.set("message_id", self.dynamic_message) |