implement very basic functionality of role add/rm
This commit is contained in:
		@@ -1,5 +1,6 @@
 | 
			
		||||
import { Role, User } from "discord.js";
 | 
			
		||||
import { Guild, Role, User } from "discord.js";
 | 
			
		||||
import { ExtendedClient } from "../structures/client";
 | 
			
		||||
import { GuildMember } from "discord.js";
 | 
			
		||||
 | 
			
		||||
export default class RoleController {
 | 
			
		||||
 | 
			
		||||
@@ -7,19 +8,21 @@ export default class RoleController {
 | 
			
		||||
	private getMediaRoleForGuild(guildId: string): Role {
 | 
			
		||||
		throw new Error("Method not implemented.");
 | 
			
		||||
	}
 | 
			
		||||
	public addRoleToUser(user: User, role: Role, guildId: string, requestId: string) {
 | 
			
		||||
		throw new Error("Method not implemented.");
 | 
			
		||||
	public async addRoleToUser(member: GuildMember, role: Role, guildId: string, requestId: string) {
 | 
			
		||||
		return await member.roles.add(role)
 | 
			
		||||
	}
 | 
			
		||||
	private removeRoleFromUser(user: User, roleToAdd: any, guildId: string, requestId: string) {
 | 
			
		||||
		throw new Error("Method not implemented.");
 | 
			
		||||
	private async removeRoleFromUser(member: GuildMember, role: any, guildId: string, requestId: string) {
 | 
			
		||||
		return await member.roles.remove(role)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public addMediaRoleToUser(user: User, guildId: string, requestId: string) {
 | 
			
		||||
		const roleToAdd: Role = this.getMediaRoleForGuild(guildId)
 | 
			
		||||
		return this.addRoleToUser(user, roleToAdd, guildId, requestId)
 | 
			
		||||
	public async addMediaRoleToUser(user: User, guild: Guild, requestId: string) {
 | 
			
		||||
		const roleToAdd: Role = this.getMediaRoleForGuild(guild.id)
 | 
			
		||||
		const guildMember = await guild.members.fetch(user)
 | 
			
		||||
		return this.addRoleToUser(guildMember, roleToAdd, guild.id, requestId)
 | 
			
		||||
	}
 | 
			
		||||
	public removeMediaRoleFromUser(user: User, guildId: string, requestId: string) {
 | 
			
		||||
		const roleToRemove: Role = this.getMediaRoleForGuild(guildId)
 | 
			
		||||
		return this.removeRoleFromUser(user, roleToRemove, guildId, requestId)
 | 
			
		||||
	public async removeMediaRoleFromUser(user: User, guild: Guild, requestId: string) {
 | 
			
		||||
		const roleToRemove: Role = this.getMediaRoleForGuild(guild.id)
 | 
			
		||||
		const guildMember = await guild.members.fetch(user)
 | 
			
		||||
		return this.removeRoleFromUser(guildMember, roleToRemove, guild.id, requestId)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user