baff.js 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/LICENSE +7 -0
  3. package/README.md +244 -3
  4. package/dist/cjs/builders/EmbedBuilder.d.ts +51 -0
  5. package/dist/cjs/builders/EmbedBuilder.js +150 -0
  6. package/dist/cjs/builders/SlashCommandBuilder.d.ts +69 -0
  7. package/dist/cjs/builders/SlashCommandBuilder.js +185 -0
  8. package/dist/cjs/builders/components/ActionRowBuilder.d.ts +14 -0
  9. package/dist/cjs/builders/components/ActionRowBuilder.js +53 -0
  10. package/dist/cjs/builders/components/ButtonBuilder.d.ts +19 -0
  11. package/dist/cjs/builders/components/ButtonBuilder.js +69 -0
  12. package/dist/cjs/builders/components/LayoutBuilders.d.ts +63 -0
  13. package/dist/cjs/builders/components/LayoutBuilders.js +179 -0
  14. package/dist/cjs/builders/components/ModalBuilder.d.ts +36 -0
  15. package/dist/cjs/builders/components/ModalBuilder.js +118 -0
  16. package/dist/cjs/builders/components/SelectMenuBuilder.d.ts +80 -0
  17. package/dist/cjs/builders/components/SelectMenuBuilder.js +192 -0
  18. package/dist/cjs/builders/components/shared.d.ts +16 -0
  19. package/dist/cjs/builders/components/shared.js +32 -0
  20. package/dist/cjs/builders/messagePayload.d.ts +35 -0
  21. package/dist/cjs/builders/messagePayload.js +88 -0
  22. package/dist/cjs/builders/validate.d.ts +12 -0
  23. package/dist/cjs/builders/validate.js +54 -0
  24. package/dist/cjs/client/Client.d.ts +63 -0
  25. package/dist/cjs/client/Client.js +152 -0
  26. package/dist/cjs/client/dispatch.d.ts +2 -0
  27. package/dist/cjs/client/dispatch.js +224 -0
  28. package/dist/cjs/client/events.d.ts +129 -0
  29. package/dist/cjs/client/events.js +2 -0
  30. package/dist/cjs/collectors/Collector.d.ts +37 -0
  31. package/dist/cjs/collectors/Collector.js +84 -0
  32. package/dist/cjs/collectors/InteractionCollector.d.ts +21 -0
  33. package/dist/cjs/collectors/InteractionCollector.js +44 -0
  34. package/dist/cjs/collectors/MessageCollector.d.ts +14 -0
  35. package/dist/cjs/collectors/MessageCollector.js +23 -0
  36. package/dist/cjs/errors/BaffError.d.ts +26 -0
  37. package/dist/cjs/errors/BaffError.js +39 -0
  38. package/dist/cjs/gateway/Gateway.d.ts +53 -0
  39. package/dist/cjs/gateway/Gateway.js +128 -0
  40. package/dist/cjs/http/handler.d.ts +11 -0
  41. package/dist/cjs/http/handler.js +72 -0
  42. package/dist/cjs/http/verify.d.ts +11 -0
  43. package/dist/cjs/http/verify.js +28 -0
  44. package/dist/cjs/index.d.ts +51 -0
  45. package/dist/cjs/index.js +185 -0
  46. package/dist/cjs/managers/CachedManager.d.ts +16 -0
  47. package/dist/cjs/managers/CachedManager.js +18 -0
  48. package/dist/cjs/managers/ChannelManager.d.ts +23 -0
  49. package/dist/cjs/managers/ChannelManager.js +85 -0
  50. package/dist/cjs/managers/CommandManager.d.ts +32 -0
  51. package/dist/cjs/managers/CommandManager.js +72 -0
  52. package/dist/cjs/managers/EventManager.d.ts +15 -0
  53. package/dist/cjs/managers/EventManager.js +36 -0
  54. package/dist/cjs/managers/ExpressionManagers.d.ts +36 -0
  55. package/dist/cjs/managers/ExpressionManagers.js +73 -0
  56. package/dist/cjs/managers/InviteManager.d.ts +17 -0
  57. package/dist/cjs/managers/InviteManager.js +26 -0
  58. package/dist/cjs/managers/MemberManager.d.ts +31 -0
  59. package/dist/cjs/managers/MemberManager.js +62 -0
  60. package/dist/cjs/managers/MessageManager.d.ts +32 -0
  61. package/dist/cjs/managers/MessageManager.js +79 -0
  62. package/dist/cjs/managers/RoleManager.d.ts +22 -0
  63. package/dist/cjs/managers/RoleManager.js +73 -0
  64. package/dist/cjs/managers/ServerChannelManager.d.ts +20 -0
  65. package/dist/cjs/managers/ServerChannelManager.js +30 -0
  66. package/dist/cjs/managers/ServerManager.d.ts +12 -0
  67. package/dist/cjs/managers/ServerManager.js +62 -0
  68. package/dist/cjs/managers/ThreadManager.d.ts +12 -0
  69. package/dist/cjs/managers/ThreadManager.js +20 -0
  70. package/dist/cjs/managers/UserManager.d.ts +11 -0
  71. package/dist/cjs/managers/UserManager.js +38 -0
  72. package/dist/cjs/managers/VoiceManager.d.ts +8 -0
  73. package/dist/cjs/managers/VoiceManager.js +17 -0
  74. package/dist/cjs/package.json +1 -0
  75. package/dist/cjs/rest/REST.d.ts +58 -0
  76. package/dist/cjs/rest/REST.js +193 -0
  77. package/dist/cjs/rest/Routes.d.ts +54 -0
  78. package/dist/cjs/rest/Routes.js +58 -0
  79. package/dist/cjs/rest/files.d.ts +19 -0
  80. package/dist/cjs/rest/files.js +37 -0
  81. package/dist/cjs/structures/Base.d.ts +13 -0
  82. package/dist/cjs/structures/Base.js +30 -0
  83. package/dist/cjs/structures/Message.d.ts +91 -0
  84. package/dist/cjs/structures/Message.js +200 -0
  85. package/dist/cjs/structures/Role.d.ts +34 -0
  86. package/dist/cjs/structures/Role.js +84 -0
  87. package/dist/cjs/structures/ScheduledEvent.d.ts +37 -0
  88. package/dist/cjs/structures/ScheduledEvent.js +73 -0
  89. package/dist/cjs/structures/Server.d.ts +68 -0
  90. package/dist/cjs/structures/Server.js +124 -0
  91. package/dist/cjs/structures/ServerAssets.d.ts +48 -0
  92. package/dist/cjs/structures/ServerAssets.js +104 -0
  93. package/dist/cjs/structures/ServerMember.d.ts +47 -0
  94. package/dist/cjs/structures/ServerMember.js +138 -0
  95. package/dist/cjs/structures/User.d.ts +35 -0
  96. package/dist/cjs/structures/User.js +87 -0
  97. package/dist/cjs/structures/Webhook.d.ts +30 -0
  98. package/dist/cjs/structures/Webhook.js +68 -0
  99. package/dist/cjs/structures/channels/BaseChannel.d.ts +49 -0
  100. package/dist/cjs/structures/channels/BaseChannel.js +81 -0
  101. package/dist/cjs/structures/channels/DMChannel.d.ts +9 -0
  102. package/dist/cjs/structures/channels/DMChannel.js +21 -0
  103. package/dist/cjs/structures/channels/ServerChannels.d.ts +57 -0
  104. package/dist/cjs/structures/channels/ServerChannels.js +138 -0
  105. package/dist/cjs/structures/channels/TextBasedChannel.d.ts +25 -0
  106. package/dist/cjs/structures/channels/TextBasedChannel.js +53 -0
  107. package/dist/cjs/structures/interactions/BaseInteraction.d.ts +74 -0
  108. package/dist/cjs/structures/interactions/BaseInteraction.js +221 -0
  109. package/dist/cjs/structures/interactions/CommandInteraction.d.ts +44 -0
  110. package/dist/cjs/structures/interactions/CommandInteraction.js +109 -0
  111. package/dist/cjs/structures/interactions/ComponentInteraction.d.ts +44 -0
  112. package/dist/cjs/structures/interactions/ComponentInteraction.js +64 -0
  113. package/dist/cjs/structures/interactions/ModalSubmitInteraction.d.ts +29 -0
  114. package/dist/cjs/structures/interactions/ModalSubmitInteraction.js +42 -0
  115. package/dist/cjs/structures/interactions/createInteraction.d.ts +4 -0
  116. package/dist/cjs/structures/interactions/createInteraction.js +34 -0
  117. package/dist/cjs/types.d.ts +369 -0
  118. package/dist/cjs/types.js +2 -0
  119. package/dist/cjs/util/Collection.d.ts +32 -0
  120. package/dist/cjs/util/Collection.js +145 -0
  121. package/dist/cjs/util/Permissions.d.ts +87 -0
  122. package/dist/cjs/util/Permissions.js +115 -0
  123. package/dist/cjs/util/Snowflake.d.ts +20 -0
  124. package/dist/cjs/util/Snowflake.js +40 -0
  125. package/dist/cjs/util/TypedEmitter.d.ts +17 -0
  126. package/dist/cjs/util/TypedEmitter.js +5 -0
  127. package/dist/cjs/util/constants.d.ts +78 -0
  128. package/dist/cjs/util/constants.js +81 -0
  129. package/dist/cjs/util/emoji.d.ts +8 -0
  130. package/dist/cjs/util/emoji.js +10 -0
  131. package/dist/cjs/util/formatters.d.ts +29 -0
  132. package/dist/cjs/util/formatters.js +55 -0
  133. package/dist/esm/builders/EmbedBuilder.d.ts +51 -0
  134. package/dist/esm/builders/EmbedBuilder.js +145 -0
  135. package/dist/esm/builders/SlashCommandBuilder.d.ts +69 -0
  136. package/dist/esm/builders/SlashCommandBuilder.js +170 -0
  137. package/dist/esm/builders/components/ActionRowBuilder.d.ts +14 -0
  138. package/dist/esm/builders/components/ActionRowBuilder.js +49 -0
  139. package/dist/esm/builders/components/ButtonBuilder.d.ts +19 -0
  140. package/dist/esm/builders/components/ButtonBuilder.js +65 -0
  141. package/dist/esm/builders/components/LayoutBuilders.d.ts +63 -0
  142. package/dist/esm/builders/components/LayoutBuilders.js +169 -0
  143. package/dist/esm/builders/components/ModalBuilder.d.ts +36 -0
  144. package/dist/esm/builders/components/ModalBuilder.js +113 -0
  145. package/dist/esm/builders/components/SelectMenuBuilder.d.ts +80 -0
  146. package/dist/esm/builders/components/SelectMenuBuilder.js +183 -0
  147. package/dist/esm/builders/components/shared.d.ts +16 -0
  148. package/dist/esm/builders/components/shared.js +26 -0
  149. package/dist/esm/builders/messagePayload.d.ts +35 -0
  150. package/dist/esm/builders/messagePayload.js +83 -0
  151. package/dist/esm/builders/validate.d.ts +12 -0
  152. package/dist/esm/builders/validate.js +46 -0
  153. package/dist/esm/client/Client.d.ts +63 -0
  154. package/dist/esm/client/Client.js +147 -0
  155. package/dist/esm/client/dispatch.d.ts +2 -0
  156. package/dist/esm/client/dispatch.js +221 -0
  157. package/dist/esm/client/events.d.ts +129 -0
  158. package/dist/esm/client/events.js +1 -0
  159. package/dist/esm/collectors/Collector.d.ts +37 -0
  160. package/dist/esm/collectors/Collector.js +78 -0
  161. package/dist/esm/collectors/InteractionCollector.d.ts +21 -0
  162. package/dist/esm/collectors/InteractionCollector.js +40 -0
  163. package/dist/esm/collectors/MessageCollector.d.ts +14 -0
  164. package/dist/esm/collectors/MessageCollector.js +19 -0
  165. package/dist/esm/errors/BaffError.d.ts +26 -0
  166. package/dist/esm/errors/BaffError.js +33 -0
  167. package/dist/esm/gateway/Gateway.d.ts +53 -0
  168. package/dist/esm/gateway/Gateway.js +124 -0
  169. package/dist/esm/http/handler.d.ts +11 -0
  170. package/dist/esm/http/handler.js +68 -0
  171. package/dist/esm/http/verify.d.ts +11 -0
  172. package/dist/esm/http/verify.js +22 -0
  173. package/dist/esm/index.d.ts +51 -0
  174. package/dist/esm/index.js +49 -0
  175. package/dist/esm/managers/CachedManager.d.ts +16 -0
  176. package/dist/esm/managers/CachedManager.js +14 -0
  177. package/dist/esm/managers/ChannelManager.d.ts +23 -0
  178. package/dist/esm/managers/ChannelManager.js +81 -0
  179. package/dist/esm/managers/CommandManager.d.ts +32 -0
  180. package/dist/esm/managers/CommandManager.js +67 -0
  181. package/dist/esm/managers/EventManager.d.ts +15 -0
  182. package/dist/esm/managers/EventManager.js +32 -0
  183. package/dist/esm/managers/ExpressionManagers.d.ts +36 -0
  184. package/dist/esm/managers/ExpressionManagers.js +68 -0
  185. package/dist/esm/managers/InviteManager.d.ts +17 -0
  186. package/dist/esm/managers/InviteManager.js +22 -0
  187. package/dist/esm/managers/MemberManager.d.ts +31 -0
  188. package/dist/esm/managers/MemberManager.js +58 -0
  189. package/dist/esm/managers/MessageManager.d.ts +32 -0
  190. package/dist/esm/managers/MessageManager.js +75 -0
  191. package/dist/esm/managers/RoleManager.d.ts +22 -0
  192. package/dist/esm/managers/RoleManager.js +69 -0
  193. package/dist/esm/managers/ServerChannelManager.d.ts +20 -0
  194. package/dist/esm/managers/ServerChannelManager.js +26 -0
  195. package/dist/esm/managers/ServerManager.d.ts +12 -0
  196. package/dist/esm/managers/ServerManager.js +58 -0
  197. package/dist/esm/managers/ThreadManager.d.ts +12 -0
  198. package/dist/esm/managers/ThreadManager.js +16 -0
  199. package/dist/esm/managers/UserManager.d.ts +11 -0
  200. package/dist/esm/managers/UserManager.js +34 -0
  201. package/dist/esm/managers/VoiceManager.d.ts +8 -0
  202. package/dist/esm/managers/VoiceManager.js +13 -0
  203. package/dist/esm/package.json +1 -0
  204. package/dist/esm/rest/REST.d.ts +58 -0
  205. package/dist/esm/rest/REST.js +188 -0
  206. package/dist/esm/rest/Routes.d.ts +54 -0
  207. package/dist/esm/rest/Routes.js +55 -0
  208. package/dist/esm/rest/files.d.ts +19 -0
  209. package/dist/esm/rest/files.js +31 -0
  210. package/dist/esm/structures/Base.d.ts +13 -0
  211. package/dist/esm/structures/Base.js +25 -0
  212. package/dist/esm/structures/Message.d.ts +91 -0
  213. package/dist/esm/structures/Message.js +194 -0
  214. package/dist/esm/structures/Role.d.ts +34 -0
  215. package/dist/esm/structures/Role.js +79 -0
  216. package/dist/esm/structures/ScheduledEvent.d.ts +37 -0
  217. package/dist/esm/structures/ScheduledEvent.js +68 -0
  218. package/dist/esm/structures/Server.d.ts +68 -0
  219. package/dist/esm/structures/Server.js +120 -0
  220. package/dist/esm/structures/ServerAssets.d.ts +48 -0
  221. package/dist/esm/structures/ServerAssets.js +98 -0
  222. package/dist/esm/structures/ServerMember.d.ts +47 -0
  223. package/dist/esm/structures/ServerMember.js +133 -0
  224. package/dist/esm/structures/User.d.ts +35 -0
  225. package/dist/esm/structures/User.js +82 -0
  226. package/dist/esm/structures/Webhook.d.ts +30 -0
  227. package/dist/esm/structures/Webhook.js +63 -0
  228. package/dist/esm/structures/channels/BaseChannel.d.ts +49 -0
  229. package/dist/esm/structures/channels/BaseChannel.js +77 -0
  230. package/dist/esm/structures/channels/DMChannel.d.ts +9 -0
  231. package/dist/esm/structures/channels/DMChannel.js +17 -0
  232. package/dist/esm/structures/channels/ServerChannels.d.ts +57 -0
  233. package/dist/esm/structures/channels/ServerChannels.js +129 -0
  234. package/dist/esm/structures/channels/TextBasedChannel.d.ts +25 -0
  235. package/dist/esm/structures/channels/TextBasedChannel.js +49 -0
  236. package/dist/esm/structures/interactions/BaseInteraction.d.ts +74 -0
  237. package/dist/esm/structures/interactions/BaseInteraction.js +217 -0
  238. package/dist/esm/structures/interactions/CommandInteraction.d.ts +44 -0
  239. package/dist/esm/structures/interactions/CommandInteraction.js +104 -0
  240. package/dist/esm/structures/interactions/ComponentInteraction.d.ts +44 -0
  241. package/dist/esm/structures/interactions/ComponentInteraction.js +53 -0
  242. package/dist/esm/structures/interactions/ModalSubmitInteraction.d.ts +29 -0
  243. package/dist/esm/structures/interactions/ModalSubmitInteraction.js +37 -0
  244. package/dist/esm/structures/interactions/createInteraction.d.ts +4 -0
  245. package/dist/esm/structures/interactions/createInteraction.js +31 -0
  246. package/dist/esm/types.d.ts +369 -0
  247. package/dist/esm/types.js +1 -0
  248. package/dist/esm/util/Collection.d.ts +32 -0
  249. package/dist/esm/util/Collection.js +141 -0
  250. package/dist/esm/util/Permissions.d.ts +87 -0
  251. package/dist/esm/util/Permissions.js +111 -0
  252. package/dist/esm/util/Snowflake.d.ts +20 -0
  253. package/dist/esm/util/Snowflake.js +37 -0
  254. package/dist/esm/util/TypedEmitter.d.ts +17 -0
  255. package/dist/esm/util/TypedEmitter.js +2 -0
  256. package/dist/esm/util/constants.d.ts +78 -0
  257. package/dist/esm/util/constants.js +78 -0
  258. package/dist/esm/util/emoji.d.ts +8 -0
  259. package/dist/esm/util/emoji.js +7 -0
  260. package/dist/esm/util/formatters.d.ts +29 -0
  261. package/dist/esm/util/formatters.js +34 -0
  262. package/package.json +57 -5
