Optimize/tweak message saving

This commit is contained in:
Dragory 2021-09-04 19:05:47 +03:00
parent 5ae5e7bc1d
commit 0d1bfefce0
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
3 changed files with 16 additions and 23 deletions

View file

@ -226,9 +226,6 @@ export class GuildSavedMessages extends BaseGuildRepository {
} }
async createFromMsg(msg: Message, overrides = {}) { async createFromMsg(msg: Message, overrides = {}) {
const existingSavedMsg = await this.find(msg.id);
if (existingSavedMsg) return;
// FIXME: Hotfix // FIXME: Hotfix
if (!msg.channel) { if (!msg.channel) {
return; return;

View file

@ -29,17 +29,20 @@ export const MessageCreateEvt = messageSaverEvt({
return; return;
} }
meta.pluginData.state.queue.add(async () => { // Don't save the bot's own messages
if (recentlyCreatedMessages.includes(meta.args.message.id)) { if (meta.args.message.author.id === meta.pluginData.client.user?.id) {
console.warn( return;
`Tried to save duplicate message from messageCreate event: ${meta.args.message.guildId} / ${meta.args.message.channelId} / ${meta.args.message.id}`, }
);
return;
}
recentlyCreatedMessages.push(meta.args.message.id);
await meta.pluginData.state.savedMessages.createFromMsg(meta.args.message); if (recentlyCreatedMessages.includes(meta.args.message.id)) {
}); console.warn(
`Tried to save duplicate message from messageCreate event: ${meta.args.message.guildId} / ${meta.args.message.channelId} / ${meta.args.message.id}`,
);
return;
}
recentlyCreatedMessages.push(meta.args.message.id);
await meta.pluginData.state.savedMessages.createFromMsg(meta.args.message);
}, },
}); });
@ -57,9 +60,7 @@ export const MessageUpdateEvt = messageSaverEvt({
return; return;
} }
meta.pluginData.state.queue.add(async () => { await meta.pluginData.state.savedMessages.saveEditFromMsg(meta.args.newMessage as Message);
await meta.pluginData.state.savedMessages.saveEditFromMsg(meta.args.newMessage as Message);
});
}, },
}); });
@ -74,9 +75,7 @@ export const MessageDeleteEvt = messageSaverEvt({
return; return;
} }
meta.pluginData.state.queue.add(async () => { await meta.pluginData.state.savedMessages.markAsDeleted(msg.id);
await meta.pluginData.state.savedMessages.markAsDeleted(msg.id);
});
}, },
}); });
@ -87,8 +86,6 @@ export const MessageDeleteBulkEvt = messageSaverEvt({
async listener(meta) { async listener(meta) {
const ids = meta.args.messages.map(m => m.id); const ids = meta.args.messages.map(m => m.id);
meta.pluginData.state.queue.add(async () => { await meta.pluginData.state.savedMessages.markBulkAsDeleted(ids);
await meta.pluginData.state.savedMessages.markBulkAsDeleted(ids);
});
}, },
}); });

View file

@ -12,7 +12,6 @@ export interface MessageSaverPluginType extends BasePluginType {
config: TConfigSchema; config: TConfigSchema;
state: { state: {
savedMessages: GuildSavedMessages; savedMessages: GuildSavedMessages;
queue: Queue;
}; };
} }