From e540b266c77f2948b5e06fffcdd949e0a7ee2304 Mon Sep 17 00:00:00 2001 From: ErrorNoInternet Date: Sun, 5 Jan 2025 16:49:33 -0500 Subject: [PATCH] feat(commands/execute): track sent messages --- core.py | 15 +++++++++------ state.py | 3 ++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/core.py b/core.py index 5d714f0..6e91be7 100644 --- a/core.py +++ b/core.py @@ -12,7 +12,7 @@ import commands import constants import core import utils -from state import client, command_locks +from state import client, command_locks, executed_messages async def on_message(message): @@ -80,20 +80,23 @@ async def on_message(message): if len(output) > 2000: output = output.replace("`", "\\`") - pager = disnake_paginator.ButtonPaginator( + await disnake_paginator.ButtonPaginator( prefix=f"```\n", suffix="```", + invalid_user_function=utils.invalid_user_handler, color=constants.EMBED_COLOR, segments=disnake_paginator.split(output), - invalid_user_function=utils.invalid_user_handler, - ) - await pager.start( + ).start( disnake_paginator.wrappers.MessageInteractionWrapper(message) ) elif len(output.strip()) == 0: await utils.add_check_reaction(message) else: - await message.channel.send(output) + if message.id in executed_messages: + await executed_messages[message.id].edit(output) + else: + response = await message.channel.send(output) + executed_messages[message.id] = response case C.CLEAR | C.PURGE if message.author.id in constants.OWNERS: await commands.tools.clear(message) case C.JOIN: diff --git a/state.py b/state.py index cce97bf..2c5f79d 100644 --- a/state.py +++ b/state.py @@ -2,8 +2,9 @@ import time import disnake -players = {} command_locks = {} +executed_messages = {} +players = {} intents = disnake.Intents.default() intents.message_content = True