// Process existing reactions
for (const [_, reaction] of roleMessage.reactions.cache) {
const users = await reaction.users.fetch();
users.forEach(async (user: User) => {
if (user.bot) return;
try {
const member = await guild.members.fetch(user.id);
const emoji = reaction._emoji.name;
const reactionText = emoji.length < 4 ? emoji.slice(0, 2) : emoji;
for (let i = 0; i < icons.length; i++) {
if (icons[i].trim() === reactionText.trim()) {
await member.roles.add(roleIds[i]);
break;
}
}
} catch (error: any) {
if (error.code === 10007) {
// Member not found (likely left the guild)
} else {
console.error("Error fetching member or adding role:", error);
}
}
});
}
// Process existing reactions
for (const [_, reaction] of roleMessage.reactions.cache) {
const users = await reaction.users.fetch();
users.forEach(async (user: User) => {
if (user.bot) return;
try {
const member = await guild.members.fetch(user.id);
const emoji = reaction._emoji.name;
const reactionText = emoji.length < 4 ? emoji.slice(0, 2) : emoji;
for (let i = 0; i < icons.length; i++) {
if (icons[i].trim() === reactionText.trim()) {
await member.roles.add(roleIds[i]);
break;
}
}
} catch (error: any) {
if (error.code === 10007) {
// Member not found (likely left the guild)
} else {
console.error("Error fetching member or adding role:", error);
}
}
});
}