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.
Diffstat (limited to '')
| -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) | 