@@ -0,0 +1,369 @@
1
+ export type Id = string;
2
+ export interface APIUser {
3
+ id: Id;
4
+ username: string;
5
+ displayName?: string | null;
6
+ avatarUrl?: string | null;
7
+ bannerUrl?: string | null;
8
+ tag?: 'bot' | 'verified_bot' | 'official' | 'system' | 'staff' | null;
9
+ clanTag?: APIClanTag | null;
10
+ status?: string;
11
+ customStatus?: string | null;
12
+ deleted?: boolean;
13
+ avatarDecoration?: {
14
+ id: string;
15
+ url: string;
16
+ animated: boolean;
17
+ } | null;
18
+ }
19
+ export interface APIClanTag {
20
+ serverId: Id;
21
+ name: string;
22
+ badge: string;
23
+ color: number;
24
+ }
25
+ export interface APIEmbedMedia {
26
+ url: string;
27
+ width?: number;
28
+ height?: number;
29
+ }
30
+ export interface APIEmbed {
31
+ type?: string;
32
+ title?: string;
33
+ description?: string;
34
+ url?: string;
35
+ timestamp?: string;
36
+ color?: number;
37
+ footer?: {
38
+ text: string;
39
+ icon_url?: string;
40
+ };
41
+ image?: APIEmbedMedia;
42
+ thumbnail?: APIEmbedMedia;
43
+ video?: APIEmbedMedia;
44
+ provider?: {
45
+ name?: string;
46
+ url?: string;
47
+ };
48
+ author?: {
49
+ name: string;
50
+ url?: string;
51
+ icon_url?: string;
52
+ };
53
+ fields?: {
54
+ name: string;
55
+ value: string;
56
+ inline?: boolean;
57
+ }[];
58
+ }
59
+ export interface APIComponent {
60
+ type: number;
61
+ id?: number;
62
+ [key: string]: unknown;
63
+ }
64
+ export interface APIAttachment {
65
+ id: Id;
66
+ filename: string;
67
+ contentType: string;
68
+ size: number;
69
+ width?: number | null;
70
+ height?: number | null;
71
+ url: string;
72
+ }
73
+ export interface APIReaction {
74
+ emoji: string;
75
+ count: number;
76
+ me: boolean;
77
+ }
78
+ export interface APISticker {
79
+ id: Id;
80
+ name: string;
81
+ url?: string;
82
+ animated: boolean;
83
+ serverId?: Id;
84
+ deleted?: boolean;
85
+ description?: string;
86
+ emoji?: string | null;
87
+ }
88
+ export interface APIMessage {
89
+ id: Id;
90
+ channelId: Id;
91
+ serverId?: Id | null;
92
+ author: APIUser;
93
+ content: string;
94
+ createdAt: string;
95
+ editedAt: string | null;
96
+ type?: number;
97
+ attachments: APIAttachment[];
98
+ embeds: APIEmbed[];
99
+ components: APIComponent[];
100
+ flags: number;
101
+ reactions: APIReaction[];
102
+ mentions: Id[];
103
+ mentionRoles: Id[];
104
+ mentionEveryone: boolean;
105
+ reply?: {
106
+ id: Id;
107
+ author: APIUser;
108
+ content: string;
109
+ hasAttachments?: boolean;
110
+ forwarded?: boolean;
111
+ };
112
+ replyDeleted?: boolean;
113
+ pinned?: boolean;
114
+ crossposted?: boolean;
115
+ stickers?: APISticker[];
116
+ poll?: unknown;
117
+ forward?: unknown;
118
+ interaction?: {
119
+ user: APIUser;
120
+ name: string;
121
+ };
122
+ nonce?: string;
123
+ interactionName?: string;
124
+ }
125
+ export interface APIRole {
126
+ id: Id;
127
+ name: string;
128
+ color: string | null;
129
+ hoist: boolean;
130
+ position: number;
131
+ permissions: number | string;
132
+ badge?: string | null;
133
+ icon?: string | null;
134
+ botId?: Id | null;
135
+ booster?: boolean;
136
+ }
137
+ export type ChannelKind = 'category' | 'text' | 'announcement' | 'forum' | 'voice' | 'stage' | 'thread' | 'dm' | 'group_dm';
138
+ export interface APIChannel {
139
+ id: Id;
140
+ name?: string;
141
+ kind?: ChannelKind;
142
+ type?: ChannelKind;
143
+ serverId?: Id | null;
144
+ position?: number;
145
+ parentId?: Id | null;
146
+ topic?: string | null;
147
+ slowmodeSecs?: number;
148
+ contentMode?: 'default' | 'spoiler' | 'age_restricted';
149
+ autoArchiveMinutes?: number | null;
150
+ archived?: boolean;
151
+ threadOwnerId?: Id | null;
152
+ threadStarterId?: Id | null;
153
+ threadLocked?: boolean;
154
+ messageCount?: number;
155
+ lastMessageId?: Id | null;
156
+ voiceStatus?: string | null;
157
+ availableTags?: {
158
+ id: Id;
159
+ name: string;
160
+ emoji: string | null;
161
+ }[];
162
+ appliedTags?: Id[];
163
+ requireTag?: boolean;
164
+ pinned?: boolean;
165
+ recipient?: APIUser;
166
+ recipients?: APIUser[];
167
+ ownerId?: Id | null;
168
+ iconUrl?: string | null;
169
+ }
170
+ export interface APIServerSummary {
171
+ id: Id;
172
+ name: string;
173
+ iconUrl: string | null;
174
+ types?: string[];
175
+ community?: boolean;
176
+ listed?: boolean;
177
+ bannerUrl?: string | null;
178
+ boostCount?: number;
179
+ boostTier?: number;
180
+ }
181
+ export interface APIServer extends APIServerSummary {
182
+ ownerId: Id;
183
+ channels: APIChannel[];
184
+ roles: APIRole[];
185
+ myRoles: Id[];
186
+ invitesPaused?: boolean;
187
+ systemChannelId?: Id | null;
188
+ systemFlags?: number;
189
+ defaultNotifications?: 'all' | 'mentions';
190
+ pending?: boolean;
191
+ }
192
+ export interface APIMember {
193
+ user: APIUser;
194
+ status?: string;
195
+ customStatus?: string | null;
196
+ isOwner?: boolean;
197
+ roles: Id[];
198
+ nick: string | null;
199
+ avatarUrl?: string | null;
200
+ bannerUrl?: string | null;
201
+ joinedAt?: string;
202
+ pending?: boolean;
203
+ timeoutUntil?: string | null;
204
+ }
205
+ export interface APIEmoji {
206
+ id: Id;
207
+ serverId: Id;
208
+ name: string;
209
+ animated: boolean;
210
+ url: string;
211
+ uploader?: string | null;
212
+ }
213
+ export interface APIInvite {
214
+ code: string;
215
+ maxAgeSecs?: number;
216
+ expiresAt?: string | null;
217
+ maxUses?: number;
218
+ uses?: number;
219
+ temporary?: boolean;
220
+ inviter?: {
221
+ id: Id;
222
+ username: string;
223
+ displayName?: string;
224
+ } | null;
225
+ vanity?: boolean;
226
+ server?: {
227
+ id: Id;
228
+ name: string;
229
+ iconUrl: string | null;
230
+ memberCount?: number;
231
+ onlineCount?: number;
232
+ };
233
+ }
234
+ export interface APIWebhook {
235
+ id: Id;
236
+ userId: Id;
237
+ name: string;
238
+ path: string;
239
+ createdBy?: string | null;
240
+ createdAt: string;
241
+ }
242
+ export interface APIBan {
243
+ user: APIUser;
244
+ reason: string | null;
245
+ createdAt: string;
246
+ }
247
+ export interface APIServerEvent {
248
+ id: Id;
249
+ serverId: Id;
250
+ creatorId: Id | null;
251
+ creator?: APIUser;
252
+ name: string;
253
+ description: string;
254
+ locationKind: 'voice' | 'external';
255
+ channelId: Id | null;
256
+ location: string | null;
257
+ startAt: string;
258
+ endAt: string | null;
259
+ coverUrl: string | null;
260
+ status: 'scheduled' | 'active' | 'completed' | 'canceled';
261
+ createdAt: string;
262
+ interestedCount: number;
263
+ interested?: boolean;
264
+ }
265
+ export interface APIAuditEntry {
266
+ id: Id;
267
+ action: string;
268
+ actorId: Id | null;
269
+ targetType: string;
270
+ targetId: Id | null;
271
+ targetName: string | null;
272
+ reason: string | null;
273
+ changes: {
274
+ key: string;
275
+ old: unknown;
276
+ new: unknown;
277
+ }[];
278
+ extra: Record<string, unknown>;
279
+ createdAt: string;
280
+ }
281
+ export interface APICommandOption {
282
+ name: string;
283
+ description: string;
284
+ type: string;
285
+ required?: boolean;
286
+ options?: APICommandOption[];
287
+ }
288
+ export interface APICommand {
289
+ id?: Id;
290
+ applicationId?: Id;
291
+ serverId?: Id | null;
292
+ kind?: 'slash' | 'prefix';
293
+ name: string;
294
+ description: string;
295
+ options?: APICommandOption[];
296
+ prefix?: string | null;
297
+ }
298
+ export interface APIInteractionOption {
299
+ name: string;
300
+ type: string;
301
+ value?: string | number | boolean;
302
+ options?: APIInteractionOption[];
303
+ }
304
+ export interface APIInteraction {
305
+ type: 'command' | 'component' | 'modal_submit' | 'ping';
306
+ id: Id;
307
+ token: string;
308
+ applicationId: Id;
309
+ channelId: Id;
310
+ serverId: Id | null;
311
+ user: APIUser & {
312
+ roles?: Id[];
313
+ permissions?: string;
314
+ };
315
+ appPermissions?: string;
316
+ message?: APIMessage;
317
+ data: {
318
+ id?: Id;
319
+ name?: string;
320
+ options?: APIInteractionOption[];
321
+ customId?: string;
322
+ componentType?: number;
323
+ label?: string;
324
+ values?: string[];
325
+ resolved?: {
326
+ users?: Record<string, APIUser>;
327
+ roles?: Record<string, {
328
+ id: Id;
329
+ name: string;
330
+ color: string | null;
331
+ }>;
332
+ channels?: Record<string, {
333
+ id: Id;
334
+ name: string;
335
+ type: number;
336
+ parentId: Id | null;
337
+ }>;
338
+ };
339
+ fields?: {
340
+ customId: string;
341
+ value: string;
342
+ }[];
343
+ };
344
+ }
345
+ export interface APIVoiceJoin {
346
+ url: string;
347
+ token: string;
348
+ canSpeak: boolean;
349
+ canVideo: boolean;
350
+ deafened: boolean;
351
+ suppress: boolean;
352
+ audioBitrate: number;
353
+ room: string;
354
+ identity: string;
355
+ serverId: Id | null;
356
+ channelId: Id;
357
+ }
358
+ export interface APIVoiceState {
359
+ userId: Id;
360
+ serverId: Id | null;
361
+ channelId: Id | null;
362
+ muted: boolean;
363
+ deafened: boolean;
364
+ selfVideo: boolean;
365
+ selfStream: boolean;
366
+ suppress: boolean;
367
+ requestToSpeakAt: string | null;
368
+ invitedToSpeak: boolean;
369
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,32 @@
1
+ export declare class Collection<K, V> extends Map<K, V> {
2
+ ensure(key: K, make: (key: K, collection: this) => V): V;
3
+ hasAll(...keys: K[]): boolean;
4
+ hasAny(...keys: K[]): boolean;
5
+ first(): V | undefined;
6
+ first(amount: number): V[];
7
+ firstKey(): K | undefined;
8
+ last(): V | undefined;
9
+ last(amount: number): V[];
10
+ lastKey(): K | undefined;
11
+ at(index: number): V | undefined;
12
+ random(): V | undefined;
13
+ find(fn: (value: V, key: K, collection: this) => boolean): V | undefined;
14
+ findKey(fn: (value: V, key: K, collection: this) => boolean): K | undefined;
15
+ filter(fn: (value: V, key: K, collection: this) => boolean): Collection<K, V>;
16
+ partition(fn: (value: V, key: K, collection: this) => boolean): [Collection<K, V>, Collection<K, V>];
17
+ map<T>(fn: (value: V, key: K, collection: this) => T): T[];
18
+ mapValues<T>(fn: (value: V, key: K, collection: this) => T): Collection<K, T>;
19
+ flatMap<T>(fn: (value: V, key: K, collection: this) => T[]): T[];
20
+ some(fn: (value: V, key: K, collection: this) => boolean): boolean;
21
+ every(fn: (value: V, key: K, collection: this) => boolean): boolean;
22
+ reduce<T>(fn: (acc: T, value: V, key: K, collection: this) => T, initial: T): T;
23
+ each(fn: (value: V, key: K, collection: this) => void): this;
24
+ tap(fn: (collection: this) => void): this;
25
+ sweep(fn: (value: V, key: K, collection: this) => boolean): number;
26
+ sort(compare?: (a: V, b: V, aKey: K, bKey: K) => number): this;
27
+ toSorted(compare?: (a: V, b: V, aKey: K, bKey: K) => number): Collection<K, V>;
28
+ clone(): Collection<K, V>;
29
+ concat(...others: Collection<K, V>[]): Collection<K, V>;
30
+ toJSON(): V[];
31
+ private static defaultCompare;
32
+ }
@@ -0,0 +1,141 @@
1
+ export class Collection extends Map {
2
+ ensure(key, make) {
3
+ if (this.has(key))
4
+ return this.get(key);
5
+ const value = make(key, this);
6
+ this.set(key, value);
7
+ return value;
8
+ }
9
+ hasAll(...keys) {
10
+ return keys.every((key) => this.has(key));
11
+ }
12
+ hasAny(...keys) {
13
+ return keys.some((key) => this.has(key));
14
+ }
15
+ first(amount) {
16
+ if (amount === undefined)
17
+ return this.values().next().value;
18
+ return [...this.values()].slice(0, Math.max(0, amount));
19
+ }
20
+ firstKey() {
21
+ return this.keys().next().value;
22
+ }
23
+ last(amount) {
24
+ const values = [...this.values()];
25
+ if (amount === undefined)
26
+ return values[values.length - 1];
27
+ return amount <= 0 ? [] : values.slice(-amount);
28
+ }
29
+ lastKey() {
30
+ const keys = [...this.keys()];
31
+ return keys[keys.length - 1];
32
+ }
33
+ at(index) {
34
+ return [...this.values()].at(index);
35
+ }
36
+ random() {
37
+ const values = [...this.values()];
38
+ return values[Math.floor(Math.random() * values.length)];
39
+ }
40
+ find(fn) {
41
+ for (const [key, value] of this)
42
+ if (fn(value, key, this))
43
+ return value;
44
+ return undefined;
45
+ }
46
+ findKey(fn) {
47
+ for (const [key, value] of this)
48
+ if (fn(value, key, this))
49
+ return key;
50
+ return undefined;
51
+ }
52
+ filter(fn) {
53
+ const out = new Collection();
54
+ for (const [key, value] of this)
55
+ if (fn(value, key, this))
56
+ out.set(key, value);
57
+ return out;
58
+ }
59
+ partition(fn) {
60
+ const yes = new Collection();
61
+ const no = new Collection();
62
+ for (const [key, value] of this)
63
+ (fn(value, key, this) ? yes : no).set(key, value);
64
+ return [yes, no];
65
+ }
66
+ map(fn) {
67
+ const out = [];
68
+ for (const [key, value] of this)
69
+ out.push(fn(value, key, this));
70
+ return out;
71
+ }
72
+ mapValues(fn) {
73
+ const out = new Collection();
74
+ for (const [key, value] of this)
75
+ out.set(key, fn(value, key, this));
76
+ return out;
77
+ }
78
+ flatMap(fn) {
79
+ return this.map(fn).flat();
80
+ }
81
+ some(fn) {
82
+ for (const [key, value] of this)
83
+ if (fn(value, key, this))
84
+ return true;
85
+ return false;
86
+ }
87
+ every(fn) {
88
+ for (const [key, value] of this)
89
+ if (!fn(value, key, this))
90
+ return false;
91
+ return true;
92
+ }
93
+ reduce(fn, initial) {
94
+ let acc = initial;
95
+ for (const [key, value] of this)
96
+ acc = fn(acc, value, key, this);
97
+ return acc;
98
+ }
99
+ each(fn) {
100
+ for (const [key, value] of this)
101
+ fn(value, key, this);
102
+ return this;
103
+ }
104
+ tap(fn) {
105
+ fn(this);
106
+ return this;
107
+ }
108
+ sweep(fn) {
109
+ const before = this.size;
110
+ for (const [key, value] of [...this])
111
+ if (fn(value, key, this))
112
+ this.delete(key);
113
+ return before - this.size;
114
+ }
115
+ sort(compare = Collection.defaultCompare) {
116
+ const sorted = [...this].sort((a, b) => compare(a[1], b[1], a[0], b[0]));
117
+ this.clear();
118
+ for (const [key, value] of sorted)
119
+ this.set(key, value);
120
+ return this;
121
+ }
122
+ toSorted(compare = Collection.defaultCompare) {
123
+ return this.clone().sort(compare);
124
+ }
125
+ clone() {
126
+ return new Collection(this);
127
+ }
128
+ concat(...others) {
129
+ const out = this.clone();
130
+ for (const other of others)
131
+ for (const [key, value] of other)
132
+ out.set(key, value);
133
+ return out;
134
+ }
135
+ toJSON() {
136
+ return [...this.values()];
137
+ }
138
+ static defaultCompare(a, b) {
139
+ return a < b ? -1 : a > b ? 1 : 0;
140
+ }
141
+ }
@@ -0,0 +1,87 @@
1
+ export declare const PermissionFlagsBits: {
2
+ readonly Administrator: bigint;
3
+ readonly ManageServer: bigint;
4
+ readonly ManageRoles: bigint;
5
+ readonly ManageChannels: bigint;
6
+ readonly KickMembers: bigint;
7
+ readonly BanMembers: bigint;
8
+ readonly CreateInvite: bigint;
9
+ readonly SendMessages: bigint;
10
+ readonly ManageMessages: bigint;
11
+ readonly AttachFiles: bigint;
12
+ readonly AddReactions: bigint;
13
+ readonly ManageExpressions: bigint;
14
+ readonly MentionEveryone: bigint;
15
+ readonly ViewChannel: bigint;
16
+ readonly ManageWebhooks: bigint;
17
+ readonly Connect: bigint;
18
+ readonly Speak: bigint;
19
+ readonly Video: bigint;
20
+ readonly BaffleUpload: bigint;
21
+ readonly BaffleWithdraw: bigint;
22
+ readonly ManageBaffles: bigint;
23
+ readonly ModerateMembers: bigint;
24
+ readonly ViewAuditLog: bigint;
25
+ readonly UseSoundboard: bigint;
26
+ readonly ManageThreads: bigint;
27
+ readonly ManageStage: bigint;
28
+ readonly ChangeNickname: bigint;
29
+ readonly ManageNicknames: bigint;
30
+ readonly ManageEvents: bigint;
31
+ readonly SetVoiceChannelStatus: bigint;
32
+ readonly RequestToSpeak: bigint;
33
+ };
34
+ export type PermissionString = keyof typeof PermissionFlagsBits;
35
+ export type PermissionResolvable = PermissionString | `${bigint}` | bigint | number | PermissionsBitField | readonly PermissionResolvable[];
36
+ export declare class PermissionsBitField {
37
+ static readonly Flags: {
38
+ readonly Administrator: bigint;
39
+ readonly ManageServer: bigint;
40
+ readonly ManageRoles: bigint;
41
+ readonly ManageChannels: bigint;
42
+ readonly KickMembers: bigint;
43
+ readonly BanMembers: bigint;
44
+ readonly CreateInvite: bigint;
45
+ readonly SendMessages: bigint;
46
+ readonly ManageMessages: bigint;
47
+ readonly AttachFiles: bigint;
48
+ readonly AddReactions: bigint;
49
+ readonly ManageExpressions: bigint;
50
+ readonly MentionEveryone: bigint;
51
+ readonly ViewChannel: bigint;
52
+ readonly ManageWebhooks: bigint;
53
+ readonly Connect: bigint;
54
+ readonly Speak: bigint;
55
+ readonly Video: bigint;
56
+ readonly BaffleUpload: bigint;
57
+ readonly BaffleWithdraw: bigint;
58
+ readonly ManageBaffles: bigint;
59
+ readonly ModerateMembers: bigint;
60
+ readonly ViewAuditLog: bigint;
61
+ readonly UseSoundboard: bigint;
62
+ readonly ManageThreads: bigint;
63
+ readonly ManageStage: bigint;
64
+ readonly ChangeNickname: bigint;
65
+ readonly ManageNicknames: bigint;
66
+ readonly ManageEvents: bigint;
67
+ readonly SetVoiceChannelStatus: bigint;
68
+ readonly RequestToSpeak: bigint;
69
+ };
70
+ static readonly All: PermissionsBitField;
71
+ readonly bitfield: bigint;
72
+ constructor(bits?: PermissionResolvable);
73
+ static fromBits(bits: string | number | bigint): PermissionsBitField;
74
+ static resolve(bits: PermissionResolvable): bigint;
75
+ has(permission: PermissionResolvable, checkAdmin?: boolean): boolean;
76
+ any(permission: PermissionResolvable, checkAdmin?: boolean): boolean;
77
+ missing(permission: PermissionResolvable, checkAdmin?: boolean): PermissionString[];
78
+ add(...permissions: PermissionResolvable[]): PermissionsBitField;
79
+ remove(...permissions: PermissionResolvable[]): PermissionsBitField;
80
+ equals(other: PermissionResolvable): boolean;
81
+ toArray(): PermissionString[];
82
+ serialize(checkAdmin?: boolean): Record<PermissionString, boolean>;
83
+ toJSON(): string;
84
+ toString(): string;
85
+ valueOf(): bigint;
86
+ private static names;
87
+ }