Make guild delete and remove delete function from BaseManager
This commit is contained in:
		
							parent
							
								
									19e2020e38
								
							
						
					
					
						commit
						78ae0bbb56
					
				
					 11 changed files with 34 additions and 16 deletions
				
			
		|  | @ -12,7 +12,7 @@ export const guildMemberRemove: GatewayEventHandler = async ( | ||||||
|   if (guild === undefined) return |   if (guild === undefined) return | ||||||
| 
 | 
 | ||||||
|   const member = await guild.members.get(d.user.id) |   const member = await guild.members.get(d.user.id) | ||||||
|   await guild.members.delete(d.user.id) |   await guild.members._delete(d.user.id) | ||||||
| 
 | 
 | ||||||
|   if (member !== undefined) gateway.client.emit('guildMemberRemove', member) |   if (member !== undefined) gateway.client.emit('guildMemberRemove', member) | ||||||
|   else { |   else { | ||||||
|  |  | ||||||
|  | @ -25,7 +25,7 @@ export const messageDeleteBulk: GatewayEventHandler = async ( | ||||||
|     if (message === undefined) uncached.add(id) |     if (message === undefined) uncached.add(id) | ||||||
|     else { |     else { | ||||||
|       messages.set(id, message) |       messages.set(id, message) | ||||||
|       await channel.messages.delete(id) |       await channel.messages._delete(id) | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -31,7 +31,7 @@ export const messageReactionRemove: GatewayEventHandler = async ( | ||||||
|   const reaction = await message.reactions.get(emojiID) |   const reaction = await message.reactions.get(emojiID) | ||||||
|   if (reaction === undefined) return |   if (reaction === undefined) return | ||||||
| 
 | 
 | ||||||
|   reaction.users.delete(d.user_id) |   reaction.users._delete(d.user_id) | ||||||
| 
 | 
 | ||||||
|   gateway.client.emit('messageReactionRemove', reaction, user) |   gateway.client.emit('messageReactionRemove', reaction, user) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -24,7 +24,7 @@ export const voiceStateUpdate: GatewayEventHandler = async ( | ||||||
|       return gateway.client.emit('voiceStateRemoveUncached', { guild, member }) |       return gateway.client.emit('voiceStateRemoveUncached', { guild, member }) | ||||||
|     } |     } | ||||||
|     // No longer in the channel, so delete
 |     // No longer in the channel, so delete
 | ||||||
|     await guild.voiceStates.delete(d.user_id) |     await guild.voiceStates._delete(d.user_id) | ||||||
|     gateway.client.emit( |     gateway.client.emit( | ||||||
|       'voiceStateRemove', |       'voiceStateRemove', | ||||||
|       (voiceState as unknown) as VoiceState |       (voiceState as unknown) as VoiceState | ||||||
|  |  | ||||||
|  | @ -41,11 +41,6 @@ export class BaseManager<T, T2> { | ||||||
|     return this.client.cache.delete(this.cacheName, key) |     return this.client.cache.delete(this.cacheName, key) | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   /** Alias to _delete (cache) for compatibility purposes */ |  | ||||||
|   async delete(key: string): Promise<boolean> { |  | ||||||
|     return await this._delete(key) |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   /** Gets an Array of values from Cache */ |   /** Gets an Array of values from Cache */ | ||||||
|   async array(): Promise<T2[]> { |   async array(): Promise<T2[]> { | ||||||
|     let arr = await (this.client.cache.array(this.cacheName) as T[]) |     let arr = await (this.client.cache.array(this.cacheName) as T[]) | ||||||
|  |  | ||||||
|  | @ -57,7 +57,7 @@ export class GuildChannelsManager extends BaseChildManager< | ||||||
|   async flush(): Promise<boolean> { |   async flush(): Promise<boolean> { | ||||||
|     const arr = await this.array() |     const arr = await this.array() | ||||||
|     for (const elem of arr) { |     for (const elem of arr) { | ||||||
|       this.parent.delete(elem.id) |       this.parent._delete(elem.id) | ||||||
|     } |     } | ||||||
|     return true |     return true | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  | @ -88,7 +88,7 @@ export class GuildEmojisManager extends BaseChildManager<EmojiPayload, Emoji> { | ||||||
|     const arr = await this.array() |     const arr = await this.array() | ||||||
|     for (const elem of arr) { |     for (const elem of arr) { | ||||||
|       const emojiID = elem.id !== null ? elem.id : elem.name |       const emojiID = elem.id !== null ? elem.id : elem.name | ||||||
|       this.parent.delete(emojiID as string) |       this.parent._delete(emojiID as string) | ||||||
|     } |     } | ||||||
|     return true |     return true | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  | @ -137,17 +137,17 @@ export class GuildManager extends BaseManager<GuildPayload, Guild> { | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   async edit( |   async edit( | ||||||
|     guildID: string, |     guild: Guild | string, | ||||||
|     options: GuildModifyOptions, |     options: GuildModifyOptions, | ||||||
|     asRaw: false |     asRaw: false | ||||||
|   ): Promise<Guild> |   ): Promise<Guild> | ||||||
|   async edit( |   async edit( | ||||||
|     guildID: string, |     guild: Guild | string, | ||||||
|     options: GuildModifyOptions, |     options: GuildModifyOptions, | ||||||
|     asRaw: true |     asRaw: true | ||||||
|   ): Promise<GuildPayload> |   ): Promise<GuildPayload> | ||||||
|   async edit( |   async edit( | ||||||
|     guildID: string, |     guild: Guild | string, | ||||||
|     options: GuildModifyOptions, |     options: GuildModifyOptions, | ||||||
|     asRaw: boolean = false |     asRaw: boolean = false | ||||||
|   ): Promise<Guild | GuildPayload> { |   ): Promise<Guild | GuildPayload> { | ||||||
|  | @ -175,6 +175,9 @@ export class GuildManager extends BaseManager<GuildPayload, Guild> { | ||||||
|     ) { |     ) { | ||||||
|       options.banner = await fetchAuto(options.banner) |       options.banner = await fetchAuto(options.banner) | ||||||
|     } |     } | ||||||
|  |     if (guild instanceof Guild) { | ||||||
|  |       guild = guild.id | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     const body: GuildModifyPayload = { |     const body: GuildModifyPayload = { | ||||||
|       name: options.name, |       name: options.name, | ||||||
|  | @ -184,6 +187,7 @@ export class GuildManager extends BaseManager<GuildPayload, Guild> { | ||||||
|       explicit_content_filter: options.explicitContentFilter, |       explicit_content_filter: options.explicitContentFilter, | ||||||
|       afk_channel_id: options.afkChannelID, |       afk_channel_id: options.afkChannelID, | ||||||
|       afk_timeout: options.afkTimeout, |       afk_timeout: options.afkTimeout, | ||||||
|  |       owner_id: options.ownerID, | ||||||
|       icon: options.icon, |       icon: options.icon, | ||||||
|       splash: options.splash, |       splash: options.splash, | ||||||
|       banner: options.banner, |       banner: options.banner, | ||||||
|  | @ -194,7 +198,7 @@ export class GuildManager extends BaseManager<GuildPayload, Guild> { | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     const result: GuildPayload = await this.client.rest.patch( |     const result: GuildPayload = await this.client.rest.patch( | ||||||
|       GUILD(guildID), |       GUILD(guild), | ||||||
|       body |       body | ||||||
|     ) |     ) | ||||||
| 
 | 
 | ||||||
|  | @ -205,4 +209,15 @@ export class GuildManager extends BaseManager<GuildPayload, Guild> { | ||||||
|       return result |       return result | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  | 
 | ||||||
|  |   async delete(guild: Guild | string): Promise<Guild | undefined> { | ||||||
|  |     if (guild instanceof Guild) { | ||||||
|  |       guild = guild.id | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     const oldGuild = await this.get(guild) | ||||||
|  | 
 | ||||||
|  |     await this.client.rest.delete(GUILD(guild)) | ||||||
|  |     return oldGuild | ||||||
|  |   } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -42,7 +42,7 @@ export class MemberRolesManager extends BaseChildManager<RolePayload, Role> { | ||||||
|   async flush(): Promise<boolean> { |   async flush(): Promise<boolean> { | ||||||
|     const arr = await this.array() |     const arr = await this.array() | ||||||
|     for (const elem of arr) { |     for (const elem of arr) { | ||||||
|       this.parent.delete(elem.id) |       this.parent._delete(elem.id) | ||||||
|     } |     } | ||||||
|     return true |     return true | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  | @ -342,6 +342,12 @@ export class Guild extends Base { | ||||||
| 
 | 
 | ||||||
|     return new Guild(this.client, result) |     return new Guild(this.client, result) | ||||||
|   } |   } | ||||||
|  | 
 | ||||||
|  |   async delete(): Promise<Guild> { | ||||||
|  |     const result = await this.client.guilds.delete(this.id) | ||||||
|  | 
 | ||||||
|  |     return result === undefined ? this : result | ||||||
|  |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export class GuildIntegration extends Base { | export class GuildIntegration extends Base { | ||||||
|  |  | ||||||
|  | @ -241,6 +241,7 @@ export interface GuildModifyPayload { | ||||||
|   afk_channel_id?: string | null |   afk_channel_id?: string | null | ||||||
|   afk_timeout?: number |   afk_timeout?: number | ||||||
|   icon?: string | null |   icon?: string | null | ||||||
|  |   owner_id?: string | ||||||
|   splash?: string | null |   splash?: string | null | ||||||
|   banner?: string | null |   banner?: string | null | ||||||
|   system_channel_id?: string | null |   system_channel_id?: string | null | ||||||
|  | @ -258,6 +259,7 @@ export interface GuildModifyOptions { | ||||||
|   afkChannelID?: string | null |   afkChannelID?: string | null | ||||||
|   afkTimeout?: number |   afkTimeout?: number | ||||||
|   icon?: string | null |   icon?: string | null | ||||||
|  |   ownerID?: string | ||||||
|   splash?: string | null |   splash?: string | null | ||||||
|   banner?: string | null |   banner?: string | null | ||||||
|   systemChannelID?: string | null |   systemChannelID?: string | null | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue