Add Types and Finish Endpoints (TODO: ENDPOINT #1)
Co-Authored-By: yky4589 <8479056+yky4589@users.noreply.github.com> Co-Authored-By: Choi Minseo <minseo0388@outlook.com> Co-Authored-By: Aki <akiacode@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									9b34b59b38
								
							
						
					
					
						commit
						599997414b
					
				
					 13 changed files with 631 additions and 88 deletions
				
			
		
							
								
								
									
										231
									
								
								src/types/channelTypes.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										231
									
								
								src/types/channelTypes.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,231 @@ | ||||||
|  | interface Channel { | ||||||
|  |     id: string | ||||||
|  |     type: number | ||||||
|  |     guild_id?: string | ||||||
|  |     position?: number | ||||||
|  |     approximate_member_count?: Overwrite | ||||||
|  |     name?: string | ||||||
|  |     topic?: string | undefined | ||||||
|  |     nsfw?: boolean | ||||||
|  |     last_message_id?: string | ||||||
|  |     bitrate?: number | ||||||
|  |     user_limit?: number | ||||||
|  |     rate_limit_per_user?: number | ||||||
|  |     recipients?: User | ||||||
|  |     icon?: string | undefined | ||||||
|  |     owner_id?: string | ||||||
|  |     application_id?: string | ||||||
|  |     parent_id?: string | undefined  | ||||||
|  |     last_pin_timestamp?: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface Overwrite { | ||||||
|  |     id: string | ||||||
|  |     type: number | ||||||
|  |     allow: string | ||||||
|  |     deny: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | enum ChannelTypes { | ||||||
|  |     GUILD_TEXT = 0, | ||||||
|  |     DM = 1, | ||||||
|  |     GUILD_VOICE = 2, | ||||||
|  |     GROUP_DM = 3, | ||||||
|  |     GUILD_CATEGORY = 4, | ||||||
|  |     GUILD_NEWS = 5, | ||||||
|  |     GUILD_STORE = 6 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface Message { | ||||||
|  |     id: string | ||||||
|  |     channel_id: string | ||||||
|  |     guild_id?: string | ||||||
|  |     suthor: User | ||||||
|  |     member?: GuildMember | ||||||
|  |     content: string | ||||||
|  |     timestamp: string | ||||||
|  |     edited_timestamp: string | undefined | ||||||
|  |     tts: boolean | ||||||
|  |     mention_everyone: boolean | ||||||
|  |     mentions: User[]  | ||||||
|  |     mention_roles: Role[] | ||||||
|  |     mention_channels?: ChannelMention[]  | ||||||
|  |     attachments: Attachment[] | ||||||
|  |     embeds: Embed[] | ||||||
|  |     reactions?: Reaction[] | ||||||
|  |     nonce?: number | string | ||||||
|  |     pinned: boolean | ||||||
|  |     webhook_id?: string | ||||||
|  |     type: number | ||||||
|  |     activity?: MessageActivity | ||||||
|  |     application?: MessageApplication  | ||||||
|  |     message_reference?: MessageReference  | ||||||
|  |     flags?: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface ChannelMention { | ||||||
|  |     id: string | ||||||
|  |     guild_id: string | ||||||
|  |     type: ChannelTypes | ||||||
|  |     name: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface Attachment { | ||||||
|  |     id: string | ||||||
|  |     filename: string | ||||||
|  |     size: number | ||||||
|  |     url: string | ||||||
|  |     proxy_url: string | ||||||
|  |     height: number | undefined | ||||||
|  |     width: number | undefined | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface Embed { | ||||||
|  |     title?: string | ||||||
|  |     type?: EmbedTypes | ||||||
|  |     description?: string | ||||||
|  |     url?: string | ||||||
|  |     timestamp?: string | ||||||
|  |     color?: number | ||||||
|  |     footer?: EmbedFooter | ||||||
|  |     image?: EmbedImage | ||||||
|  |     thumbnail?:	EmbedThumbnail | ||||||
|  |     video?: EmbedVideo | ||||||
|  |     provider?: EmbedProvider | ||||||
|  |     author?: EmbedAuthor  | ||||||
|  |     fields?: EmbedField[]  | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type EmbedTypes =  | ||||||
|  |  | "rich" | ||||||
|  |  | "image" | ||||||
|  |  | "video" | ||||||
|  |  | "gifv" | ||||||
|  |  | "article" | ||||||
|  |  | "link" | ||||||
|  | 
 | ||||||
|  | interface EmbedField { | ||||||
|  |     name: string | ||||||
|  |     value: string | ||||||
|  |     inline?: boolean | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface EmbedAuthor { | ||||||
|  |     name?: string | ||||||
|  |     url?: string | ||||||
|  |     icon_url?: string | ||||||
|  |     proxy_icon_url?: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface EmbedFooter { | ||||||
|  |     text: string | ||||||
|  |     icon_url?: string | ||||||
|  |     proxy_icon_url?: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface EmbedImage { | ||||||
|  |     url?: string | ||||||
|  |     proxy_url?: string | ||||||
|  |     height?: number | ||||||
|  |     width?: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface EmbedProvider { | ||||||
|  |     name?: string | ||||||
|  |     url?: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface EmbedVideo { | ||||||
|  |     url?: string | ||||||
|  |     height?: number | ||||||
|  |     width?: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface EmbedThumbnail { | ||||||
|  |     url?: string | ||||||
|  |     proxy_url?: string | ||||||
|  |     height?: number | ||||||
|  |     width?: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface Reaction { | ||||||
|  |     count: number | ||||||
|  |     me: boolean | ||||||
|  |     emoji: Emoji | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface MessageActivity { | ||||||
|  |     type: MessageTypes | ||||||
|  |     party_id?: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface MessageApplication { | ||||||
|  |     id: string | ||||||
|  |     cover_image?: string | ||||||
|  |     desription: string | ||||||
|  |     icon: string | undefined | ||||||
|  |     name: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface MessageReference { | ||||||
|  |     message_id?: string | ||||||
|  |     channel_id?: string | ||||||
|  |     guild_id?: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | enum MessageTypes { | ||||||
|  |     DEFAULT = 0, | ||||||
|  |     RECIPIENT_ADD = 1, | ||||||
|  |     RECIPIENT_REMOVE = 2, | ||||||
|  |     CALL = 3, | ||||||
|  |     CHANNEL_NAME_CHANGE = 4, | ||||||
|  |     CHANNEL_ICON_CHANGE = 5, | ||||||
|  |     CHANNEL_PINNED_MESSAGE = 6, | ||||||
|  |     GUILD_MEMBER_JOIN = 7, | ||||||
|  |     USER_PREMIUM_GUILD_SUBSCRIPTION = 8, | ||||||
|  |     USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_1 = 9, | ||||||
|  |     USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_2 = 10, | ||||||
|  |     USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_3 = 11, | ||||||
|  |     CHANNEL_FOLLOW_ADD = 12, | ||||||
|  |     GUILD_DISCOVERY_DISQUALIFIED = 14, | ||||||
|  |     GUILD_DISCOVERY_REQUALIFIED = 15 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | enum MessageActivityTypes { | ||||||
|  |     JOIN = 1, | ||||||
|  |     SPECTATE = 2, | ||||||
|  |     LISTEN = 3, | ||||||
|  |     JOIN_REQUEST = 4 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | enum MessageFlags { | ||||||
|  |     CROSSPOSTED = 1 << 0, | ||||||
|  |     IS_CROSSPOST = 1 << 1, | ||||||
|  |     SUPPRESS_EMBEDS = 1 << 2, | ||||||
|  |     SOURCE_MESSAGE_DELETED = 1 << 3, | ||||||
|  |     URGENT = 1 << 4 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface FollowedChannel { | ||||||
|  |     channel_id: string, | ||||||
|  |     webhook_id: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface Reaction { | ||||||
|  |     count: number, | ||||||
|  |     me: boolean | ||||||
|  |     emoji: Emoji | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface Overwrite { | ||||||
|  |     id: string, | ||||||
|  |     type: number  | ||||||
|  |     allow: string | ||||||
|  |     deny: string | ||||||
|  | } | ||||||
|  | interface ChannelMention { | ||||||
|  |     id: string | ||||||
|  |     guild_id: string | ||||||
|  |     type: ChannelTypes | ||||||
|  |     name: string | ||||||
|  | } | ||||||
							
								
								
									
										10
									
								
								src/types/emojiTypes.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								src/types/emojiTypes.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | ||||||
|  | interface Emoji { | ||||||
|  |     id: string | ||||||
|  |     name: string | undefined | ||||||
|  |     roles?: [] | ||||||
|  |     user?: User | ||||||
|  |     require_colons?: boolean | ||||||
|  |     managed?: boolean | ||||||
|  |     animated?: boolean | ||||||
|  |     available?: boolean | ||||||
|  | } | ||||||
|  | @ -3,145 +3,180 @@ | ||||||
| import { | import { | ||||||
|   DISCORD_API_URL, |   DISCORD_API_URL, | ||||||
|   DISCORD_API_VERSION, |   DISCORD_API_VERSION, | ||||||
|   DISCORD_CDN_URL |   DISCORD_CDN_URL, | ||||||
| } from '../consts/urlsAndVersions' | } from "../consts/urlsAndVersions"; | ||||||
| 
 | 
 | ||||||
| //Guild Endpoints
 | //Guild Endpoints
 | ||||||
| const GUILDS = `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds` | const GUILDS = `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds`; | ||||||
| const GUILD = (guildID: string) => | const GUILD = (guildID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}`; | ||||||
| const GUILD_AUDIT_LOGS = (guildID: string) => | const GUILD_AUDIT_LOGS = (guildID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/audit-logs` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/audit-logs`; | ||||||
| const GUILD_WIDGET = (guildID: string) => | const GUILD_WIDGET = (guildID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/widget` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/widget`; | ||||||
| const GUILD_EMOJI = (guildID: string, emoji_id: string) => | const GUILD_EMOJI = (guildID: string, emoji_id: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/emojis/${emoji_id}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/emojis/${emoji_id}`; | ||||||
| const GUILD_ROLE = (guildID: string, roleID: string) => | const GUILD_ROLE = (guildID: string, roleID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/roles/${roleID}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/roles/${roleID}`; | ||||||
| const GUILD_ROLES = (guildID: string) => | const GUILD_ROLES = (guildID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/roles` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/roles`; | ||||||
| const GUILD_INTEGRATION = (guildID: string, integrationID: string) => | const GUILD_INTEGRATION = (guildID: string, integrationID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/integrations/${integrationID}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/integrations/${integrationID}`; | ||||||
| const GUILD_INTEGRATIONS = (guildID: string) => | const GUILD_INTEGRATIONS = (guildID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/integrations` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/integrations`; | ||||||
| const GUILD_INTEGARTION_SYNC = (guildID: string) => | const GUILD_INTEGARTION_SYNC = (guildID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/integrations?include_appilications=true` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/integrations?include_appilications=true`; | ||||||
| const GUILD_BAN = (guildID: string, userID: string) => | const GUILD_BAN = (guildID: string, userID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/bans/${userID}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/bans/${userID}`; | ||||||
| const GUILD_BANS = (guildID: string) => | const GUILD_BANS = (guildID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/bans` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/bans`; | ||||||
| const GUILD_CHANNEL = (channelID: string) => | const GUILD_CHANNEL = (channelID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}`; | ||||||
| const GUILD_CHANNELS = (guildID: string, channelID: string) => | const GUILD_CHANNELS = (guildID: string, channelID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/channels` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/channels`; | ||||||
| const GUILD_MEMBER = (guildID: string, memberID: string) => | const GUILD_MEMBER = (guildID: string, memberID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/members/${memberID}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/members/${memberID}`; | ||||||
|  | const GUILD_MEMBERS = (guildID: string) => | ||||||
|  |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/members`; | ||||||
| const GUILD_MEMBER_ROLE = (guildID: string, memberID: string, roleID: string) => | const GUILD_MEMBER_ROLE = (guildID: string, memberID: string, roleID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/members/${memberID}/roles/${roleID}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/members/${memberID}/roles/${roleID}`; | ||||||
| const GUILD_INVITES = (guildID: string) => | const GUILD_INVITES = (guildID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/invites` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/invites`; | ||||||
| const GUILD_LEAVE = (guildID: string) => | const GUILD_LEAVE = (guildID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/users/@me/guilds/${guildID}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/users/@me/guilds/${guildID}`; | ||||||
| const GUILD_PRUNE = (guildID: string) => | const GUILD_PRUNE = (guildID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/prune` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/prune`; | ||||||
| const VANITY_URL = (guildID: string) => | const GUILD_VANITY_URL = (guildID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/vanity-url` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/vanity-url`; | ||||||
| 
 | const GUILD_NICK = (guildID: string) => | ||||||
|  |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/members/@me/nick`; | ||||||
|  | const GUILD_WIDGET_IMAGE = (guildID: string) => | ||||||
|  |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/widget.png`; | ||||||
|  | const GUILD_PREVIEW = (guildID: string) => | ||||||
|  |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/preview`; | ||||||
| 
 | 
 | ||||||
| //Channel Endpoints
 | //Channel Endpoints
 | ||||||
| const CHANNEL = (channelID: string) => | const CHANNEL = (channelID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}`; | ||||||
| const CHANNELS = (channelID: string) => | const CHANNELS = (channelID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${channelID}/channels` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${channelID}/channels`; | ||||||
| const CHANNEL_MESSAGES = (channelID: string) => | const CHANNEL_MESSAGES = (channelID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/messages` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/messages`; | ||||||
| const CHANNEL_MESSAGE = (channelID: string, messageID: string) => | const CHANNEL_MESSAGE = (channelID: string, messageID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/messages/${messageID}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/messages/${messageID}`; | ||||||
| const CHANNEL_CROSSPOST = (channelID: string, messageID: string) => | const CHANNEL_CROSSPOST = (channelID: string, messageID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/messages/${messageID}/crosspost` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/messages/${messageID}/crosspost`; | ||||||
| const MESSAGE_REACTIONS = (channelID: string, messageID: string) => | const MESSAGE_REACTIONS = (channelID: string, messageID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/messages/${messageID}/reactions` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/messages/${messageID}/reactions`; | ||||||
| const MESSAGE_REACTION = (channelID: string, messageID: string, emoji: string) => | const MESSAGE_REACTION = ( | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/messages/${messageID}/reactions/${emoji}` |   channelID: string, | ||||||
| const MESSAGE_REACTION_ME = (channelID: string, messageID: string, emojiID: string) => |   messageID: string, | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/messages/${messageID}/reactions/${emojiID}/@me` |   emoji: string, | ||||||
| const MESSAGE_REACTION_USER = (channelID: string, messageID: string, emojiID: string, userID: string) => | ) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/messages/${messageID}/reactions/${emojiID}/${userID}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/messages/${messageID}/reactions/${emoji}`; | ||||||
|  | const MESSAGE_REACTION_ME = ( | ||||||
|  |   channelID: string, | ||||||
|  |   messageID: string, | ||||||
|  |   emojiID: string, | ||||||
|  | ) => | ||||||
|  |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/messages/${messageID}/reactions/${emojiID}/@me`; | ||||||
|  | const MESSAGE_REACTION_USER = ( | ||||||
|  |   channelID: string, | ||||||
|  |   messageID: string, | ||||||
|  |   emojiID: string, | ||||||
|  |   userID: string, | ||||||
|  | ) => | ||||||
|  |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/messages/${messageID}/reactions/${emojiID}/${userID}`; | ||||||
| const CHANNEL_BULK_DELETE = (channelID: string) => | const CHANNEL_BULK_DELETE = (channelID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/messages/bulk-delete` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/messages/bulk-delete`; | ||||||
| const CHANNEL_FOLLOW = (channelID: string) => | const CHANNEL_FOLLOW = (channelID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/followers` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/followers`; | ||||||
| const CHANNEL_INVITES = (channelID: string) => | const CHANNEL_INVITES = (channelID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/invites` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/invites`; | ||||||
|  | const CHANNEL_PIN = (channelID: string, messageID: string) => | ||||||
|  |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/pins/${messageID}`; | ||||||
| const CHANNEL_PINS = (channelID: string) => | const CHANNEL_PINS = (channelID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/pins` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/pins`; | ||||||
|  | const CHANNEL_PERMISSION = (channelID: string, overrideID: string) => | ||||||
|  |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/permissions/${overrideID}`; | ||||||
|  | const CHANNEL_TYPING = (channelID: string) => | ||||||
|  |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/typing`; | ||||||
|  | const GROUP_RECIPIENT = (channelID: string, userID: string) => | ||||||
|  |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/recipient/${userID}`; | ||||||
| 
 | 
 | ||||||
| //User Endpoints
 | //User Endpoints
 | ||||||
| const CURRENT_USER = `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/users/@me` | const CURRENT_USER = `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/users/@me`; | ||||||
| const CURRENT_USER_GUILDS = `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/users/@me/guilds` | const CURRENT_USER_GUILDS = | ||||||
| const USER_DM = `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/users/@me/channels` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/users/@me/guilds`; | ||||||
| const USER_CONNECTIONS = `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/users/@me/connections` | const USER_DM = `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/users/@me/channels`; | ||||||
|  | const USER_CONNECTIONS = | ||||||
|  |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/users/@me/connections`; | ||||||
| const LEAVE_GUILD = (guildID: string) => | const LEAVE_GUILD = (guildID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/users/@me/guilds/${guildID}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/users/@me/guilds/${guildID}`; | ||||||
| const USER = (userID: string) => | const USER = (userID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/users/${userID}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/users/${userID}`; | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| //Webhook Endpoints
 | //Webhook Endpoints
 | ||||||
| const CHANNEL_WEBHOOKS = (channelID: string) => | const CHANNEL_WEBHOOKS = (channelID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/webhooks` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/channels/${channelID}/webhooks`; | ||||||
| const GUILD_WEBHOOK = (guildID: string) => | const GUILD_WEBHOOK = (guildID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/webhooks` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/webhooks`; | ||||||
| const WEBHOOK = (webhookID: string) => | const WEBHOOK = (webhookID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/webhooks/${webhookID}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/webhooks/${webhookID}`; | ||||||
| const WEBHOOK_WITH_TOKEN = (webhookID: string, webhookTOKEN: string) => | const WEBHOOK_WITH_TOKEN = (webhookID: string, webhookTOKEN: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/webhooks/${webhookID}/${webhookTOKEN}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/webhooks/${webhookID}/${webhookTOKEN}`; | ||||||
| const SLACK_WEBHOOK = (webhookID: string, webhookTOKEN: string) => | const SLACK_WEBHOOK = (webhookID: string, webhookTOKEN: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/webhooks/${webhookID}/${webhookTOKEN}/slack` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/webhooks/${webhookID}/${webhookTOKEN}/slack`; | ||||||
| const GITHUB_WEBHOOK = (webhookID: string, webhookTOKEN: string) => | const GITHUB_WEBHOOK = (webhookID: string, webhookTOKEN: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/webhooks/${webhookID}/${webhookTOKEN}/github` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/webhooks/${webhookID}/${webhookTOKEN}/github`; | ||||||
| 
 | 
 | ||||||
| //Gateway Endpoints
 | //Gateway Endpoints
 | ||||||
| const GATEWAY = `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/gateway` | const GATEWAY = `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/gateway`; | ||||||
| const GATEWAY_BOT = `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/gateway/bot` | const GATEWAY_BOT = `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/gateway/bot`; | ||||||
| 
 | 
 | ||||||
| //CDN Endpoints
 | //CDN Endpoints
 | ||||||
| const CUSTOM_EMOJI = (emojiID: string) => | const CUSTOM_EMOJI = (emojiID: string) => | ||||||
|   `${DISCORD_CDN_URL}/emojis/${emojiID}.png` |   `${DISCORD_CDN_URL}/emojis/${emojiID}.png`; | ||||||
| const GUILD_ICON = (guildID: string, iconID: number) => | const GUILD_ICON = (guildID: string, iconID: number) => | ||||||
|   `${DISCORD_CDN_URL}/icons/${guildID}/${iconID}.png` |   `${DISCORD_CDN_URL}/icons/${guildID}/${iconID}.png`; | ||||||
| const GUILD_SPLASH = (guildID: string, guildSPLASH: string) => | const GUILD_SPLASH = (guildID: string, guildSPLASH: string) => | ||||||
|   `${DISCORD_CDN_URL}/splashes/${guildID}/${guildSPLASH}.png` |   `${DISCORD_CDN_URL}/splashes/${guildID}/${guildSPLASH}.png`; | ||||||
| const GUILD_DISCOVERY_SPLASH = (guildID: string, guildDiscoverySplash: string) => | const GUILD_DISCOVERY_SPLASH = ( | ||||||
|   `${DISCORD_CDN_URL}/discovery-splashes/${guildID}/${guildDiscoverySplash}.png	` |   guildID: string, | ||||||
|  |   guildDiscoverySplash: string, | ||||||
|  | ) => | ||||||
|  |   `${DISCORD_CDN_URL}/discovery-splashes/${guildID}/${guildDiscoverySplash}.png	`; | ||||||
| const GUILD_BANNER = (guildID: string, guildBANNER: string) => | const GUILD_BANNER = (guildID: string, guildBANNER: string) => | ||||||
|   `${DISCORD_CDN_URL}/banners/${guildID}/${guildBANNER}.png` |   `${DISCORD_CDN_URL}/banners/${guildID}/${guildBANNER}.png`; | ||||||
| const DEFAULT_USER_AVATAR = (iconID: string) => | const DEFAULT_USER_AVATAR = (iconID: string) => | ||||||
|   `${DISCORD_CDN_URL}/embed/avatars/${iconID}.png` |   `${DISCORD_CDN_URL}/embed/avatars/${iconID}.png`; | ||||||
| const USER_AVATAR = (userID: string, iconID: string) => | const USER_AVATAR = (userID: string, iconID: string) => | ||||||
|   `${DISCORD_CDN_URL}/avatars/${userID}/${iconID}.png` |   `${DISCORD_CDN_URL}/avatars/${userID}/${iconID}.png`; | ||||||
| const APPLICATION_ASSET = (applicationID: string, assetID: number) => | const APPLICATION_ASSET = (applicationID: string, assetID: number) => | ||||||
|   `${DISCORD_CDN_URL}/app-icons/${applicationID}/${assetID}.png` |   `${DISCORD_CDN_URL}/app-icons/${applicationID}/${assetID}.png`; | ||||||
| const ACHIEVEMENT_ICON = (applicationID: string, achievementID: string,  iconHASH: string) => | const ACHIEVEMENT_ICON = ( | ||||||
|   `${DISCORD_CDN_URL}/app-assets/${applicationID}/achievements/${achievementID}/icons/${iconHASH}.png` |   applicationID: string, | ||||||
|  |   achievementID: string, | ||||||
|  |   iconHASH: string, | ||||||
|  | ) => | ||||||
|  |   `${DISCORD_CDN_URL}/app-assets/${applicationID}/achievements/${achievementID}/icons/${iconHASH}.png`; | ||||||
| const TEAM_ICON = (teamID: string, iconID: string) => | const TEAM_ICON = (teamID: string, iconID: string) => | ||||||
|   `${DISCORD_CDN_URL}/team-icons/${teamID}/${iconID}.png` |   `${DISCORD_CDN_URL}/team-icons/${teamID}/${iconID}.png`; | ||||||
| 
 | 
 | ||||||
| //Emoji Endpoints
 | //Emoji Endpoints
 | ||||||
| const EMOJI = (guildID: string, emojiID: string) => | const EMOJI = (guildID: string, emojiID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/emojis/${emojiID}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/emojis/${emojiID}`; | ||||||
| const EMOJIS = (guildID: string) => | const EMOJIS = (guildID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/emojis` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/emojis`; | ||||||
| 
 | 
 | ||||||
| //Template Endpoint
 | //Template Endpoint
 | ||||||
| const TEMPLATE = (templateCODE: string) => | const TEMPLATE = (templateCODE: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/templates/${templateCODE}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/templates/${templateCODE}`; | ||||||
| 
 | 
 | ||||||
| //Invite Endpoint
 | //Invite Endpoint
 | ||||||
| const INVITE = (inviteCODE: string) => | const INVITE = (inviteCODE: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/invites/${inviteCODE}` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/invites/${inviteCODE}`; | ||||||
| 
 | 
 | ||||||
| //Voice Endpoint
 | //Voice Endpoint
 | ||||||
| const VOICE_REGIONS= (guildID: string) => | const VOICE_REGIONS = (guildID: string) => | ||||||
|   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/regions` |   `${DISCORD_API_URL}/v${DISCORD_API_VERSION}/guilds/${guildID}/regions`; | ||||||
|  |  | ||||||
							
								
								
									
										107
									
								
								src/types/guildTypes.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								src/types/guildTypes.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,107 @@ | ||||||
|  | interface Guild { | ||||||
|  |     id: string | ||||||
|  |     name: string | ||||||
|  |     icon: string | undefined | ||||||
|  |     icon_hash?: string | undefined | ||||||
|  |     splash: string | undefined | ||||||
|  |     discovery_splash: string | undefined | ||||||
|  |     owner?: boolean | ||||||
|  |     owner_id: string | ||||||
|  |     permissions?: string | ||||||
|  |     region: string | ||||||
|  |     afk_channel_id: string | undefined | ||||||
|  |     afk_timeout: number | ||||||
|  |     widget_enabled?: boolean | ||||||
|  |     widge_channel_id?: string | undefined | ||||||
|  |     verification_level: string | ||||||
|  |     default_message_notifications: string | ||||||
|  |     explicit_content_filter: string | ||||||
|  |     roles: Role[] | ||||||
|  |     emojis: Emoji[] | ||||||
|  |     features: GuildFeatures[] | ||||||
|  |     mfa_level: string | ||||||
|  |     application_id: string | undefined | ||||||
|  |     system_channel_id: string | undefined | ||||||
|  |     system_channel_flags: string | ||||||
|  |     rules_channel_id: string | undefined  | ||||||
|  |     joined_at?: string | ||||||
|  |     large?: boolean | ||||||
|  |     unavailable: boolean | ||||||
|  |     member_count?: number | ||||||
|  |     voice_states?: VoiceState[] | ||||||
|  |     members?: GuildMember[] | ||||||
|  |     channels?: Channel[] | ||||||
|  |     presences?: PresenceUpdate[]  | ||||||
|  |     max_presences?: number | undefined | ||||||
|  |     max_members?: number | ||||||
|  |     vanity_url_code: string | undefined | ||||||
|  |     description: string | undefined | ||||||
|  |     banner: string | undefined | ||||||
|  |     premium_tier: number | ||||||
|  |     premium_subscription_count?: number | ||||||
|  |     preferred_locale: string | ||||||
|  |     public_updates_channel_id: string | undefined | ||||||
|  |     max_video_channel_users?: number | ||||||
|  |     approximate_number_count?: number | ||||||
|  |     approximate_presence_count?: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface GuildMember { | ||||||
|  |     user?: User | ||||||
|  |     nick: string | undefined | ||||||
|  |     roles: Role[] | ||||||
|  |     joined_at: string | ||||||
|  |     premium_since?: string | undefined | ||||||
|  |     deaf: boolean | ||||||
|  |     mute: boolean | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | enum MessageNotification { | ||||||
|  |     ALL_MESSAGES = 0, | ||||||
|  |     ONLY_MENTIONS = 1 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | enum ContentFilter { | ||||||
|  |     DISABLED = 0, | ||||||
|  |     MEMBERS_WITHOUT_ROLES = 1, | ||||||
|  |     ALL_MEMBERS = 3, | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | enum MFA { | ||||||
|  |     NONE = 0, | ||||||
|  |     ELEVATED = 1 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | enum Verification { | ||||||
|  |     NONE = 0, | ||||||
|  |     LOW = 1, | ||||||
|  |     MEDIUM = 2, | ||||||
|  |     HIGH = 3, | ||||||
|  |     VERY_HIGH = 4 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | enum PremiumTier { | ||||||
|  |     NONE = 0, | ||||||
|  |     TIER_1 = 1, | ||||||
|  |     TIER_2 = 2, | ||||||
|  |     TIER_3 = 3 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | enum SystemChannelFlags { | ||||||
|  |     SUPPRESS_JOIN_NOTIFICATIONS = 1 << 0, | ||||||
|  |     SUPPRESS_PREMIUM_SUBSCRIPTIONS = 1 << 1 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type GuildFeatures = | ||||||
|  |   | "INVITE_SPLASH" | ||||||
|  |   | "VIP_REGIONS" | ||||||
|  |   | "VANITY_URL" | ||||||
|  |   | "VERIFIED" | ||||||
|  |   | "PARTNERED" | ||||||
|  |   | "PUBLIC" | ||||||
|  |   | "COMMERCE" | ||||||
|  |   | "NEWS" | ||||||
|  |   | "DISCOVERABLE" | ||||||
|  |   | "FEATURABLE" | ||||||
|  |   | "ANIMATED_ICON" | ||||||
|  |   | "BANNER" | ||||||
							
								
								
									
										10
									
								
								src/types/inviteTypes.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								src/types/inviteTypes.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | ||||||
|  | interface Invite { | ||||||
|  |     code: string | ||||||
|  |     guild?: any //guild object
 | ||||||
|  |     channel: any //channel object
 | ||||||
|  |     inviter?: User | ||||||
|  |     target_user?: User | ||||||
|  |     target_user_type?: number | ||||||
|  |     approximate_presence_count?: number | ||||||
|  |     approximate_member_count?: number | ||||||
|  | } | ||||||
							
								
								
									
										72
									
								
								src/types/presenceTypes.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								src/types/presenceTypes.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,72 @@ | ||||||
|  | interface PresenceUpdate { | ||||||
|  |     user: User | ||||||
|  |     guild_id: string | ||||||
|  |     status: string | ||||||
|  |     activities: Activity | ||||||
|  |     client_status:  | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface ClientStatus { | ||||||
|  |     desktop?: string | ||||||
|  |     mobile?: string | ||||||
|  |     web?: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface Activity { | ||||||
|  |     name: string | ||||||
|  |     type: 0 | 1 | 2 | 3 | 4 | 5 | ||||||
|  |     url?: string | undefined | ||||||
|  |     created_at: number | ||||||
|  |     timestamps?: ActivityTimestamps | ||||||
|  |     application_id?: string | ||||||
|  |     details?: string | undefined | ||||||
|  |     state?: string | undefined | ||||||
|  |     emoji?: ActivityEmoji | ||||||
|  |     party?: ActivityParty | ||||||
|  |     assets?: ActivityAssets | ||||||
|  |     secrets?: ActivitySecrets | ||||||
|  |     instance?: boolean | ||||||
|  |     flags?: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface ActivityTimestamps { | ||||||
|  |     start?: number | ||||||
|  |     end?: number | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface ActivityEmoji { | ||||||
|  |     name: string | ||||||
|  |     id?: string | ||||||
|  |     animated?: boolean | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface ActivityParty { | ||||||
|  |     id?: string | ||||||
|  |     size?: number[] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface ActivityAssets { | ||||||
|  |     large_image?: string | ||||||
|  |     large_text?: string | ||||||
|  |     small_image?: string | ||||||
|  |     small_text?: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface ActivitySecrets { | ||||||
|  |     join?: string | ||||||
|  |     spectate?: string | ||||||
|  |     match?: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | enum ActivityFlags { | ||||||
|  |     INSTANCE = 1 << 0, | ||||||
|  |     JOIN = 1 << 1, | ||||||
|  |     SPECTATE = 1 << 2, | ||||||
|  |     JOIN_REQUEST = 1 << 3, | ||||||
|  |     SYNC = 1 << 4, | ||||||
|  |     PLAY = 1 << 5 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // channel 에서 message 부분 하삼 ㄳ
 | ||||||
|  | //시1 오늘 7교시 수업안듣고 이거 ㅋㅋ 에바 온라인수업이라 ㅆㄱㄴ
 | ||||||
|  | //나도 한다 디코에서 알려주셈 뭐하면되는지
 | ||||||
							
								
								
									
										10
									
								
								src/types/roleTypes.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								src/types/roleTypes.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | ||||||
|  | interface Role { | ||||||
|  |     id: string | ||||||
|  |     name: string | ||||||
|  |     color: number | ||||||
|  |     hoist: boolean | ||||||
|  |     position: number | ||||||
|  |     permissions: string | ||||||
|  |     managed: boolean | ||||||
|  |     mentionable: boolean | ||||||
|  | } | ||||||
							
								
								
									
										19
									
								
								src/types/snowflake.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								src/types/snowflake.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | ||||||
|  | // 와갈, 따꾸, 동한드
 | ||||||
|  | export class Snowflake { | ||||||
|  |   id: string; | ||||||
|  |   constructor(id: string) { | ||||||
|  |     this.id = id; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   deconstruct() { | ||||||
|  |     const snowflake = BigInt.asUintN(64, BigInt(this.id)); | ||||||
|  |     const res = { | ||||||
|  |       timestamp: (snowflake << BigInt(22)) + BigInt(1420070400000), | ||||||
|  |       workerId: (snowflake & BigInt(0x3E0000)) >> BigInt(17), | ||||||
|  |       processId: (snowflake & BigInt(0x1F000)) >> BigInt(12), | ||||||
|  |       increment: snowflake & BigInt(0xFFF), | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     return res; | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										13
									
								
								src/types/templateTypes.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								src/types/templateTypes.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | ||||||
|  | interface Template { | ||||||
|  |     code: string | ||||||
|  |     name: string | ||||||
|  |     description: string | undefined | ||||||
|  |     usage_count: number | ||||||
|  |     creator_id: string | ||||||
|  |     creator: User | ||||||
|  |     created_at: string | ||||||
|  |     updated_at: string | ||||||
|  |     source_guild_id: string | ||||||
|  |     serialized_source_guild: any //guild object
 | ||||||
|  |     is_dirty: boolean | undefined | ||||||
|  | } | ||||||
							
								
								
									
										15
									
								
								src/types/userTypes.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								src/types/userTypes.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | ||||||
|  | interface User { | ||||||
|  |   id: string | ||||||
|  |   username: string | ||||||
|  |   discriminator: string | ||||||
|  |   avatar: string | undefined | ||||||
|  |   bot?: boolean | ||||||
|  |   system?: boolean | ||||||
|  |   mfa_enabled?: boolean | ||||||
|  |   locale?: string | ||||||
|  |   verified?: boolean | ||||||
|  |   email?: string | undefined | ||||||
|  |   flags?: number | ||||||
|  |   premium_type?: 0 | 1 | 2 | ||||||
|  |   public_flags?: number | ||||||
|  | } | ||||||
|  | @ -11,7 +11,7 @@ enum VoiceOpcodes { // VoiceOpcodes 추가 - UnderC - | ||||||
|   RESUME = 7, |   RESUME = 7, | ||||||
|   HELLO = 8, |   HELLO = 8, | ||||||
|   RESUMED = 9, |   RESUMED = 9, | ||||||
|   CLIENT_DISCONNECT = 13 |   CLIENT_DISCONNECT = 13, | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| enum VoiceCloseCodes { | enum VoiceCloseCodes { | ||||||
|  | @ -25,5 +25,20 @@ enum VoiceCloseCodes { | ||||||
|   UNKNOWN_PROTOCOL = 4012, |   UNKNOWN_PROTOCOL = 4012, | ||||||
|   DISCONNECTED = 4014, |   DISCONNECTED = 4014, | ||||||
|   VOICE_SERVER_CRASHED = 4015, |   VOICE_SERVER_CRASHED = 4015, | ||||||
|   UNKNOWN_ENCRYPTION_MODE = 4016 |   UNKNOWN_ENCRYPTION_MODE = 4016, | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface VoiceState { | ||||||
|  |   guild_id?: string | ||||||
|  |   channel_id: string | undefined  | ||||||
|  |   user_id: string | ||||||
|  |   member?: GuildMember | ||||||
|  |   session_id: string | ||||||
|  |   deaf: boolean | ||||||
|  |   mute: boolean | ||||||
|  |   self_deaf: boolean | ||||||
|  |   self_mute: boolean | ||||||
|  |   self_stream?: boolean | ||||||
|  |   self_video: boolean | ||||||
|  |   suppress: boolean | ||||||
| } | } | ||||||
							
								
								
									
										11
									
								
								src/types/webhookTypes.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								src/types/webhookTypes.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | interface Webhook { | ||||||
|  |     id: string | ||||||
|  |     type: 1 | 2 | ||||||
|  |     guild_id?: string | ||||||
|  |     channel_id: string | ||||||
|  |     user?: User | ||||||
|  |     name: string | undefined | ||||||
|  |     avatar: string | undefined | ||||||
|  |     token?: string | ||||||
|  |     application_id: string | undefined  | ||||||
|  | } | ||||||
|  | @ -1,14 +1,15 @@ | ||||||
| { | { | ||||||
|   "compilerOptions": { |   "compilerOptions": { | ||||||
|     /* Visit https://aka.ms/tsconfig.json to read more about this file */ |     /* Visit https://aka.ms/tsconfig.json to read more about this file */ | ||||||
| 
 |  | ||||||
|     /* Basic Options */ |     /* Basic Options */ | ||||||
|     // "incremental": true,                   /* Enable incremental compilation */ |     // "incremental": true,                   /* Enable incremental compilation */ | ||||||
|     "target": "ESNEXT", |     "target": "ESNext", | ||||||
|     /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ |     /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ | ||||||
|     "module": "ESNext", |     "module": "ESNext", | ||||||
|     /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ |     /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ | ||||||
|     // "lib": [],                             /* Specify library files to be included in the compilation. */ |     "lib": [ | ||||||
|  |       "esnext", | ||||||
|  |     ], /* Specify library files to be included in the compilation. */ | ||||||
|     // "allowJs": true,                       /* Allow javascript files to be compiled. */ |     // "allowJs": true,                       /* Allow javascript files to be compiled. */ | ||||||
|     // "checkJs": true,                       /* Report errors in .js files. */ |     // "checkJs": true,                       /* Report errors in .js files. */ | ||||||
|     // "jsx": "preserve",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ |     // "jsx": "preserve",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ | ||||||
|  | @ -25,7 +26,6 @@ | ||||||
|     // "importHelpers": true,                 /* Import emit helpers from 'tslib'. */ |     // "importHelpers": true,                 /* Import emit helpers from 'tslib'. */ | ||||||
|     // "downlevelIteration": true,            /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ |     // "downlevelIteration": true,            /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ | ||||||
|     // "isolatedModules": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ |     // "isolatedModules": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ | ||||||
| 
 |  | ||||||
|     /* Strict Type-Checking Options */ |     /* Strict Type-Checking Options */ | ||||||
|     "strict": true, |     "strict": true, | ||||||
|     /* Enable all strict type-checking options. */ |     /* Enable all strict type-checking options. */ | ||||||
|  | @ -36,13 +36,11 @@ | ||||||
|     // "strictPropertyInitialization": true,  /* Enable strict checking of property initialization in classes. */ |     // "strictPropertyInitialization": true,  /* Enable strict checking of property initialization in classes. */ | ||||||
|     // "noImplicitThis": true,                /* Raise error on 'this' expressions with an implied 'any' type. */ |     // "noImplicitThis": true,                /* Raise error on 'this' expressions with an implied 'any' type. */ | ||||||
|     // "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */ |     // "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */ | ||||||
| 
 |  | ||||||
|     /* Additional Checks */ |     /* Additional Checks */ | ||||||
|     // "noUnusedLocals": true,                /* Report errors on unused locals. */ |     // "noUnusedLocals": true,                /* Report errors on unused locals. */ | ||||||
|     // "noUnusedParameters": true,            /* Report errors on unused parameters. */ |     // "noUnusedParameters": true,            /* Report errors on unused parameters. */ | ||||||
|     // "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */ |     // "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */ | ||||||
|     // "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */ |     // "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */ | ||||||
| 
 |  | ||||||
|     /* Module Resolution Options */ |     /* Module Resolution Options */ | ||||||
|     "moduleResolution": "node", |     "moduleResolution": "node", | ||||||
|     /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ |     /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ | ||||||
|  | @ -56,17 +54,14 @@ | ||||||
|     /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ |     /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ | ||||||
|     // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */ |     // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */ | ||||||
|     // "allowUmdGlobalAccess": true,          /* Allow accessing UMD globals from modules. */ |     // "allowUmdGlobalAccess": true,          /* Allow accessing UMD globals from modules. */ | ||||||
| 
 |  | ||||||
|     /* Source Map Options */ |     /* Source Map Options */ | ||||||
|     // "sourceRoot": "",                      /* Specify the location where debugger should locate TypeScript files instead of source locations. */ |     // "sourceRoot": "",                      /* Specify the location where debugger should locate TypeScript files instead of source locations. */ | ||||||
|     // "mapRoot": "",                         /* Specify the location where debugger should locate map files instead of generated locations. */ |     // "mapRoot": "",                         /* Specify the location where debugger should locate map files instead of generated locations. */ | ||||||
|     // "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */ |     // "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */ | ||||||
|     // "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ |     // "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ | ||||||
| 
 |  | ||||||
|     /* Experimental Options */ |     /* Experimental Options */ | ||||||
|     // "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */ |     // "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */ | ||||||
|     // "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */ |     // "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */ | ||||||
| 
 |  | ||||||
|     /* Advanced Options */ |     /* Advanced Options */ | ||||||
|     "skipLibCheck": true, |     "skipLibCheck": true, | ||||||
|     /* Skip type checking of declaration files. */ |     /* Skip type checking of declaration files. */ | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue