seyfert 0.1.0

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 (345) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +57 -0
  3. package/lib/api/CDN.d.ts +220 -0
  4. package/lib/api/CDN.js +236 -0
  5. package/lib/api/REST.d.ts +127 -0
  6. package/lib/api/REST.js +424 -0
  7. package/lib/api/Router.d.ts +17 -0
  8. package/lib/api/Router.js +63 -0
  9. package/lib/api/Routes/applications.d.ts +46 -0
  10. package/lib/api/Routes/applications.js +2 -0
  11. package/lib/api/Routes/cdn.d.ts +66 -0
  12. package/lib/api/Routes/cdn.js +2 -0
  13. package/lib/api/Routes/channels.d.ts +109 -0
  14. package/lib/api/Routes/channels.js +2 -0
  15. package/lib/api/Routes/gateway.d.ts +11 -0
  16. package/lib/api/Routes/gateway.js +2 -0
  17. package/lib/api/Routes/guilds.d.ts +171 -0
  18. package/lib/api/Routes/guilds.js +2 -0
  19. package/lib/api/Routes/index.d.ts +13 -0
  20. package/lib/api/Routes/index.js +17 -0
  21. package/lib/api/Routes/interactions.d.ts +14 -0
  22. package/lib/api/Routes/interactions.js +2 -0
  23. package/lib/api/Routes/invites.d.ts +9 -0
  24. package/lib/api/Routes/invites.js +2 -0
  25. package/lib/api/Routes/stage-instances.d.ts +13 -0
  26. package/lib/api/Routes/stage-instances.js +2 -0
  27. package/lib/api/Routes/stickers.d.ts +11 -0
  28. package/lib/api/Routes/stickers.js +2 -0
  29. package/lib/api/Routes/users.d.ts +35 -0
  30. package/lib/api/Routes/users.js +2 -0
  31. package/lib/api/Routes/voice.d.ts +10 -0
  32. package/lib/api/Routes/voice.js +2 -0
  33. package/lib/api/Routes/webhooks.d.ts +29 -0
  34. package/lib/api/Routes/webhooks.js +2 -0
  35. package/lib/api/errors/DiscordAPIError.d.ts +51 -0
  36. package/lib/api/errors/DiscordAPIError.js +81 -0
  37. package/lib/api/errors/HTTPError.d.ts +20 -0
  38. package/lib/api/errors/HTTPError.js +28 -0
  39. package/lib/api/errors/RateLimitError.d.ts +19 -0
  40. package/lib/api/errors/RateLimitError.js +37 -0
  41. package/lib/api/handlers/BurstHandler.d.ts +51 -0
  42. package/lib/api/handlers/BurstHandler.js +124 -0
  43. package/lib/api/handlers/SequentialHandler.d.ts +81 -0
  44. package/lib/api/handlers/SequentialHandler.js +365 -0
  45. package/lib/api/handlers/Shared.d.ts +14 -0
  46. package/lib/api/handlers/Shared.js +125 -0
  47. package/lib/api/index.d.ts +5 -0
  48. package/lib/api/index.js +21 -0
  49. package/lib/api/interfaces/Handler.d.ts +21 -0
  50. package/lib/api/interfaces/Handler.js +2 -0
  51. package/lib/api/shared.d.ts +7 -0
  52. package/lib/api/shared.js +27 -0
  53. package/lib/api/utils/constants.d.ts +39 -0
  54. package/lib/api/utils/constants.js +50 -0
  55. package/lib/api/utils/types.d.ts +335 -0
  56. package/lib/api/utils/types.js +14 -0
  57. package/lib/api/utils/utils.d.ts +52 -0
  58. package/lib/api/utils/utils.js +159 -0
  59. package/lib/builders/ActionRow.d.ts +40 -0
  60. package/lib/builders/ActionRow.js +58 -0
  61. package/lib/builders/Attachment.d.ts +106 -0
  62. package/lib/builders/Attachment.js +196 -0
  63. package/lib/builders/Base.d.ts +10 -0
  64. package/lib/builders/Base.js +13 -0
  65. package/lib/builders/Button.d.ts +59 -0
  66. package/lib/builders/Button.js +94 -0
  67. package/lib/builders/MessageEmbed.d.ts +116 -0
  68. package/lib/builders/MessageEmbed.js +159 -0
  69. package/lib/builders/Modal.d.ts +111 -0
  70. package/lib/builders/Modal.js +162 -0
  71. package/lib/builders/SelectMenu.d.ts +201 -0
  72. package/lib/builders/SelectMenu.js +293 -0
  73. package/lib/builders/index.d.ts +12 -0
  74. package/lib/builders/index.js +54 -0
  75. package/lib/builders/types.d.ts +21 -0
  76. package/lib/builders/types.js +2 -0
  77. package/lib/cache/adapters/default.d.ts +24 -0
  78. package/lib/cache/adapters/default.js +118 -0
  79. package/lib/cache/adapters/index.d.ts +4 -0
  80. package/lib/cache/adapters/index.js +20 -0
  81. package/lib/cache/adapters/redis.d.ts +35 -0
  82. package/lib/cache/adapters/redis.js +180 -0
  83. package/lib/cache/adapters/types.d.ts +25 -0
  84. package/lib/cache/adapters/types.js +2 -0
  85. package/lib/cache/adapters/workeradapter.d.ts +24 -0
  86. package/lib/cache/adapters/workeradapter.js +76 -0
  87. package/lib/cache/index.d.ts +97 -0
  88. package/lib/cache/index.js +394 -0
  89. package/lib/cache/resources/channels.d.ts +7 -0
  90. package/lib/cache/resources/channels.js +20 -0
  91. package/lib/cache/resources/default/base.d.ts +25 -0
  92. package/lib/cache/resources/default/base.js +75 -0
  93. package/lib/cache/resources/default/guild-based.d.ts +33 -0
  94. package/lib/cache/resources/default/guild-based.js +91 -0
  95. package/lib/cache/resources/default/guild-related.d.ts +32 -0
  96. package/lib/cache/resources/default/guild-related.js +102 -0
  97. package/lib/cache/resources/emojis.d.ts +7 -0
  98. package/lib/cache/resources/emojis.js +17 -0
  99. package/lib/cache/resources/guilds.d.ts +10 -0
  100. package/lib/cache/resources/guilds.js +117 -0
  101. package/lib/cache/resources/members.d.ts +10 -0
  102. package/lib/cache/resources/members.js +41 -0
  103. package/lib/cache/resources/presence.d.ts +9 -0
  104. package/lib/cache/resources/presence.js +14 -0
  105. package/lib/cache/resources/roles.d.ts +7 -0
  106. package/lib/cache/resources/roles.js +17 -0
  107. package/lib/cache/resources/stage-instances.d.ts +5 -0
  108. package/lib/cache/resources/stage-instances.js +8 -0
  109. package/lib/cache/resources/stickers.d.ts +7 -0
  110. package/lib/cache/resources/stickers.js +17 -0
  111. package/lib/cache/resources/threads.d.ts +7 -0
  112. package/lib/cache/resources/threads.js +17 -0
  113. package/lib/cache/resources/users.d.ts +7 -0
  114. package/lib/cache/resources/users.js +17 -0
  115. package/lib/cache/resources/voice-states.d.ts +9 -0
  116. package/lib/cache/resources/voice-states.js +13 -0
  117. package/lib/client/base.d.ts +244 -0
  118. package/lib/client/base.js +178 -0
  119. package/lib/client/client.d.ts +32 -0
  120. package/lib/client/client.js +156 -0
  121. package/lib/client/httpclient.d.ts +21 -0
  122. package/lib/client/httpclient.js +143 -0
  123. package/lib/client/index.d.ts +4 -0
  124. package/lib/client/index.js +19 -0
  125. package/lib/client/oninteraction.d.ts +4 -0
  126. package/lib/client/oninteraction.js +180 -0
  127. package/lib/client/workerclient.d.ts +28 -0
  128. package/lib/client/workerclient.js +213 -0
  129. package/lib/collection.d.ts +233 -0
  130. package/lib/collection.js +371 -0
  131. package/lib/commands/applications/chat.d.ts +139 -0
  132. package/lib/commands/applications/chat.js +173 -0
  133. package/lib/commands/applications/chatcontext.d.ts +28 -0
  134. package/lib/commands/applications/chatcontext.js +53 -0
  135. package/lib/commands/applications/menu.d.ts +39 -0
  136. package/lib/commands/applications/menu.js +87 -0
  137. package/lib/commands/applications/menucontext.d.ts +25 -0
  138. package/lib/commands/applications/menucontext.js +64 -0
  139. package/lib/commands/applications/options.d.ts +67 -0
  140. package/lib/commands/applications/options.js +44 -0
  141. package/lib/commands/applications/shared.d.ts +35 -0
  142. package/lib/commands/applications/shared.js +2 -0
  143. package/lib/commands/decorators.d.ts +107 -0
  144. package/lib/commands/decorators.js +85 -0
  145. package/lib/commands/handler.d.ts +15 -0
  146. package/lib/commands/handler.js +140 -0
  147. package/lib/commands/index.d.ts +8 -0
  148. package/lib/commands/index.js +24 -0
  149. package/lib/commands/optionresolver.d.ts +49 -0
  150. package/lib/commands/optionresolver.js +146 -0
  151. package/lib/common/bot/watcher.d.ts +53 -0
  152. package/lib/common/bot/watcher.js +104 -0
  153. package/lib/common/index.d.ts +13 -0
  154. package/lib/common/index.js +30 -0
  155. package/lib/common/it/colors.d.ts +274 -0
  156. package/lib/common/it/colors.js +453 -0
  157. package/lib/common/it/constants.d.ts +36 -0
  158. package/lib/common/it/constants.js +40 -0
  159. package/lib/common/it/logger.d.ts +114 -0
  160. package/lib/common/it/logger.js +189 -0
  161. package/lib/common/it/utils.d.ts +107 -0
  162. package/lib/common/it/utils.js +275 -0
  163. package/lib/common/shorters/base.d.ts +5 -0
  164. package/lib/common/shorters/base.js +10 -0
  165. package/lib/common/shorters/channels.d.ts +90 -0
  166. package/lib/common/shorters/channels.js +95 -0
  167. package/lib/common/shorters/guilds.d.ts +389 -0
  168. package/lib/common/shorters/guilds.js +350 -0
  169. package/lib/common/shorters/members.d.ts +115 -0
  170. package/lib/common/shorters/members.js +179 -0
  171. package/lib/common/shorters/messages.d.ts +27 -0
  172. package/lib/common/shorters/messages.js +117 -0
  173. package/lib/common/shorters/roles.d.ts +12 -0
  174. package/lib/common/shorters/roles.js +51 -0
  175. package/lib/common/shorters/templates.d.ts +12 -0
  176. package/lib/common/shorters/templates.js +29 -0
  177. package/lib/common/shorters/users.d.ts +11 -0
  178. package/lib/common/shorters/users.js +42 -0
  179. package/lib/common/shorters/webhook.d.ts +33 -0
  180. package/lib/common/shorters/webhook.js +69 -0
  181. package/lib/common/types/options.d.ts +10 -0
  182. package/lib/common/types/options.js +2 -0
  183. package/lib/common/types/resolvables.d.ts +10 -0
  184. package/lib/common/types/resolvables.js +2 -0
  185. package/lib/common/types/util.d.ts +90 -0
  186. package/lib/common/types/util.js +2 -0
  187. package/lib/common/types/write.d.ts +21 -0
  188. package/lib/common/types/write.js +2 -0
  189. package/lib/components/ActionRow.d.ts +10 -0
  190. package/lib/components/ActionRow.js +13 -0
  191. package/lib/components/ButtonComponent.d.ts +19 -0
  192. package/lib/components/ButtonComponent.js +34 -0
  193. package/lib/components/ChannelSelectMenuComponent.d.ts +6 -0
  194. package/lib/components/ChannelSelectMenuComponent.js +12 -0
  195. package/lib/components/MentionableSelectMenuComponent.d.ts +4 -0
  196. package/lib/components/MentionableSelectMenuComponent.js +7 -0
  197. package/lib/components/RoleSelectMenuComponent.d.ts +4 -0
  198. package/lib/components/RoleSelectMenuComponent.js +7 -0
  199. package/lib/components/StringSelectMenuComponent.d.ts +6 -0
  200. package/lib/components/StringSelectMenuComponent.js +12 -0
  201. package/lib/components/TextInputComponent.d.ts +7 -0
  202. package/lib/components/TextInputComponent.js +14 -0
  203. package/lib/components/UserSelectMenuComponent.d.ts +4 -0
  204. package/lib/components/UserSelectMenuComponent.js +7 -0
  205. package/lib/components/command.d.ts +23 -0
  206. package/lib/components/command.js +15 -0
  207. package/lib/components/handler.d.ts +48 -0
  208. package/lib/components/handler.js +231 -0
  209. package/lib/components/index.d.ts +20 -0
  210. package/lib/components/index.js +55 -0
  211. package/lib/components/listener.d.ts +11 -0
  212. package/lib/components/listener.js +18 -0
  213. package/lib/events/event.d.ts +23 -0
  214. package/lib/events/event.js +2 -0
  215. package/lib/events/handler.d.ts +19 -0
  216. package/lib/events/handler.js +112 -0
  217. package/lib/events/hooks/application_command.d.ts +12 -0
  218. package/lib/events/hooks/application_command.js +8 -0
  219. package/lib/events/hooks/auto_moderation.d.ts +22 -0
  220. package/lib/events/hooks/auto_moderation.js +21 -0
  221. package/lib/events/hooks/channel.d.ts +11 -0
  222. package/lib/events/hooks/channel.js +24 -0
  223. package/lib/events/hooks/custom.d.ts +4 -0
  224. package/lib/events/hooks/custom.js +11 -0
  225. package/lib/events/hooks/dispatch.d.ts +5 -0
  226. package/lib/events/hooks/dispatch.js +12 -0
  227. package/lib/events/hooks/entitlement.d.ts +35 -0
  228. package/lib/events/hooks/entitlement.js +16 -0
  229. package/lib/events/hooks/guild.d.ts +228 -0
  230. package/lib/events/hooks/guild.js +101 -0
  231. package/lib/events/hooks/index.d.ts +23 -0
  232. package/lib/events/hooks/index.js +34 -0
  233. package/lib/events/hooks/integration.d.ts +94 -0
  234. package/lib/events/hooks/integration.js +27 -0
  235. package/lib/events/hooks/interactions.d.ts +4 -0
  236. package/lib/events/hooks/interactions.js +8 -0
  237. package/lib/events/hooks/invite.d.ts +21 -0
  238. package/lib/events/hooks/invite.js +12 -0
  239. package/lib/events/hooks/message.d.ts +69 -0
  240. package/lib/events/hooks/message.js +37 -0
  241. package/lib/events/hooks/presence.d.ts +27 -0
  242. package/lib/events/hooks/presence.js +8 -0
  243. package/lib/events/hooks/stage.d.ts +29 -0
  244. package/lib/events/hooks/stage.js +16 -0
  245. package/lib/events/hooks/thread.d.ts +198 -0
  246. package/lib/events/hooks/thread.js +29 -0
  247. package/lib/events/hooks/typing.d.ts +16 -0
  248. package/lib/events/hooks/typing.js +14 -0
  249. package/lib/events/hooks/user.d.ts +4 -0
  250. package/lib/events/hooks/user.js +8 -0
  251. package/lib/events/hooks/voice.d.ts +37 -0
  252. package/lib/events/hooks/voice.js +18 -0
  253. package/lib/events/hooks/webhook.d.ts +6 -0
  254. package/lib/events/hooks/webhook.js +8 -0
  255. package/lib/events/index.d.ts +2 -0
  256. package/lib/events/index.js +18 -0
  257. package/lib/index.d.ts +79 -0
  258. package/lib/index.js +104 -0
  259. package/lib/langs/handler.d.ts +11 -0
  260. package/lib/langs/handler.js +34 -0
  261. package/lib/langs/index.d.ts +2 -0
  262. package/lib/langs/index.js +18 -0
  263. package/lib/langs/router.d.ts +18 -0
  264. package/lib/langs/router.js +42 -0
  265. package/lib/structures/AnonymousGuild.d.ts +7 -0
  266. package/lib/structures/AnonymousGuild.js +11 -0
  267. package/lib/structures/AutoModerationRule.d.ts +22 -0
  268. package/lib/structures/AutoModerationRule.js +34 -0
  269. package/lib/structures/ClientUser.d.ts +25 -0
  270. package/lib/structures/ClientUser.js +52 -0
  271. package/lib/structures/Guild.d.ts +86 -0
  272. package/lib/structures/Guild.js +66 -0
  273. package/lib/structures/GuildEmoji.d.ts +29 -0
  274. package/lib/structures/GuildEmoji.js +47 -0
  275. package/lib/structures/GuildMember.d.ts +92 -0
  276. package/lib/structures/GuildMember.js +137 -0
  277. package/lib/structures/GuildPreview.d.ts +10 -0
  278. package/lib/structures/GuildPreview.js +14 -0
  279. package/lib/structures/GuildRole.d.ts +21 -0
  280. package/lib/structures/GuildRole.js +32 -0
  281. package/lib/structures/GuildTemplate.d.ts +23 -0
  282. package/lib/structures/GuildTemplate.js +36 -0
  283. package/lib/structures/Interaction.d.ts +152 -0
  284. package/lib/structures/Interaction.js +409 -0
  285. package/lib/structures/Message.d.ts +53 -0
  286. package/lib/structures/Message.js +123 -0
  287. package/lib/structures/Sticker.d.ts +27 -0
  288. package/lib/structures/Sticker.js +44 -0
  289. package/lib/structures/User.d.ts +20 -0
  290. package/lib/structures/User.js +37 -0
  291. package/lib/structures/Webhook.d.ts +42 -0
  292. package/lib/structures/Webhook.js +63 -0
  293. package/lib/structures/channels.d.ts +232 -0
  294. package/lib/structures/channels.js +366 -0
  295. package/lib/structures/extra/Base.d.ts +7 -0
  296. package/lib/structures/extra/Base.js +39 -0
  297. package/lib/structures/extra/BaseComponent.d.ts +9 -0
  298. package/lib/structures/extra/BaseComponent.js +12 -0
  299. package/lib/structures/extra/BaseGuild.d.ts +40 -0
  300. package/lib/structures/extra/BaseGuild.js +71 -0
  301. package/lib/structures/extra/BaseSelectMenuComponent.d.ts +9 -0
  302. package/lib/structures/extra/BaseSelectMenuComponent.js +13 -0
  303. package/lib/structures/extra/BitField.d.ts +14 -0
  304. package/lib/structures/extra/BitField.js +56 -0
  305. package/lib/structures/extra/DiscordBase.d.ts +18 -0
  306. package/lib/structures/extra/DiscordBase.js +28 -0
  307. package/lib/structures/extra/Permissions.d.ts +54 -0
  308. package/lib/structures/extra/Permissions.js +9 -0
  309. package/lib/structures/extra/functions.d.ts +11 -0
  310. package/lib/structures/extra/functions.js +69 -0
  311. package/lib/structures/index.d.ts +15 -0
  312. package/lib/structures/index.js +31 -0
  313. package/lib/websocket/SharedTypes.d.ts +128 -0
  314. package/lib/websocket/SharedTypes.js +2 -0
  315. package/lib/websocket/constants/index.d.ts +26 -0
  316. package/lib/websocket/constants/index.js +31 -0
  317. package/lib/websocket/discord/basesocket.d.ts +12 -0
  318. package/lib/websocket/discord/basesocket.js +37 -0
  319. package/lib/websocket/discord/events/memberUpdate.d.ts +16 -0
  320. package/lib/websocket/discord/events/memberUpdate.js +47 -0
  321. package/lib/websocket/discord/events/presenceUpdate.d.ts +24 -0
  322. package/lib/websocket/discord/events/presenceUpdate.js +46 -0
  323. package/lib/websocket/discord/handlemessage.d.ts +0 -0
  324. package/lib/websocket/discord/handlemessage.js +1 -0
  325. package/lib/websocket/discord/index.d.ts +4 -0
  326. package/lib/websocket/discord/index.js +20 -0
  327. package/lib/websocket/discord/memberUpdate.d.ts +16 -0
  328. package/lib/websocket/discord/memberUpdate.js +47 -0
  329. package/lib/websocket/discord/shard.d.ts +46 -0
  330. package/lib/websocket/discord/shard.js +278 -0
  331. package/lib/websocket/discord/sharder.d.ts +25 -0
  332. package/lib/websocket/discord/sharder.js +153 -0
  333. package/lib/websocket/discord/shared.d.ts +99 -0
  334. package/lib/websocket/discord/shared.js +8 -0
  335. package/lib/websocket/discord/worker.d.ts +43 -0
  336. package/lib/websocket/discord/worker.js +2 -0
  337. package/lib/websocket/discord/workermanager.d.ts +69 -0
  338. package/lib/websocket/discord/workermanager.js +273 -0
  339. package/lib/websocket/index.d.ts +3 -0
  340. package/lib/websocket/index.js +19 -0
  341. package/lib/websocket/structures/index.d.ts +117 -0
  342. package/lib/websocket/structures/index.js +261 -0
  343. package/lib/websocket/structures/timeout.d.ts +20 -0
  344. package/lib/websocket/structures/timeout.js +75 -0
  345. package/package.json +70 -0
