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 channels = new Set(message.mentions.channels.values());
const members = [...message.mentions.members.values()]; const members = new Set(message.mentions.members.values());
const roles = [...message.mentions.roles.values()]; const roles = new Set(message.mentions.roles.values());
const worker = await reusable('crypto'); const worker = await reusable('crypto');
try { try {
const queries = []; const queries = [];
if (message.member) { members.add(message.member);
members.push(message.member);
roles.push(hoistedRole(message.member)); for (const member of members) {
} else { roles.add(hoistedRole(member));
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',
},
},
}),
);
} }
for (const role of roles) { for (const role of roles) {