Если команда затрачивает больше 3 секунд на ответ, дискорд отмечает её как невыполненную и девалидирует токен, нужный для отправки ответа.
reply()
, в случае, если токен неверный, отправляет ответ в dblt обычного сообщения.
Исправить это можно, добавив в начало команды
await ctx.reply(..., type=ResponseType.DeferredUpdateMessage)
(
discord docs)
Насколько я помню, слеш-команды в dislash используют
dislash.SlashInteraction
, а не
commands.Context