public async ValueTask <AdminCommandResult> EditMessageAsync(CachedTextChannel channel, ulong messageId,
                                                                     [Remainder] string text)
        {
            if (!(await channel.GetMessageAsync(messageId) is RestUserMessage message))
            {
                return(CommandErrorLocalized("utility_edit_nomessage"));
            }

            if (message.Author.Id != Context.Client.CurrentUser.Id)
            {
                return(CommandErrorLocalized("utility_edit_nonowner"));
            }

            text = await text.FormatPlaceHoldersAsync(Context, random : Random);

            await message.ModifyAsync(x =>
            {
                if (JsonEmbed.TryParse(text, out var embed))
                {
                    x.Content = embed.Text;
                    x.Embed   = embed.ToLocalEmbed();
                    return;
                }

                x.Content = text;
            });

            await Context.Message.AddReactionAsync(EmojiTools.Checkmark);

            return(CommandSuccess());
        }
        public async ValueTask <AdminCommandResult> DeconstructMessageAsync(CachedTextChannel channel, ulong messageId)
        {
            if (!(await channel.GetMessageAsync(messageId) is RestUserMessage message))
            {
                return(CommandErrorLocalized("utility_deconstruct_nomessage"));
            }

            return(await DeconstructMessageAsync(message));
        }