fix(post): allow editing messages that aren't saved

This commit is contained in:
Dragory 2021-10-17 19:16:47 +03:00
parent 05bd84b1f9
commit 19b7b4a5ee
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
2 changed files with 17 additions and 22 deletions

View file

@ -14,23 +14,21 @@ export const EditCmd = postCmd({
}, },
async run({ message: msg, args, pluginData }) { async run({ message: msg, args, pluginData }) {
const savedMessage = await pluginData.state.savedMessages.find(args.message.messageId); const targetMessage = await args.message.channel.messages.fetch(args.message.messageId);
if (!savedMessage) { console.log({ targetMessage });
if (!targetMessage) {
sendErrorMessage(pluginData, msg.channel, "Unknown message"); sendErrorMessage(pluginData, msg.channel, "Unknown message");
return; return;
} }
if (savedMessage.user_id !== pluginData.client.user!.id) { if (targetMessage.author.id !== pluginData.client.user!.id) {
sendErrorMessage(pluginData, msg.channel, "Message wasn't posted by me"); sendErrorMessage(pluginData, msg.channel, "Message wasn't posted by me");
return; return;
} }
(pluginData.guild.channels.cache.get(savedMessage.channel_id as Snowflake) as TextChannel).messages.edit( targetMessage.channel.messages.edit(targetMessage.id, {
savedMessage.id as Snowflake, content: formatContent(args.content),
{ });
content: formatContent(args.content),
},
);
sendSuccessMessage(pluginData, msg.channel, "Message edited"); sendSuccessMessage(pluginData, msg.channel, "Message edited");
}, },
}); });

View file

@ -23,12 +23,6 @@ export const EditEmbedCmd = postCmd({
}, },
async run({ message: msg, args, pluginData }) { async run({ message: msg, args, pluginData }) {
const savedMessage = await pluginData.state.savedMessages.find(args.message.messageId);
if (!savedMessage) {
sendErrorMessage(pluginData, msg.channel, "Unknown message");
return;
}
const content = args.content || args.maincontent; const content = args.content || args.maincontent;
let color: number | null = null; let color: number | null = null;
@ -42,17 +36,20 @@ export const EditEmbedCmd = postCmd({
} }
} }
const embed: MessageEmbed = savedMessage.data.embeds![0] as MessageEmbed; const targetMessage = await args.message.channel.messages.fetch(args.message.messageId);
if (!targetMessage) {
sendErrorMessage(pluginData, msg.channel, "Unknown message");
return;
}
const embed = (targetMessage.embeds![0] ?? { fields: [] }) as MessageEmbed;
if (args.title) embed.title = args.title; if (args.title) embed.title = args.title;
if (content) embed.description = formatContent(content); if (content) embed.description = formatContent(content);
if (color) embed.color = color; if (color) embed.color = color;
(pluginData.guild.channels.cache.get(savedMessage.channel_id as Snowflake) as TextChannel).messages.edit( args.message.channel.messages.edit(targetMessage.id, {
savedMessage.id as Snowflake, embeds: [embed],
{ });
embeds: [embed],
},
);
await sendSuccessMessage(pluginData, msg.channel, "Embed edited"); await sendSuccessMessage(pluginData, msg.channel, "Embed edited");
if (args.content) { if (args.content) {