@@ -0,0 +1,86 @@
1
+ import type { BaseClient } from '../client/base';
2
+ import type { APIGuild, GatewayGuildCreateDispatchData, ObjectToLower } from '../common';
3
+ import type { StructPropState, StructStates, ToClass } from '../common/types/util';
4
+ import { GuildEmoji } from './GuildEmoji';
5
+ import { GuildMember } from './GuildMember';
6
+ import { GuildRole } from './GuildRole';
7
+ import { Sticker } from './Sticker';
8
+ import { BaseGuild } from './extra/BaseGuild';
9
+ import type { DiscordBase } from './extra/DiscordBase';
10
+ export interface Guild extends ObjectToLower<Omit<APIGuild, 'stickers' | 'emojis' | 'roles'>>, DiscordBase {
11
+ }
12
+ declare const Guild_base: ToClass<Omit<BaseGuild, "name" | "id" | "description" | "icon" | "splash" | "banner" | "features" | "welcomeScreen" | "verificationLevel" | "vanityUrlCode">, Guild<"api">>;
13
+ export declare class Guild<State extends StructStates = 'api'> extends Guild_base {
14
+ joinedAt: StructPropState<number, State, 'create'>;
15
+ memberCount: StructPropState<number, State, 'create'>;
16
+ large: StructPropState<boolean, State, 'create'>;
17
+ unavailable?: StructPropState<boolean, State, 'create'>;
18
+ constructor(client: BaseClient, data: APIGuild | GatewayGuildCreateDispatchData);
19
+ webhooks: {
20
+ list: () => Promise<import("./Webhook").Webhook[]>;
21
+ };
22
+ get maxStickers(): MaxStickers;
23
+ get maxEmojis(): MaxEmojis;
24
+ fetchOwner(force?: boolean): Promise<GuildMember> | Promise<null>;
25
+ templates: {
26
+ fetch: (code: string) => Promise<import("discord-api-types/payloads/v10/template").APITemplate>;
27
+ list: () => Promise<import("discord-api-types/rest/v10/template").RESTGetAPIGuildTemplatesResult>;
28
+ create: (body: import("discord-api-types/rest/v10/template").RESTPostAPIGuildTemplatesJSONBody) => Promise<import("discord-api-types/payloads/v10/template").APITemplate>;
29
+ sync: (code: string) => Promise<import("discord-api-types/payloads/v10/template").APITemplate>;
30
+ edit: (code: string, body: import("discord-api-types/utils/internals").AddUndefinedToPossiblyUndefinedPropertiesOfInterface<Partial<import("discord-api-types/rest/v10/template").RESTPostAPIGuildTemplatesJSONBody>>) => Promise<import("discord-api-types/payloads/v10/template").APITemplate>;
31
+ delete: (code: string) => Promise<import("discord-api-types/payloads/v10/template").APITemplate>;
32
+ };
33
+ stickers: {
34
+ list: () => Promise<Sticker[]>;
35
+ create: (payload: import("./Sticker").CreateStickerBodyRequest, reason?: string | undefined) => Promise<Sticker>;
36
+ edit: (stickerId: string, body: import("discord-api-types/rest/v10/sticker").RESTPatchAPIGuildStickerJSONBody, reason?: string | undefined) => Promise<Sticker>;
37
+ fetch: (stickerId: string, force?: boolean) => Promise<Sticker>;
38
+ delete: (stickerId: string, reason?: string | undefined) => Promise<void>;
39
+ };
40
+ members: {
41
+ resolve: (resolve: import("../common").GuildMemberResolvable) => Promise<GuildMember | undefined>;
42
+ search: (query?: import("discord-api-types/rest/v10/guild").RESTGetAPIGuildMembersSearchQuery | undefined) => Promise<GuildMember[]>;
43
+ unban: (id: string, body?: import("discord-api-types/rest/v10/guild").RESTPutAPIGuildBanJSONBody | undefined, reason?: string | undefined) => Promise<void>;
44
+ ban: (id: string, body?: import("discord-api-types/rest/v10/guild").RESTPutAPIGuildBanJSONBody | undefined, reason?: string | undefined) => Promise<void>;
45
+ kick: (id: string, reason?: string | undefined) => Promise<void>;
46
+ edit: (id: string, body: import("discord-api-types/rest/v10/guild").RESTPatchAPIGuildMemberJSONBody, reason?: string | undefined) => Promise<GuildMember>;
47
+ add: (id: string, body: import("discord-api-types/rest/v10/guild").RESTPutAPIGuildMemberJSONBody) => Promise<GuildMember | undefined>;
48
+ fetch: (memberId: string, force?: boolean) => Promise<GuildMember>;
49
+ list: (query?: import("discord-api-types/rest/v10/guild").RESTGetAPIGuildMembersQuery | undefined, force?: boolean) => Promise<GuildMember[]>;
50
+ };
51
+ moderationRules: {
52
+ list: () => Promise<import("discord-api-types/rest/v10/autoModeration").RESTGetAPIAutoModerationRulesResult>;
53
+ create: (body: import("discord-api-types/rest/v10/autoModeration").RESTPostAPIAutoModerationRuleJSONBody) => Promise<import("discord-api-types/payloads/v10/autoModeration").APIAutoModerationRule>;
54
+ delete: (ruleId: string, reason?: string | undefined) => Promise<never>;
55
+ fetch: (ruleId: string) => Promise<import("discord-api-types/payloads/v10/autoModeration").APIAutoModerationRule>;
56
+ edit: (ruleId: string, body: import("discord-api-types/rest/v10/autoModeration").RESTPatchAPIAutoModerationRuleJSONBody, reason?: string | undefined) => Promise<import("discord-api-types/payloads/v10/autoModeration").APIAutoModerationRule>;
57
+ };
58
+ roles: {
59
+ create: (body: import("discord-api-types/rest/v10/guild").RESTPostAPIGuildRoleJSONBody) => Promise<any>;
60
+ list: (force?: boolean) => Promise<GuildRole[]>;
61
+ edit: (roleId: string, body: import("discord-api-types/rest/v10/guild").RESTPatchAPIGuildRoleJSONBody, reason?: string | undefined) => Promise<any>;
62
+ delete: (roleId: string, reason?: string | undefined) => Promise<void | undefined>;
63
+ editPositions: (body: import("discord-api-types/rest/v10/guild").RESTPatchAPIGuildRolePositionsJSONBody) => Promise<GuildRole[]>;
64
+ };
65
+ channels: {
66
+ list: (force?: boolean) => Promise<import("./channels").AllChannels[]>;
67
+ fetch: (id: string, force?: boolean) => Promise<import("./channels").AllChannels>;
68
+ create: (body: import("discord-api-types/rest/v10/guild").RESTPostAPIGuildChannelJSONBody) => Promise<import("./channels").AllChannels>;
69
+ delete: (id: string, reason?: string | undefined) => Promise<import("./channels").AllChannels>;
70
+ edit: (id: string, body: import("discord-api-types/rest/v10/channel").RESTPatchAPIChannelJSONBody, reason?: string | undefined) => Promise<import("./channels").AllChannels>;
71
+ editPositions: (body: import("discord-api-types/rest/v10/guild").RESTPatchAPIGuildChannelPositionsJSONBody) => Promise<never>;
72
+ };
73
+ emojis: {
74
+ edit: (emojiId: string, body: import("discord-api-types/rest/v10/emoji").RESTPatchAPIGuildEmojiJSONBody, reason?: string | undefined) => Promise<GuildEmoji>;
75
+ create: (body: Omit<import("discord-api-types/rest/v10/emoji").RESTPostAPIGuildEmojiJSONBody, "image"> & {
76
+ image: import("../common").ImageResolvable;
77
+ }) => Promise<void>;
78
+ fetch: (emojiId: string, force?: boolean) => Promise<GuildEmoji>;
79
+ list: (force?: boolean) => Promise<GuildEmoji[]>;
80
+ };
81
+ }
82
+ /** Maximun custom guild emojis per level */
83
+ export type MaxEmojis = 50 | 100 | 150 | 250;
84
+ /** Maximun custom guild stickers per level */
85
+ export type MaxStickers = 5 | 15 | 30 | 60;
86
+ export {};
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Guild = void 0;
4
+ const AutoModerationRule_1 = require("./AutoModerationRule");
5
+ const GuildEmoji_1 = require("./GuildEmoji");
6
+ const GuildMember_1 = require("./GuildMember");
7
+ const GuildRole_1 = require("./GuildRole");
8
+ const GuildTemplate_1 = require("./GuildTemplate");
9
+ const Sticker_1 = require("./Sticker");
10
+ const channels_1 = require("./channels");
11
+ const BaseGuild_1 = require("./extra/BaseGuild");
12
+ class Guild extends BaseGuild_1.BaseGuild {
13
+ joinedAt;
14
+ memberCount;
15
+ large;
16
+ unavailable;
17
+ constructor(client, data) {
18
+ super(client, data);
19
+ if ('joined_at' in data) {
20
+ this.joinedAt = Number(data.joined_at);
21
+ this.memberCount = data.member_count;
22
+ this.large = data.large;
23
+ this.unavailable = data.unavailable;
24
+ }
25
+ }
26
+ webhooks = channels_1.WebhookGuildMethods.guild({ client: this.client, guildId: this.id });
27
+ get maxStickers() {
28
+ switch (this.premiumTier) {
29
+ case 1:
30
+ return 15;
31
+ case 2:
32
+ return 30;
33
+ case 3:
34
+ return 60;
35
+ default:
36
+ return 5;
37
+ }
38
+ }
39
+ get maxEmojis() {
40
+ switch (this.premiumTier) {
41
+ case 1:
42
+ return 100;
43
+ case 2:
44
+ return 150;
45
+ case 3:
46
+ return 250;
47
+ default:
48
+ return 50;
49
+ }
50
+ }
51
+ fetchOwner(force = false) {
52
+ // For no reason, discord has some guilds without owner... 🤓
53
+ if (!this.ownerId) {
54
+ return Promise.resolve(null);
55
+ }
56
+ return this.members.fetch(this.ownerId, force);
57
+ }
58
+ templates = GuildTemplate_1.GuildTemplate.methods({ client: this.client, guildId: this.id });
59
+ stickers = Sticker_1.Sticker.methods({ client: this.client, guildId: this.id });
60
+ members = GuildMember_1.GuildMember.methods({ client: this.client, guildId: this.id });
61
+ moderationRules = AutoModerationRule_1.AutoModerationRule.methods({ client: this.client, guildId: this.id });
62
+ roles = GuildRole_1.GuildRole.methods({ client: this.client, guildId: this.id });
63
+ channels = channels_1.BaseChannel.allMethods({ client: this.client, guildId: this.id });
64
+ emojis = GuildEmoji_1.GuildEmoji.methods({ client: this.client, guildId: this.id });
65
+ }
66
+ exports.Guild = Guild;
@@ -0,0 +1,29 @@
1
+ import type { BaseImageURLOptions } from '../api';
2
+ import type { BaseClient } from '../client/base';
3
+ import type { APIEmoji, GuildShorter, MethodContext, ObjectToLower, RESTPatchAPIChannelJSONBody, RESTPatchAPIGuildEmojiJSONBody } from '../common';
4
+ import { DiscordBase } from './extra/DiscordBase';
5
+ export interface GuildEmoji extends DiscordBase, ObjectToLower<Omit<APIEmoji, 'id'>> {
6
+ }
7
+ export declare class GuildEmoji extends DiscordBase {
8
+ readonly guildId: string;
9
+ constructor(client: BaseClient, data: APIEmoji, guildId: string);
10
+ guild(force?: boolean): Promise<import("./Guild").Guild<"cached"> | import("./Guild").Guild<"api">> | undefined;
11
+ edit(body: RESTPatchAPIChannelJSONBody, reason?: string): Promise<GuildEmoji>;
12
+ delete(reason?: string): Promise<void>;
13
+ fetch(force?: boolean): Promise<GuildEmoji>;
14
+ url(options?: BaseImageURLOptions): string;
15
+ toString(): string;
16
+ toJSON(): {
17
+ id: string;
18
+ name: string | null;
19
+ animated: boolean;
20
+ };
21
+ static methods({ client, guildId }: MethodContext<{
22
+ guildId: string;
23
+ }>): {
24
+ edit: (emojiId: string, body: RESTPatchAPIGuildEmojiJSONBody, reason?: string) => Promise<GuildEmoji>;
25
+ create: (body: Parameters<GuildShorter['emojis']['create']>[1]) => Promise<void>;
26
+ fetch: (emojiId: string, force?: boolean) => Promise<GuildEmoji>;
27
+ list: (force?: boolean) => Promise<GuildEmoji[]>;
28
+ };
29
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GuildEmoji = void 0;
4
+ const DiscordBase_1 = require("./extra/DiscordBase");
5
+ class GuildEmoji extends DiscordBase_1.DiscordBase {
6
+ guildId;
7
+ constructor(client, data, guildId) {
8
+ super(client, { ...data, id: data.id });
9
+ this.guildId = guildId;
10
+ }
11
+ guild(force = false) {
12
+ if (!this.guildId)
13
+ return;
14
+ return this.client.guilds.fetch(this.guildId, force);
15
+ }
16
+ edit(body, reason) {
17
+ return this.client.guilds.emojis.edit(this.guildId, this.id, body, reason);
18
+ }
19
+ delete(reason) {
20
+ return this.client.guilds.emojis.delete(this.guildId, this.id, reason);
21
+ }
22
+ fetch(force = false) {
23
+ return this.client.guilds.emojis.fetch(this.guildId, this.id, force);
24
+ }
25
+ url(options) {
26
+ return this.rest.cdn.emoji(this.id, options);
27
+ }
28
+ toString() {
29
+ return `<${this.animated ? 'a' : ''}:${this.name}:${this.id}>`;
30
+ }
31
+ toJSON() {
32
+ return {
33
+ id: this.id,
34
+ name: this.name,
35
+ animated: !!this.animated,
36
+ };
37
+ }
38
+ static methods({ client, guildId }) {
39
+ return {
40
+ edit: (emojiId, body, reason) => client.guilds.emojis.edit(guildId, emojiId, body, reason),
41
+ create: (body) => client.guilds.emojis.create(guildId, body),
42
+ fetch: (emojiId, force = false) => client.guilds.emojis.fetch(guildId, emojiId, force),
43
+ list: (force = false) => client.guilds.emojis.list(guildId, force),
44
+ };
45
+ }
46
+ }
47
+ exports.GuildEmoji = GuildEmoji;
@@ -0,0 +1,92 @@
1
+ import type { APIGuildMember, APIInteractionDataResolvedGuildMember, APIUser, GatewayGuildMemberAddDispatchData, GatewayGuildMemberUpdateDispatchData, MakeRequired, MessageCreateBodyRequest, ObjectToLower, RESTGetAPIGuildMembersQuery, RESTGetAPIGuildMembersSearchQuery, RESTPatchAPIGuildMemberJSONBody, RESTPutAPIGuildBanJSONBody, RESTPutAPIGuildMemberJSONBody, ToClass } from '../common';
2
+ import { DiscordBase } from './extra/DiscordBase';
3
+ export type GuildMemberData = APIGuildMember | GatewayGuildMemberUpdateDispatchData | GatewayGuildMemberAddDispatchData | APIInteractionDataResolvedGuildMember;
4
+ import type { BaseClient } from '../client/base';
5
+ import type { ImageOptions, MethodContext } from '../common/types/options';
6
+ import type { GuildMemberResolvable } from '../common/types/resolvables';
7
+ import { User } from './User';
8
+ import { PermissionsBitField } from './extra/Permissions';
9
+ export type GatewayGuildMemberAddDispatchDataFixed<Pending extends boolean> = Pending extends true ? Omit<GatewayGuildMemberAddDispatchData, 'user'> & {
10
+ id: string;
11
+ } : MakeRequired<GatewayGuildMemberAddDispatchData, 'user'>;
12
+ export interface BaseGuildMember extends DiscordBase, ObjectToLower<Omit<APIGuildMember, 'user' | 'roles'>> {
13
+ }
14
+ export declare class BaseGuildMember extends DiscordBase {
15
+ /** the choosen guild id */
16
+ readonly guildId: string;
17
+ private _roles;
18
+ joinedTimestamp?: number;
19
+ communicationDisabledUntilTimestamp?: number | null;
20
+ constructor(client: BaseClient, data: GuildMemberData, id: string,
21
+ /** the choosen guild id */
22
+ guildId: string);
23
+ guild(force?: boolean): Promise<import("./Guild").Guild<"cached"> | import("./Guild").Guild<"api">>;
24
+ fetch(force?: boolean): Promise<GuildMember>;
25
+ ban(body?: RESTPutAPIGuildBanJSONBody, reason?: string): Promise<void>;
26
+ kick(reason?: string): Promise<void>;
27
+ edit(body: RESTPatchAPIGuildMemberJSONBody, reason?: string): Promise<GuildMember>;
28
+ toString(): string;
29
+ private patch;
30
+ get roles(): {
31
+ values: readonly string[];
32
+ add: (id: string) => Promise<void>;
33
+ remove: (id: string) => Promise<void>;
34
+ };
35
+ static methods({ client, guildId }: MethodContext<{
36
+ guildId: string;
37
+ }>): {
38
+ resolve: (resolve: GuildMemberResolvable) => Promise<GuildMember | undefined>;
39
+ search: (query?: RESTGetAPIGuildMembersSearchQuery) => Promise<GuildMember[]>;
40
+ unban: (id: string, body?: RESTPutAPIGuildBanJSONBody, reason?: string) => Promise<void>;
41
+ ban: (id: string, body?: RESTPutAPIGuildBanJSONBody, reason?: string) => Promise<void>;
42
+ kick: (id: string, reason?: string) => Promise<void>;
43
+ edit: (id: string, body: RESTPatchAPIGuildMemberJSONBody, reason?: string) => Promise<GuildMember>;
44
+ add: (id: string, body: RESTPutAPIGuildMemberJSONBody) => Promise<GuildMember | undefined>;
45
+ fetch: (memberId: string, force?: boolean) => Promise<GuildMember>;
46
+ list: (query?: RESTGetAPIGuildMembersQuery, force?: boolean) => Promise<GuildMember[]>;
47
+ };
48
+ }
49
+ export interface GuildMember extends ObjectToLower<Omit<APIGuildMember, 'user' | 'roles'>> {
50
+ }
51
+ /**
52
+ * Represents a guild member
53
+ * @link https://discord.com/developers/docs/resources/guild#guild-member-object
54
+ */
55
+ export declare class GuildMember extends BaseGuildMember {
56
+ /** the choosen guild id */
57
+ readonly guildId: string;
58
+ user: User;
59
+ constructor(client: BaseClient, data: GuildMemberData, user: APIUser | User,
60
+ /** the choosen guild id */
61
+ guildId: string);
62
+ get tag(): string;
63
+ get bot(): boolean | undefined;
64
+ get name(): string;
65
+ get username(): string;
66
+ get globalName(): string | null;
67
+ /** gets the nickname or the username */
68
+ get displayName(): string;
69
+ dm(force?: boolean): Promise<import("./channels").DMChannel>;
70
+ write(body: MessageCreateBodyRequest): Promise<import("./Message").Message>;
71
+ avatarURL(options?: ImageOptions): string;
72
+ dynamicAvatarURL(options?: ImageOptions): string;
73
+ }
74
+ export interface UnavailableMember {
75
+ pending: true;
76
+ }
77
+ export declare class UnavailableMember extends BaseGuildMember {
78
+ }
79
+ export interface InteractionGuildMember extends ObjectToLower<Omit<APIInteractionDataResolvedGuildMember, 'roles' | 'deaf' | 'mute' | 'permissions'>> {
80
+ }
81
+ declare const InteractionGuildMember_base: ToClass<Omit<GuildMember, "deaf" | "mute">, InteractionGuildMember>;
82
+ /**
83
+ * Represents a guild member
84
+ * @link https://discord.com/developers/docs/resources/guild#guild-member-object
85
+ */
86
+ export declare class InteractionGuildMember extends InteractionGuildMember_base {
87
+ permissions: PermissionsBitField;
88
+ constructor(client: BaseClient, data: APIInteractionDataResolvedGuildMember, user: APIUser | User,
89
+ /** the choosen guild id */
90
+ guildId: string);
91
+ }
92
+ export {};
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InteractionGuildMember = exports.UnavailableMember = exports.GuildMember = exports.BaseGuildMember = void 0;
4
+ const DiscordBase_1 = require("./extra/DiscordBase");
5
+ const User_1 = require("./User");
6
+ const Permissions_1 = require("./extra/Permissions");
7
+ class BaseGuildMember extends DiscordBase_1.DiscordBase {
8
+ guildId;
9
+ _roles;
10
+ joinedTimestamp;
11
+ communicationDisabledUntilTimestamp;
12
+ constructor(client, data, id,
13
+ /** the choosen guild id */
14
+ guildId) {
15
+ const { roles, ...dataN } = data;
16
+ super(client, { ...dataN, id });
17
+ this.guildId = guildId;
18
+ this._roles = data.roles;
19
+ this.patch(data);
20
+ }
21
+ guild(force = false) {
22
+ return this.client.guilds.fetch(this.id, force);
23
+ }
24
+ fetch(force = false) {
25
+ return this.client.members.fetch(this.guildId, this.id, force);
26
+ }
27
+ ban(body, reason) {
28
+ return this.client.members.ban(this.guildId, this.id, body, reason);
29
+ }
30
+ kick(reason) {
31
+ return this.client.members.kick(this.guildId, this.id, reason);
32
+ }
33
+ edit(body, reason) {
34
+ return this.client.members.edit(this.guildId, this.id, body, reason);
35
+ }
36
+ toString() {
37
+ return `<@${this.id}>`;
38
+ }
39
+ patch(data) {
40
+ if ('joined_at' in data && data.joined_at) {
41
+ this.joinedTimestamp = Date.parse(data.joined_at);
42
+ }
43
+ if ('communication_disabled_until' in data) {
44
+ this.communicationDisabledUntilTimestamp = data.communication_disabled_until?.length
45
+ ? Date.parse(data.communication_disabled_until)
46
+ : null;
47
+ }
48
+ }
49
+ get roles() {
50
+ return {
51
+ values: Object.freeze(this._roles),
52
+ add: (id) => this.client.members.roles.add(this.guildId, this.id, id),
53
+ remove: (id) => this.client.members.roles.remove(this.guildId, this.id, id),
54
+ };
55
+ }
56
+ static methods({ client, guildId }) {
57
+ return {
58
+ resolve: (resolve) => client.members.resolve(guildId, resolve),
59
+ search: (query) => client.members.search(guildId, query),
60
+ unban: (id, body, reason) => client.members.unban(guildId, id, body, reason),
61
+ ban: (id, body, reason) => client.members.ban(guildId, id, body, reason),
62
+ kick: (id, reason) => client.members.kick(guildId, id, reason),
63
+ edit: (id, body, reason) => client.members.edit(guildId, id, body, reason),
64
+ add: (id, body) => client.members.add(guildId, id, body),
65
+ fetch: (memberId, force = false) => client.members.fetch(guildId, memberId, force),
66
+ list: (query, force = false) => client.members.list(guildId, query, force),
67
+ };
68
+ }
69
+ }
70
+ exports.BaseGuildMember = BaseGuildMember;
71
+ /**
72
+ * Represents a guild member
73
+ * @link https://discord.com/developers/docs/resources/guild#guild-member-object
74
+ */
75
+ class GuildMember extends BaseGuildMember {
76
+ guildId;
77
+ user;
78
+ constructor(client, data, user,
79
+ /** the choosen guild id */
80
+ guildId) {
81
+ super(client, data, user.id, guildId);
82
+ this.guildId = guildId;
83
+ this.user = user instanceof User_1.User ? user : new User_1.User(client, user);
84
+ }
85
+ get tag() {
86
+ return this.user.tag;
87
+ }
88
+ get bot() {
89
+ return this.user.bot;
90
+ }
91
+ get name() {
92
+ return this.user.name;
93
+ }
94
+ get username() {
95
+ return this.user.username;
96
+ }
97
+ get globalName() {
98
+ return this.user.globalName;
99
+ }
100
+ /** gets the nickname or the username */
101
+ get displayName() {
102
+ return this.nick ?? this.globalName ?? this.username;
103
+ }
104
+ dm(force = false) {
105
+ return this.user.dm(force);
106
+ }
107
+ write(body) {
108
+ return this.user.write(body);
109
+ }
110
+ avatarURL(options) {
111
+ return this.user.avatarURL(options);
112
+ }
113
+ dynamicAvatarURL(options) {
114
+ if (!this.avatar) {
115
+ return this.user.avatarURL(options);
116
+ }
117
+ return this.rest.cdn.guildMemberAvatar(this.guildId, this.id, this.avatar, options);
118
+ }
119
+ }
120
+ exports.GuildMember = GuildMember;
121
+ class UnavailableMember extends BaseGuildMember {
122
+ }
123
+ exports.UnavailableMember = UnavailableMember;
124
+ /**
125
+ * Represents a guild member
126
+ * @link https://discord.com/developers/docs/resources/guild#guild-member-object
127
+ */
128
+ class InteractionGuildMember extends GuildMember {
129
+ permissions;
130
+ constructor(client, data, user,
131
+ /** the choosen guild id */
132
+ guildId) {
133
+ super(client, data, user, guildId);
134
+ this.permissions = new Permissions_1.PermissionsBitField(Number(data.permissions));
135
+ }
136
+ }
137
+ exports.InteractionGuildMember = InteractionGuildMember;
@@ -0,0 +1,10 @@
1
+ import type { BaseClient } from '../client/base';
2
+ import type { APIGuildPreview } from '../common';
3
+ import { AnonymousGuild } from './AnonymousGuild';
4
+ /**
5
+ * Represent Discord Guild Preview Object
6
+ * @link https://discord.com/developers/docs/resources/guild#guild-preview-object
7
+ */
8
+ export declare class GuildPreview extends AnonymousGuild {
9
+ constructor(client: BaseClient, data: APIGuildPreview);
10
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GuildPreview = void 0;
4
+ const AnonymousGuild_1 = require("./AnonymousGuild");
5
+ /**
6
+ * Represent Discord Guild Preview Object
7
+ * @link https://discord.com/developers/docs/resources/guild#guild-preview-object
8
+ */
9
+ class GuildPreview extends AnonymousGuild_1.AnonymousGuild {
10
+ constructor(client, data) {
11
+ super(client, data);
12
+ }
13
+ }
14
+ exports.GuildPreview = GuildPreview;
@@ -0,0 +1,21 @@
1
+ import type { BaseClient } from '../client/base';
2
+ import type { APIRole, MethodContext, ObjectToLower, RESTPatchAPIGuildRoleJSONBody, RESTPatchAPIGuildRolePositionsJSONBody, RESTPostAPIGuildRoleJSONBody } from '../common';
3
+ import { DiscordBase } from './extra/DiscordBase';
4
+ export interface GuildRole extends DiscordBase, ObjectToLower<APIRole> {
5
+ }
6
+ export declare class GuildRole extends DiscordBase {
7
+ readonly guildId: string;
8
+ constructor(client: BaseClient, data: APIRole, guildId: string);
9
+ guild(force?: boolean): Promise<import("./Guild").Guild<"cached"> | import("./Guild").Guild<"api"> | undefined>;
10
+ edit(body: RESTPatchAPIGuildRoleJSONBody, reason?: string): Promise<any>;
11
+ delete(reason?: string): Promise<void | undefined>;
12
+ static methods(ctx: MethodContext<{
13
+ guildId: string;
14
+ }>): {
15
+ create: (body: RESTPostAPIGuildRoleJSONBody) => Promise<any>;
16
+ list: (force?: boolean) => Promise<GuildRole[]>;
17
+ edit: (roleId: string, body: RESTPatchAPIGuildRoleJSONBody, reason?: string) => Promise<any>;
18
+ delete: (roleId: string, reason?: string) => Promise<void | undefined>;
19
+ editPositions: (body: RESTPatchAPIGuildRolePositionsJSONBody) => Promise<GuildRole[]>;
20
+ };
21
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GuildRole = void 0;
4
+ const DiscordBase_1 = require("./extra/DiscordBase");
5
+ class GuildRole extends DiscordBase_1.DiscordBase {
6
+ guildId;
7
+ constructor(client, data, guildId) {
8
+ super(client, data);
9
+ this.guildId = guildId;
10
+ }
11
+ async guild(force = false) {
12
+ if (!this.guildId)
13
+ return;
14
+ return this.client.guilds.fetch(this.guildId, force);
15
+ }
16
+ edit(body, reason) {
17
+ return this.client.roles.create(this.guildId, body, reason);
18
+ }
19
+ delete(reason) {
20
+ return this.client.roles.delete(this.guildId, this.id, reason);
21
+ }
22
+ static methods(ctx) {
23
+ return {
24
+ create: (body) => ctx.client.roles.create(ctx.guildId, body),
25
+ list: (force = false) => ctx.client.roles.list(ctx.guildId, force),
26
+ edit: (roleId, body, reason) => ctx.client.roles.edit(ctx.guildId, roleId, body, reason),
27
+ delete: (roleId, reason) => ctx.client.roles.delete(ctx.guildId, roleId, reason),
28
+ editPositions: (body) => ctx.client.roles.editPositions(ctx.guildId, body),
29
+ };
30
+ }
31
+ }
32
+ exports.GuildRole = GuildRole;
@@ -0,0 +1,23 @@
1
+ import type { BaseClient } from '../client/base';
2
+ import type { APITemplate, MethodContext, ObjectToLower, RESTPatchAPIGuildTemplateJSONBody, RESTPostAPIGuildTemplatesJSONBody } from '../common';
3
+ import { Base } from './extra/Base';
4
+ export interface GuildTemplate extends Base, ObjectToLower<APITemplate> {
5
+ }
6
+ export declare class GuildTemplate extends Base {
7
+ constructor(client: BaseClient, data: APITemplate);
8
+ guild(force?: boolean): Promise<import("./Guild").Guild<"cached"> | import("./Guild").Guild<"api">>;
9
+ fetch(): Promise<APITemplate>;
10
+ sync(): Promise<APITemplate>;
11
+ edit(body: RESTPatchAPIGuildTemplateJSONBody): Promise<APITemplate>;
12
+ delete(): Promise<APITemplate>;
13
+ static methods(ctx: MethodContext<{
14
+ guildId: string;
15
+ }>): {
16
+ fetch: (code: string) => Promise<APITemplate>;
17
+ list: () => Promise<import("discord-api-types/rest/v10/template").RESTGetAPIGuildTemplatesResult>;
18
+ create: (body: RESTPostAPIGuildTemplatesJSONBody) => Promise<APITemplate>;
19
+ sync: (code: string) => Promise<APITemplate>;
20
+ edit: (code: string, body: RESTPatchAPIGuildTemplateJSONBody) => Promise<APITemplate>;
21
+ delete: (code: string) => Promise<APITemplate>;
22
+ };
23
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GuildTemplate = void 0;
4
+ const Base_1 = require("./extra/Base");
5
+ class GuildTemplate extends Base_1.Base {
6
+ constructor(client, data) {
7
+ super(client);
8
+ this.__patchThis(data);
9
+ }
10
+ async guild(force = false) {
11
+ return this.client.guilds.fetch(this.sourceGuildId, force);
12
+ }
13
+ async fetch() {
14
+ return this.client.templates.fetch(this.sourceGuildId);
15
+ }
16
+ sync() {
17
+ return this.client.templates.sync(this.sourceGuildId, this.code);
18
+ }
19
+ edit(body) {
20
+ return this.client.templates.edit(this.sourceGuildId, this.code, body);
21
+ }
22
+ delete() {
23
+ return this.client.templates.delete(this.sourceGuildId, this.code);
24
+ }
25
+ static methods(ctx) {
26
+ return {
27
+ fetch: (code) => ctx.client.templates.fetch(code),
28
+ list: () => ctx.client.templates.list(ctx.guildId),
29
+ create: (body) => ctx.client.templates.create(ctx.guildId, body),
30
+ sync: (code) => ctx.client.templates.sync(ctx.guildId, code),
31
+ edit: (code, body) => ctx.client.templates.edit(ctx.guildId, code, body),
32
+ delete: (code) => ctx.client.templates.delete(ctx.guildId, code),
33
+ };
34
+ }
35
+ }
36
+ exports.GuildTemplate = GuildTemplate;