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