accept user discord implementation
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user