Member Function
addRole
This commit is contained in:
		
							parent
							
								
									eff2469e80
								
							
						
					
					
						commit
						5482146da4
					
				| @ -4,10 +4,13 @@ import { | |||||||
| 	GuildDeleteEvent, | 	GuildDeleteEvent, | ||||||
| 	GuildMemberAddEvent, | 	GuildMemberAddEvent, | ||||||
| 	GuildMemberRemoveEvent, | 	GuildMemberRemoveEvent, | ||||||
|  | 	GuildMemberUpdateEvent, | ||||||
| 	GuildModel, | 	GuildModel, | ||||||
| 	MemberModel, | 	MemberModel, | ||||||
|  | 	RoleModel, | ||||||
| 	UserModel, | 	UserModel, | ||||||
| } from "@fosscord/server-util"; | } from "@fosscord/server-util"; | ||||||
|  | import { response } from "express"; | ||||||
| import { HTTPError } from "lambert-server"; | import { HTTPError } from "lambert-server"; | ||||||
| import Config from "./Config"; | import Config from "./Config"; | ||||||
| import { emitEvent } from "./Event"; | import { emitEvent } from "./Event"; | ||||||
| @ -107,13 +110,36 @@ export async function removeMember(user_id: string, guild_id: string) { | |||||||
| 			}, | 			}, | ||||||
| 			user_id: user_id, | 			user_id: user_id, | ||||||
| 		} as GuildDeleteEvent), | 		} as GuildDeleteEvent), | ||||||
| 		emitEvent({ |  | ||||||
| 			event: "GUILD_MEMBER_REMOVE", |  | ||||||
| 			data: { |  | ||||||
| 				guild_id: guild_id, |  | ||||||
| 				user: user, |  | ||||||
| 			}, |  | ||||||
| 			guild_id: guild_id, |  | ||||||
| 		} as GuildMemberRemoveEvent), |  | ||||||
| 	]); | 	]); | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | export async function addRole(user_id: string, guild_id: string, role_id: string) { | ||||||
|  | 	const user = await getPublicUser(user_id); | ||||||
|  | 
 | ||||||
|  | 	const guild = await GuildModel.findOne({ id: guild_id }).exec(); | ||||||
|  | 	if (!guild) throw new HTTPError("Guild not found", 404); | ||||||
|  | 
 | ||||||
|  | 	const role = await RoleModel.findOne({ id: role_id, guild_id: guild_id }).exec(); | ||||||
|  | 	if (!role) throw new HTTPError("role not found", 404); | ||||||
|  | 
 | ||||||
|  | 	var memberObj = await MemberModel.findOneAndUpdate({ | ||||||
|  | 			id: user_id, | ||||||
|  | 			guild_id: guild_id, | ||||||
|  | 		}, { $push: { roles: role_id } }).exec(); | ||||||
|  | 
 | ||||||
|  | 	if(!memberObj) throw new Error("Internal server error"); | ||||||
|  | 	 | ||||||
|  | 	emitEvent({ | ||||||
|  | 		event: "GUILD_MEMBER_UPDATE", | ||||||
|  | 		data: { | ||||||
|  | 			guild_id: guild_id, | ||||||
|  | 			user: user, | ||||||
|  | 			roles: memberObj.roles | ||||||
|  | 		 | ||||||
|  | 		}, | ||||||
|  | 		user_id: user_id, | ||||||
|  | 	} as GuildMemberUpdateEvent); | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Intevel ツ
						Intevel ツ