add RESTManager#endpoints
This commit is contained in:
		
							parent
							
								
									de7996d552
								
							
						
					
					
						commit
						1c7416628d
					
				
					 7 changed files with 117611 additions and 7 deletions
				
			
		
							
								
								
									
										116161
									
								
								harmony.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										116161
									
								
								harmony.js
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										1291
									
								
								src/rest/endpoints.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1291
									
								
								src/rest/endpoints.ts
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -11,6 +11,7 @@ import { | |||
|   METHODS | ||||
| } from './types.ts' | ||||
| import { Constants } from '../types/constants.ts' | ||||
| import { RESTEndpoints } from './endpoints.ts' | ||||
| 
 | ||||
| export class DiscordAPIError extends Error { | ||||
|   name = 'DiscordAPIError' | ||||
|  | @ -171,6 +172,7 @@ export class RESTManager { | |||
|   canary?: boolean | ||||
|   /** Optional Harmony Client object */ | ||||
|   client?: Client | ||||
|   endpoints: RESTEndpoints | ||||
| 
 | ||||
|   constructor(options?: RESTOptions) { | ||||
|     this.api = builder(this) | ||||
|  | @ -181,6 +183,7 @@ export class RESTManager { | |||
|     if (options?.userAgent !== undefined) this.userAgent = options.userAgent | ||||
|     if (options?.canary !== undefined) this.canary = options.canary | ||||
|     if (options?.client !== undefined) this.client = options.client | ||||
|     this.endpoints = new RESTEndpoints(this) | ||||
|     this.handleRateLimits() | ||||
|   } | ||||
| 
 | ||||
|  |  | |||
|  | @ -29,7 +29,7 @@ export interface GuildChannelPayload extends ChannelPayload { | |||
| 
 | ||||
| export interface GuildTextBasedChannelPayload | ||||
|   extends TextChannelPayload, | ||||
|   GuildChannelPayload { | ||||
|     GuildChannelPayload { | ||||
|   topic?: string | ||||
| } | ||||
| 
 | ||||
|  | @ -37,7 +37,7 @@ export interface GuildTextChannelPayload extends GuildTextBasedChannelPayload { | |||
|   rate_limit_per_user: number | ||||
| } | ||||
| 
 | ||||
| export interface GuildNewsChannelPayload extends GuildTextBasedChannelPayload { } | ||||
| export interface GuildNewsChannelPayload extends GuildTextBasedChannelPayload {} | ||||
| 
 | ||||
| export interface GuildVoiceChannelPayload extends GuildChannelPayload { | ||||
|   bitrate: string | ||||
|  | @ -56,7 +56,7 @@ export interface GroupDMChannelPayload extends DMChannelPayload { | |||
| 
 | ||||
| export interface GuildCategoryChannelPayload | ||||
|   extends ChannelPayload, | ||||
|   GuildChannelPayload { } | ||||
|     GuildChannelPayload {} | ||||
| 
 | ||||
| export interface ModifyChannelPayload { | ||||
|   name?: string | ||||
|  | @ -67,7 +67,7 @@ export interface ModifyChannelPayload { | |||
| } | ||||
| 
 | ||||
| export interface ModifyGuildCategoryChannelPayload | ||||
|   extends ModifyChannelPayload { } | ||||
|   extends ModifyChannelPayload {} | ||||
| 
 | ||||
| export interface ModifyGuildTextBasedChannelPayload | ||||
|   extends ModifyChannelPayload { | ||||
|  | @ -81,7 +81,7 @@ export interface ModifyGuildTextChannelPayload | |||
| } | ||||
| 
 | ||||
| export interface ModifyGuildNewsChannelPayload | ||||
|   extends ModifyGuildTextBasedChannelPayload { } | ||||
|   extends ModifyGuildTextBasedChannelPayload {} | ||||
| 
 | ||||
| export interface ModifyVoiceChannelPayload extends ModifyChannelPayload { | ||||
|   bitrate?: number | null | ||||
|  | @ -96,7 +96,7 @@ export interface ModifyChannelOption { | |||
|   nsfw?: boolean | null | ||||
| } | ||||
| 
 | ||||
| export interface ModifyGuildCategoryChannelOption extends ModifyChannelOption { } | ||||
| export interface ModifyGuildCategoryChannelOption extends ModifyChannelOption {} | ||||
| 
 | ||||
| export interface ModifyGuildTextBasedChannelOption extends ModifyChannelOption { | ||||
|   type?: number | ||||
|  | @ -109,7 +109,7 @@ export interface ModifyGuildTextChannelOption | |||
| } | ||||
| 
 | ||||
| export interface ModifyGuildNewsChannelOption | ||||
|   extends ModifyGuildTextBasedChannelOption { } | ||||
|   extends ModifyGuildTextBasedChannelOption {} | ||||
| 
 | ||||
| export interface ModifyVoiceChannelOption extends ModifyChannelOption { | ||||
|   bitrate?: number | null | ||||
|  | @ -382,3 +382,32 @@ export interface MessageInteractionPayload { | |||
|   name: string | ||||
|   user: UserPayload | ||||
| } | ||||
| 
 | ||||
| export interface EditMessagePayload { | ||||
|   content?: string | ||||
|   embed?: EmbedPayload | ||||
|   allowed_mentions?: AllowedMentionsPayload | ||||
|   flags?: number | ||||
| } | ||||
| 
 | ||||
| export interface CreateMessagePayload extends EditMessagePayload { | ||||
|   nonce?: string | ||||
|   tts?: boolean | ||||
|   message_reference?: MessageReference | ||||
|   file?: MessageAttachment | ||||
|   files?: MessageAttachment[] | ||||
| } | ||||
| 
 | ||||
| export interface CreateWebhookMessageBasePayload { | ||||
|   content?: string | ||||
|   embeds?: EmbedPayload[] | ||||
|   tts?: boolean | ||||
|   file?: MessageAttachment | ||||
|   files?: MessageAttachment[] | ||||
|   allowed_mentions?: AllowedMentionsPayload | ||||
| } | ||||
| 
 | ||||
| export interface CreateWebhookMessagePayload extends CreateMessagePayload { | ||||
|   username?: string | ||||
|   avatar_url?: string | ||||
| } | ||||
|  |  | |||
|  | @ -10,3 +10,9 @@ export interface EmojiPayload { | |||
|   animated?: boolean | ||||
|   available?: boolean | ||||
| } | ||||
| 
 | ||||
| export interface CreateEmojiPayload { | ||||
|   name: string | ||||
|   image: string | ||||
|   roles?: string[] | ||||
| } | ||||
|  |  | |||
|  | @ -23,6 +23,7 @@ import { PresenceUpdatePayload } from './gateway.ts' | |||
| import { RolePayload } from './role.ts' | ||||
| import { UserPayload } from './user.ts' | ||||
| import { VoiceStatePayload } from './voice.ts' | ||||
| import { WebhookPayload } from './webhook.ts' | ||||
| 
 | ||||
| export interface GuildPayload { | ||||
|   id: string | ||||
|  | @ -326,3 +327,99 @@ export interface GuildBeginPrunePayload { | |||
|   compute_prune_count?: boolean | ||||
|   include_roles?: string[] | ||||
| } | ||||
| 
 | ||||
| export enum AuditLogEvents { | ||||
|   GuildUpdate = 1, | ||||
|   ChannelCreate = 10, | ||||
|   ChannelUpdate = 11, | ||||
|   ChannelDelete = 12, | ||||
|   ChannelOverwriteCreate = 13, | ||||
|   ChannelOverwriteUpdate = 14, | ||||
|   ChannelOverwriteDelete = 15, | ||||
|   MemberKick = 20, | ||||
|   MemberPrune = 21, | ||||
|   MemberBanAdd = 22, | ||||
|   MemberBanRemove = 23, | ||||
|   MemberUpdate = 24, | ||||
|   MemberRoleUpdate = 25, | ||||
|   MemberMove = 26, | ||||
|   MemberDisconnect = 27, | ||||
|   BotAdd = 28, | ||||
|   RoleCreate = 30, | ||||
|   RoleUpdate = 31, | ||||
|   RoleDelete = 32, | ||||
|   InviteCreate = 40, | ||||
|   InviteUpdate = 41, | ||||
|   InviteDelete = 42, | ||||
|   WebhookCreate = 50, | ||||
|   WebhookUpdate = 51, | ||||
|   WebhookDelete = 52, | ||||
|   EmojiCreate = 60, | ||||
|   EmojiUpdate = 61, | ||||
|   EmojiDelete = 62, | ||||
|   MessageDelete = 72, | ||||
|   MessageBulkDelete = 73, | ||||
|   MessagePin = 74, | ||||
|   MessageUnpin = 75, | ||||
|   IntegrationCreate = 80, | ||||
|   IntegrationUpdate = 81, | ||||
|   IntegrationDelete = 82 | ||||
| } | ||||
| 
 | ||||
| export interface AuditLogPayload { | ||||
|   /** list of webhooks found in the audit log */ | ||||
|   webhooks: WebhookPayload[] | ||||
|   /** list of users found in the audit log */ | ||||
|   users: UserPayload[] | ||||
|   /** list of audit log entries */ | ||||
|   audit_log_entries: AuditLogEntryPayload[] | ||||
|   /** list of partial integration objects */ | ||||
|   integrations: GuildIntegrationPayload[] | ||||
| } | ||||
| 
 | ||||
| export interface AuditLogEntryPayload { | ||||
|   /** id of the affected entity (webhook, user, role, etc.) */ | ||||
|   target_id: string | null | ||||
|   /** changes made to the target_id */ | ||||
|   changes?: AuditLogChangePayload[] | ||||
|   /** the user who made the changes */ | ||||
|   user_id: string | ||||
|   /** id of the entry */ | ||||
|   id: string | ||||
|   /** type of action that occurred */ | ||||
|   action_type: AuditLogEvents | ||||
|   /** additional info for certain action types */ | ||||
|   options?: OptionalAuditEntryInfoPayload | ||||
|   /** the reason for the change (0-512 characters) */ | ||||
|   reason?: string | ||||
| } | ||||
| 
 | ||||
| export interface OptionalAuditEntryInfoPayload { | ||||
|   /** number of days after which inactive members were kicked */ | ||||
|   delete_member_days: string | ||||
|   /** number of members removed by the prune */ | ||||
|   members_removed: string | ||||
|   /** channel in which the entities were targeted */ | ||||
|   channel_id: string | ||||
|   /** id of the message that was targeted */ | ||||
|   message_id: string | ||||
|   /** number of entities that were targeted */ | ||||
|   count: string | ||||
|   /** id of the overwritten entity */ | ||||
|   id: string | ||||
|   /** type of overwritten entity - "0" for "role" or "1" for "member" */ | ||||
|   type: string | ||||
|   /** name of the role if type is "0" (not present if type is "1") */ | ||||
|   role_name: string | ||||
| } | ||||
| 
 | ||||
| /** > info | ||||
| > If `new_value` is not present in the change object, while `old_value` is, that means the property that was changed has been reset, or set to `null` */ | ||||
| export interface AuditLogChangePayload { | ||||
|   /** new value of the key */ | ||||
|   new_value?: any | ||||
|   /** old value of the key */ | ||||
|   old_value?: any | ||||
|   /** name of audit log [change key](#DOCS_RESOURCES_AUDIT_LOG/audit-log-change-object-audit-log-change-key) */ | ||||
|   key: string | ||||
| } | ||||
|  |  | |||
|  | @ -20,3 +20,20 @@ export interface PartialInvitePayload { | |||
|   channel: Channel | ||||
|   guild?: Guild | ||||
| } | ||||
| 
 | ||||
| export interface InviteMetadataPayload { | ||||
|   /** number of times this invite has been used */ | ||||
|   uses: number | ||||
|   /** max number of times this invite can be used */ | ||||
|   max_uses: number | ||||
|   /** duration (in seconds) after which the invite expires */ | ||||
|   max_age: number | ||||
|   /** whether this invite only grants temporary membership */ | ||||
|   temporary: boolean | ||||
|   /** when this invite was created */ | ||||
|   created_at: Date | ||||
| } | ||||
| 
 | ||||
| export interface InviteWithMetadataPayload | ||||
|   extends InvitePayload, | ||||
|     InviteMetadataPayload {} | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue