diff options
| author | 2020-05-06 23:35:20 -0700 | |
|---|---|---|
| committer | 2020-06-13 11:21:07 -0700 | |
| commit | fd4bed07a08a5fdbd482345c99838131dba45e98 (patch) | |
| tree | e310bd84480fe60fd160402a2799c636c0beb0a4 | |
| parent | Code block: move bot message retrieval to a separate function (diff) | |
Code block: edit instructions if edited message is still invalid
Editing instructions means the user will always see what is currently
relevant to them. Sometimes an incorrect edit could result in a
different problem that was not mentioned in the original instructions.
This change also fixes detection of fixed messages by using the same
detection logic as the original `on_message`. Previously, it considered
an edited message without code blocks to be fixed.
| -rw-r--r-- | bot/cogs/codeblock/cog.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/bot/cogs/codeblock/cog.py b/bot/cogs/codeblock/cog.py index 276bf8f9b..5844f4d16 100644 --- a/bot/cogs/codeblock/cog.py +++ b/bot/cogs/codeblock/cog.py @@ -8,7 +8,6 @@ from discord.ext.commands import Bot, Cog from bot.cogs.token_remover import TokenRemover from bot.constants import Categories, Channels, DEBUG_MODE from bot.utils.messages import wait_for_deletion -from . import parsing from .instructions import get_instructions log = logging.getLogger(__name__) @@ -136,11 +135,14 @@ class CodeBlockCog(Cog, name="Code Block"): return # Parse the message to see if the code blocks have been fixed. - code_blocks = parsing.find_code_blocks(payload.data.get("content")) + content = payload.data.get("content") + instructions = get_instructions(content) + bot_message = await self.get_sent_instructions(payload) - # If the message is fixed, delete the bot message and the entry from the id dictionary. - if not code_blocks: + if not instructions: log.trace("User's incorrect code block has been fixed. Removing instructions message.") - bot_message = await self.get_sent_instructions(payload) await bot_message.delete() del self.codeblock_message_ids[payload.message_id] + else: + log.trace("Message edited but still has invalid code blocks; editing the instructions.") + await bot_message.edit(content=instructions) |