aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar xithrius <[email protected]>2021-03-08 02:17:51 -0800
committerGravatar xithrius <[email protected]>2021-03-08 02:17:51 -0800
commit789689409cd437f77f27e89a1d8e4f8697f70872 (patch)
tree45330d0c017f32314c5b481d6518670735997c98
parentUsing 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.py4
-rw-r--r--bot/exts/help_channels/_cog.py21
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)