accept user discord implementation

This commit is contained in:
mo
2026-03-01 16:50:43 +01:00
parent 331fea2c10
commit 0e014dd08d
8 changed files with 93 additions and 22 deletions

View File

@@ -5,12 +5,15 @@ import type { GuildMember } from "discord.js";
export class RolesService implements RolesServiceInterface<GuildMember> {
private logger = createLogger("RolesService");
async assignRole(user: GuildMember, role: string) {
const roleToAssign = user.guild.roles.cache.find((r) => r.name === role);
async assignRole(user: GuildMember, roleId: string) {
const roleToAssign = user.guild.roles.cache.find((r) => r.id === roleId);
if (!roleToAssign) {
this.logger.error(`Role ${role} not found in guild ${user.guild.name}.`);
this.logger.error(
`Role ${roleId} not found in guild ${user.guild.name}.`,
);
return;
}
this.logger.info(`Role ${roleId} found in guild ${user.guild.name}.`);
await user.roles.add(roleToAssign);
}
@@ -23,10 +26,12 @@ export class RolesService implements RolesServiceInterface<GuildMember> {
await user.roles.remove(roleToRemove);
}
/*** get all roles of GuildMember */
async getRoles(user: GuildMember) {
return user.roles.cache.map((role) => role.name);
}
/*** check if GuildMember has a specific role */
async hasRole(user: GuildMember, role: string) {
return user.roles.cache.some((r) => r.name === role);
}