fix: archiving messages with mentioned users

This commit is contained in:
Isaac 2025-02-15 17:04:44 +00:00
parent 2fe68c3f15
commit 8f46e5ba2c
No known key found for this signature in database
GPG Key ID: 0DE40AE37BBA5C33

View File

@ -31,36 +31,19 @@ module.exports = class TicketArchiver {
}
}
const channels = [...message.mentions.channels.values()];
const members = [...message.mentions.members.values()];
const roles = [...message.mentions.roles.values()];
const channels = new Set(message.mentions.channels.values());
const members = new Set(message.mentions.members.values());
const roles = new Set(message.mentions.roles.values());
const worker = await reusable('crypto');
try {
const queries = [];
if (message.member) {
members.push(message.member);
roles.push(hoistedRole(message.member));
} else {
this.client.log.warn('Message member does not exist');
queries.push(
this.client.prisma.archivedUser.upsert({
create: {
ticketId,
userId: 'default',
},
select: { ticketId: true }, // ? default is to return all scalar fields
update: {},
where: {
ticketId_userId: {
ticketId,
userId: 'default',
},
},
}),
);
members.add(message.member);
for (const member of members) {
roles.add(hoistedRole(member));
}
for (const role of roles) {