hischool.js 0.0.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 (369) hide show
  1. package/README.md +41 -0
  2. package/lib/cjs/Client.d.ts +166 -0
  3. package/lib/cjs/Client.d.ts.map +1 -0
  4. package/lib/cjs/Client.js +221 -0
  5. package/lib/cjs/api/baseURL.d.ts +2 -0
  6. package/lib/cjs/api/baseURL.d.ts.map +1 -0
  7. package/lib/cjs/api/baseURL.js +5 -0
  8. package/lib/cjs/api/index.d.ts +177 -0
  9. package/lib/cjs/api/index.d.ts.map +1 -0
  10. package/lib/cjs/api/index.js +150 -0
  11. package/lib/cjs/api/params.d.ts +285 -0
  12. package/lib/cjs/api/params.d.ts.map +1 -0
  13. package/lib/cjs/api/params.js +194 -0
  14. package/lib/cjs/api/routes.d.ts +1089 -0
  15. package/lib/cjs/api/routes.d.ts.map +1 -0
  16. package/lib/cjs/api/routes.js +2 -0
  17. package/lib/cjs/api/schema.d.ts +4705 -0
  18. package/lib/cjs/api/schema.d.ts.map +1 -0
  19. package/lib/cjs/api/schema.js +2 -0
  20. package/lib/cjs/api/types.d.ts +131 -0
  21. package/lib/cjs/api/types.d.ts.map +1 -0
  22. package/lib/cjs/api/types.js +2 -0
  23. package/lib/cjs/classes/BannedUser.d.ts +18 -0
  24. package/lib/cjs/classes/BannedUser.d.ts.map +1 -0
  25. package/lib/cjs/classes/BannedUser.js +21 -0
  26. package/lib/cjs/classes/Bot.d.ts +82 -0
  27. package/lib/cjs/classes/Bot.d.ts.map +1 -0
  28. package/lib/cjs/classes/Bot.js +145 -0
  29. package/lib/cjs/classes/Channel.d.ts +465 -0
  30. package/lib/cjs/classes/Channel.d.ts.map +1 -0
  31. package/lib/cjs/classes/Channel.js +599 -0
  32. package/lib/cjs/classes/ChannelUnread.d.ts +27 -0
  33. package/lib/cjs/classes/ChannelUnread.d.ts.map +1 -0
  34. package/lib/cjs/classes/ChannelUnread.js +50 -0
  35. package/lib/cjs/classes/ChannelWebhook.d.ts +53 -0
  36. package/lib/cjs/classes/ChannelWebhook.d.ts.map +1 -0
  37. package/lib/cjs/classes/ChannelWebhook.js +113 -0
  38. package/lib/cjs/classes/Emoji.d.ts +57 -0
  39. package/lib/cjs/classes/Emoji.d.ts.map +1 -0
  40. package/lib/cjs/classes/Emoji.js +104 -0
  41. package/lib/cjs/classes/File.d.ts +67 -0
  42. package/lib/cjs/classes/File.d.ts.map +1 -0
  43. package/lib/cjs/classes/File.js +102 -0
  44. package/lib/cjs/classes/Invite.d.ts +60 -0
  45. package/lib/cjs/classes/Invite.d.ts.map +1 -0
  46. package/lib/cjs/classes/Invite.js +91 -0
  47. package/lib/cjs/classes/MFA.d.ts +83 -0
  48. package/lib/cjs/classes/MFA.d.ts.map +1 -0
  49. package/lib/cjs/classes/MFA.js +196 -0
  50. package/lib/cjs/classes/Message.d.ts +484 -0
  51. package/lib/cjs/classes/Message.d.ts.map +1 -0
  52. package/lib/cjs/classes/Message.js +341 -0
  53. package/lib/cjs/classes/MessageEmbed.d.ts +122 -0
  54. package/lib/cjs/classes/MessageEmbed.d.ts.map +1 -0
  55. package/lib/cjs/classes/MessageEmbed.js +181 -0
  56. package/lib/cjs/classes/PublicBot.d.ts +28 -0
  57. package/lib/cjs/classes/PublicBot.d.ts.map +1 -0
  58. package/lib/cjs/classes/PublicBot.js +60 -0
  59. package/lib/cjs/classes/PublicInvite.d.ts +57 -0
  60. package/lib/cjs/classes/PublicInvite.d.ts.map +1 -0
  61. package/lib/cjs/classes/PublicInvite.js +104 -0
  62. package/lib/cjs/classes/Server.d.ts +473 -0
  63. package/lib/cjs/classes/Server.d.ts.map +1 -0
  64. package/lib/cjs/classes/Server.js +585 -0
  65. package/lib/cjs/classes/ServerBan.d.ts +26 -0
  66. package/lib/cjs/classes/ServerBan.d.ts.map +1 -0
  67. package/lib/cjs/classes/ServerBan.js +44 -0
  68. package/lib/cjs/classes/ServerMember.d.ts +138 -0
  69. package/lib/cjs/classes/ServerMember.d.ts.map +1 -0
  70. package/lib/cjs/classes/ServerMember.js +234 -0
  71. package/lib/cjs/classes/Session.d.ts +45 -0
  72. package/lib/cjs/classes/Session.d.ts.map +1 -0
  73. package/lib/cjs/classes/Session.js +94 -0
  74. package/lib/cjs/classes/SystemMessage.d.ts +127 -0
  75. package/lib/cjs/classes/SystemMessage.d.ts.map +1 -0
  76. package/lib/cjs/classes/SystemMessage.js +172 -0
  77. package/lib/cjs/classes/User.d.ts +203 -0
  78. package/lib/cjs/classes/User.d.ts.map +1 -0
  79. package/lib/cjs/classes/User.js +299 -0
  80. package/lib/cjs/classes/UserProfile.d.ts +23 -0
  81. package/lib/cjs/classes/UserProfile.d.ts.map +1 -0
  82. package/lib/cjs/classes/UserProfile.js +35 -0
  83. package/lib/cjs/classes/index.d.ts +21 -0
  84. package/lib/cjs/classes/index.d.ts.map +1 -0
  85. package/lib/cjs/classes/index.js +36 -0
  86. package/lib/cjs/collections/AccountCollection.d.ts +91 -0
  87. package/lib/cjs/collections/AccountCollection.d.ts.map +1 -0
  88. package/lib/cjs/collections/AccountCollection.js +150 -0
  89. package/lib/cjs/collections/BotCollection.d.ts +39 -0
  90. package/lib/cjs/collections/BotCollection.d.ts.map +1 -0
  91. package/lib/cjs/collections/BotCollection.js +89 -0
  92. package/lib/cjs/collections/ChannelCollection.d.ts +39 -0
  93. package/lib/cjs/collections/ChannelCollection.d.ts.map +1 -0
  94. package/lib/cjs/collections/ChannelCollection.js +93 -0
  95. package/lib/cjs/collections/ChannelUnreadCollection.d.ts +24 -0
  96. package/lib/cjs/collections/ChannelUnreadCollection.d.ts.map +1 -0
  97. package/lib/cjs/collections/ChannelUnreadCollection.js +56 -0
  98. package/lib/cjs/collections/ChannelWebhookCollection.d.ts +29 -0
  99. package/lib/cjs/collections/ChannelWebhookCollection.d.ts.map +1 -0
  100. package/lib/cjs/collections/ChannelWebhookCollection.js +69 -0
  101. package/lib/cjs/collections/Collection.d.ts +153 -0
  102. package/lib/cjs/collections/Collection.d.ts.map +1 -0
  103. package/lib/cjs/collections/Collection.js +170 -0
  104. package/lib/cjs/collections/EmojiCollection.d.ts +27 -0
  105. package/lib/cjs/collections/EmojiCollection.d.ts.map +1 -0
  106. package/lib/cjs/collections/EmojiCollection.js +67 -0
  107. package/lib/cjs/collections/MessageCollection.d.ts +28 -0
  108. package/lib/cjs/collections/MessageCollection.d.ts.map +1 -0
  109. package/lib/cjs/collections/MessageCollection.js +69 -0
  110. package/lib/cjs/collections/ServerCollection.d.ts +36 -0
  111. package/lib/cjs/collections/ServerCollection.d.ts.map +1 -0
  112. package/lib/cjs/collections/ServerCollection.js +96 -0
  113. package/lib/cjs/collections/ServerMemberCollection.d.ts +45 -0
  114. package/lib/cjs/collections/ServerMemberCollection.d.ts.map +1 -0
  115. package/lib/cjs/collections/ServerMemberCollection.js +95 -0
  116. package/lib/cjs/collections/SessionCollection.d.ts +27 -0
  117. package/lib/cjs/collections/SessionCollection.d.ts.map +1 -0
  118. package/lib/cjs/collections/SessionCollection.js +63 -0
  119. package/lib/cjs/collections/UserCollection.d.ts +31 -0
  120. package/lib/cjs/collections/UserCollection.d.ts.map +1 -0
  121. package/lib/cjs/collections/UserCollection.js +81 -0
  122. package/lib/cjs/collections/index.d.ts +12 -0
  123. package/lib/cjs/collections/index.d.ts.map +1 -0
  124. package/lib/cjs/collections/index.js +38 -0
  125. package/lib/cjs/events/EventClient.d.ts +89 -0
  126. package/lib/cjs/events/EventClient.d.ts.map +1 -0
  127. package/lib/cjs/events/EventClient.js +186 -0
  128. package/lib/cjs/events/index.d.ts +18 -0
  129. package/lib/cjs/events/index.d.ts.map +1 -0
  130. package/lib/cjs/events/index.js +20 -0
  131. package/lib/cjs/events/v1.d.ts +214 -0
  132. package/lib/cjs/events/v1.d.ts.map +1 -0
  133. package/lib/cjs/events/v1.js +502 -0
  134. package/lib/cjs/hydration/bot.d.ts +21 -0
  135. package/lib/cjs/hydration/bot.d.ts.map +1 -0
  136. package/lib/cjs/hydration/bot.js +31 -0
  137. package/lib/cjs/hydration/channel.d.ts +25 -0
  138. package/lib/cjs/hydration/channel.d.ts.map +1 -0
  139. package/lib/cjs/hydration/channel.js +40 -0
  140. package/lib/cjs/hydration/channelUnread.d.ts +11 -0
  141. package/lib/cjs/hydration/channelUnread.d.ts.map +1 -0
  142. package/lib/cjs/hydration/channelUnread.js +19 -0
  143. package/lib/cjs/hydration/channelWebhook.d.ts +12 -0
  144. package/lib/cjs/hydration/channelWebhook.d.ts.map +1 -0
  145. package/lib/cjs/hydration/channelWebhook.js +21 -0
  146. package/lib/cjs/hydration/emoji.d.ts +13 -0
  147. package/lib/cjs/hydration/emoji.d.ts.map +1 -0
  148. package/lib/cjs/hydration/emoji.js +18 -0
  149. package/lib/cjs/hydration/index.d.ts +1404 -0
  150. package/lib/cjs/hydration/index.d.ts.map +1 -0
  151. package/lib/cjs/hydration/index.js +68 -0
  152. package/lib/cjs/hydration/message.d.ts +25 -0
  153. package/lib/cjs/hydration/message.d.ts.map +1 -0
  154. package/lib/cjs/hydration/message.js +48 -0
  155. package/lib/cjs/hydration/server.d.ts +31 -0
  156. package/lib/cjs/hydration/server.d.ts.map +1 -0
  157. package/lib/cjs/hydration/server.js +44 -0
  158. package/lib/cjs/hydration/serverMember.d.ts +14 -0
  159. package/lib/cjs/hydration/serverMember.d.ts.map +1 -0
  160. package/lib/cjs/hydration/serverMember.js +21 -0
  161. package/lib/cjs/hydration/session.d.ts +8 -0
  162. package/lib/cjs/hydration/session.d.ts.map +1 -0
  163. package/lib/cjs/hydration/session.js +13 -0
  164. package/lib/cjs/hydration/user.d.ts +43 -0
  165. package/lib/cjs/hydration/user.d.ts.map +1 -0
  166. package/lib/cjs/hydration/user.js +53 -0
  167. package/lib/cjs/index.d.ts +9 -0
  168. package/lib/cjs/index.d.ts.map +1 -0
  169. package/lib/cjs/index.js +43 -0
  170. package/lib/cjs/lib/merge.d.ts +15 -0
  171. package/lib/cjs/lib/merge.d.ts.map +1 -0
  172. package/lib/cjs/lib/merge.js +2 -0
  173. package/lib/cjs/lib/regex.d.ts +13 -0
  174. package/lib/cjs/lib/regex.d.ts.map +1 -0
  175. package/lib/cjs/lib/regex.js +15 -0
  176. package/lib/cjs/permissions/calculator.d.ts +19 -0
  177. package/lib/cjs/permissions/calculator.d.ts.map +1 -0
  178. package/lib/cjs/permissions/calculator.js +136 -0
  179. package/lib/cjs/permissions/definitions.d.ts +73 -0
  180. package/lib/cjs/permissions/definitions.d.ts.map +1 -0
  181. package/lib/cjs/permissions/definitions.js +124 -0
  182. package/lib/cjs/storage/ObjectStorage.d.ts +28 -0
  183. package/lib/cjs/storage/ObjectStorage.d.ts.map +1 -0
  184. package/lib/cjs/storage/ObjectStorage.js +41 -0
  185. package/lib/esm/Client.d.ts +166 -0
  186. package/lib/esm/Client.d.ts.map +1 -0
  187. package/lib/esm/Client.js +214 -0
  188. package/lib/esm/api/baseURL.d.ts +2 -0
  189. package/lib/esm/api/baseURL.d.ts.map +1 -0
  190. package/lib/esm/api/baseURL.js +2 -0
  191. package/lib/esm/api/index.d.ts +177 -0
  192. package/lib/esm/api/index.d.ts.map +1 -0
  193. package/lib/esm/api/index.js +139 -0
  194. package/lib/esm/api/params.d.ts +285 -0
  195. package/lib/esm/api/params.d.ts.map +1 -0
  196. package/lib/esm/api/params.js +191 -0
  197. package/lib/esm/api/routes.d.ts +1089 -0
  198. package/lib/esm/api/routes.d.ts.map +1 -0
  199. package/lib/esm/api/routes.js +1 -0
  200. package/lib/esm/api/schema.d.ts +4705 -0
  201. package/lib/esm/api/schema.d.ts.map +1 -0
  202. package/lib/esm/api/schema.js +1 -0
  203. package/lib/esm/api/types.d.ts +131 -0
  204. package/lib/esm/api/types.d.ts.map +1 -0
  205. package/lib/esm/api/types.js +1 -0
  206. package/lib/esm/classes/BannedUser.d.ts +18 -0
  207. package/lib/esm/classes/BannedUser.d.ts.map +1 -0
  208. package/lib/esm/classes/BannedUser.js +21 -0
  209. package/lib/esm/classes/Bot.d.ts +82 -0
  210. package/lib/esm/classes/Bot.d.ts.map +1 -0
  211. package/lib/esm/classes/Bot.js +116 -0
  212. package/lib/esm/classes/Channel.d.ts +465 -0
  213. package/lib/esm/classes/Channel.d.ts.map +1 -0
  214. package/lib/esm/classes/Channel.js +529 -0
  215. package/lib/esm/classes/ChannelUnread.d.ts +27 -0
  216. package/lib/esm/classes/ChannelUnread.d.ts.map +1 -0
  217. package/lib/esm/classes/ChannelUnread.js +34 -0
  218. package/lib/esm/classes/ChannelWebhook.d.ts +53 -0
  219. package/lib/esm/classes/ChannelWebhook.d.ts.map +1 -0
  220. package/lib/esm/classes/ChannelWebhook.js +83 -0
  221. package/lib/esm/classes/Emoji.d.ts +57 -0
  222. package/lib/esm/classes/Emoji.d.ts.map +1 -0
  223. package/lib/esm/classes/Emoji.js +77 -0
  224. package/lib/esm/classes/File.d.ts +67 -0
  225. package/lib/esm/classes/File.d.ts.map +1 -0
  226. package/lib/esm/classes/File.js +105 -0
  227. package/lib/esm/classes/Invite.d.ts +60 -0
  228. package/lib/esm/classes/Invite.d.ts.map +1 -0
  229. package/lib/esm/classes/Invite.js +80 -0
  230. package/lib/esm/classes/MFA.d.ts +83 -0
  231. package/lib/esm/classes/MFA.d.ts.map +1 -0
  232. package/lib/esm/classes/MFA.js +165 -0
  233. package/lib/esm/classes/Message.d.ts +484 -0
  234. package/lib/esm/classes/Message.d.ts.map +1 -0
  235. package/lib/esm/classes/Message.js +300 -0
  236. package/lib/esm/classes/MessageEmbed.d.ts +122 -0
  237. package/lib/esm/classes/MessageEmbed.d.ts.map +1 -0
  238. package/lib/esm/classes/MessageEmbed.js +192 -0
  239. package/lib/esm/classes/PublicBot.d.ts +28 -0
  240. package/lib/esm/classes/PublicBot.d.ts.map +1 -0
  241. package/lib/esm/classes/PublicBot.js +47 -0
  242. package/lib/esm/classes/PublicInvite.d.ts +57 -0
  243. package/lib/esm/classes/PublicInvite.d.ts.map +1 -0
  244. package/lib/esm/classes/PublicInvite.js +100 -0
  245. package/lib/esm/classes/Server.d.ts +473 -0
  246. package/lib/esm/classes/Server.d.ts.map +1 -0
  247. package/lib/esm/classes/Server.js +522 -0
  248. package/lib/esm/classes/ServerBan.d.ts +26 -0
  249. package/lib/esm/classes/ServerBan.d.ts.map +1 -0
  250. package/lib/esm/classes/ServerBan.js +33 -0
  251. package/lib/esm/classes/ServerMember.d.ts +138 -0
  252. package/lib/esm/classes/ServerMember.d.ts.map +1 -0
  253. package/lib/esm/classes/ServerMember.js +199 -0
  254. package/lib/esm/classes/Session.d.ts +45 -0
  255. package/lib/esm/classes/Session.d.ts.map +1 -0
  256. package/lib/esm/classes/Session.js +65 -0
  257. package/lib/esm/classes/SystemMessage.d.ts +127 -0
  258. package/lib/esm/classes/SystemMessage.d.ts.map +1 -0
  259. package/lib/esm/classes/SystemMessage.js +171 -0
  260. package/lib/esm/classes/User.d.ts +203 -0
  261. package/lib/esm/classes/User.d.ts.map +1 -0
  262. package/lib/esm/classes/User.js +252 -0
  263. package/lib/esm/classes/UserProfile.d.ts +23 -0
  264. package/lib/esm/classes/UserProfile.d.ts.map +1 -0
  265. package/lib/esm/classes/UserProfile.js +31 -0
  266. package/lib/esm/classes/index.d.ts +21 -0
  267. package/lib/esm/classes/index.d.ts.map +1 -0
  268. package/lib/esm/classes/index.js +20 -0
  269. package/lib/esm/collections/AccountCollection.d.ts +91 -0
  270. package/lib/esm/collections/AccountCollection.d.ts.map +1 -0
  271. package/lib/esm/collections/AccountCollection.js +139 -0
  272. package/lib/esm/collections/BotCollection.d.ts +39 -0
  273. package/lib/esm/collections/BotCollection.d.ts.map +1 -0
  274. package/lib/esm/collections/BotCollection.js +68 -0
  275. package/lib/esm/collections/ChannelCollection.d.ts +39 -0
  276. package/lib/esm/collections/ChannelCollection.d.ts.map +1 -0
  277. package/lib/esm/collections/ChannelCollection.js +75 -0
  278. package/lib/esm/collections/ChannelUnreadCollection.d.ts +24 -0
  279. package/lib/esm/collections/ChannelUnreadCollection.d.ts.map +1 -0
  280. package/lib/esm/collections/ChannelUnreadCollection.js +41 -0
  281. package/lib/esm/collections/ChannelWebhookCollection.d.ts +29 -0
  282. package/lib/esm/collections/ChannelWebhookCollection.d.ts.map +1 -0
  283. package/lib/esm/collections/ChannelWebhookCollection.js +52 -0
  284. package/lib/esm/collections/Collection.d.ts +153 -0
  285. package/lib/esm/collections/Collection.d.ts.map +1 -0
  286. package/lib/esm/collections/Collection.js +160 -0
  287. package/lib/esm/collections/EmojiCollection.d.ts +27 -0
  288. package/lib/esm/collections/EmojiCollection.d.ts.map +1 -0
  289. package/lib/esm/collections/EmojiCollection.js +52 -0
  290. package/lib/esm/collections/MessageCollection.d.ts +28 -0
  291. package/lib/esm/collections/MessageCollection.d.ts.map +1 -0
  292. package/lib/esm/collections/MessageCollection.js +54 -0
  293. package/lib/esm/collections/ServerCollection.d.ts +36 -0
  294. package/lib/esm/collections/ServerCollection.d.ts.map +1 -0
  295. package/lib/esm/collections/ServerCollection.js +79 -0
  296. package/lib/esm/collections/ServerMemberCollection.d.ts +45 -0
  297. package/lib/esm/collections/ServerMemberCollection.d.ts.map +1 -0
  298. package/lib/esm/collections/ServerMemberCollection.js +80 -0
  299. package/lib/esm/collections/SessionCollection.d.ts +27 -0
  300. package/lib/esm/collections/SessionCollection.d.ts.map +1 -0
  301. package/lib/esm/collections/SessionCollection.js +46 -0
  302. package/lib/esm/collections/UserCollection.d.ts +31 -0
  303. package/lib/esm/collections/UserCollection.d.ts.map +1 -0
  304. package/lib/esm/collections/UserCollection.js +66 -0
  305. package/lib/esm/collections/index.d.ts +12 -0
  306. package/lib/esm/collections/index.d.ts.map +1 -0
  307. package/lib/esm/collections/index.js +11 -0
  308. package/lib/esm/events/EventClient.d.ts +89 -0
  309. package/lib/esm/events/EventClient.d.ts.map +1 -0
  310. package/lib/esm/events/EventClient.js +175 -0
  311. package/lib/esm/events/index.d.ts +18 -0
  312. package/lib/esm/events/index.d.ts.map +1 -0
  313. package/lib/esm/events/index.js +2 -0
  314. package/lib/esm/events/v1.d.ts +214 -0
  315. package/lib/esm/events/v1.d.ts.map +1 -0
  316. package/lib/esm/events/v1.js +514 -0
  317. package/lib/esm/hydration/bot.d.ts +21 -0
  318. package/lib/esm/hydration/bot.d.ts.map +1 -0
  319. package/lib/esm/hydration/bot.js +28 -0
  320. package/lib/esm/hydration/channel.d.ts +25 -0
  321. package/lib/esm/hydration/channel.d.ts.map +1 -0
  322. package/lib/esm/hydration/channel.js +37 -0
  323. package/lib/esm/hydration/channelUnread.d.ts +11 -0
  324. package/lib/esm/hydration/channelUnread.d.ts.map +1 -0
  325. package/lib/esm/hydration/channelUnread.js +16 -0
  326. package/lib/esm/hydration/channelWebhook.d.ts +12 -0
  327. package/lib/esm/hydration/channelWebhook.d.ts.map +1 -0
  328. package/lib/esm/hydration/channelWebhook.js +18 -0
  329. package/lib/esm/hydration/emoji.d.ts +13 -0
  330. package/lib/esm/hydration/emoji.d.ts.map +1 -0
  331. package/lib/esm/hydration/emoji.js +15 -0
  332. package/lib/esm/hydration/index.d.ts +1404 -0
  333. package/lib/esm/hydration/index.d.ts.map +1 -0
  334. package/lib/esm/hydration/index.js +65 -0
  335. package/lib/esm/hydration/message.d.ts +25 -0
  336. package/lib/esm/hydration/message.d.ts.map +1 -0
  337. package/lib/esm/hydration/message.js +45 -0
  338. package/lib/esm/hydration/server.d.ts +31 -0
  339. package/lib/esm/hydration/server.d.ts.map +1 -0
  340. package/lib/esm/hydration/server.js +41 -0
  341. package/lib/esm/hydration/serverMember.d.ts +14 -0
  342. package/lib/esm/hydration/serverMember.d.ts.map +1 -0
  343. package/lib/esm/hydration/serverMember.js +18 -0
  344. package/lib/esm/hydration/session.d.ts +8 -0
  345. package/lib/esm/hydration/session.d.ts.map +1 -0
  346. package/lib/esm/hydration/session.js +10 -0
  347. package/lib/esm/hydration/user.d.ts +43 -0
  348. package/lib/esm/hydration/user.d.ts.map +1 -0
  349. package/lib/esm/hydration/user.js +50 -0
  350. package/lib/esm/index.d.ts +9 -0
  351. package/lib/esm/index.d.ts.map +1 -0
  352. package/lib/esm/index.js +8 -0
  353. package/lib/esm/lib/merge.d.ts +15 -0
  354. package/lib/esm/lib/merge.d.ts.map +1 -0
  355. package/lib/esm/lib/merge.js +1 -0
  356. package/lib/esm/lib/regex.d.ts +13 -0
  357. package/lib/esm/lib/regex.d.ts.map +1 -0
  358. package/lib/esm/lib/regex.js +12 -0
  359. package/lib/esm/package.json +3 -0
  360. package/lib/esm/permissions/calculator.d.ts +19 -0
  361. package/lib/esm/permissions/calculator.d.ts.map +1 -0
  362. package/lib/esm/permissions/calculator.js +129 -0
  363. package/lib/esm/permissions/definitions.d.ts +73 -0
  364. package/lib/esm/permissions/definitions.d.ts.map +1 -0
  365. package/lib/esm/permissions/definitions.js +121 -0
  366. package/lib/esm/storage/ObjectStorage.d.ts +28 -0
  367. package/lib/esm/storage/ObjectStorage.d.ts.map +1 -0
  368. package/lib/esm/storage/ObjectStorage.js +39 -0
  369. package/package.json +59 -0
@@ -0,0 +1,300 @@
1
+ import { File } from "../index.js";
2
+ import { decodeTime } from "ulid";
3
+ /**
4
+ * Message Class
5
+ */
6
+ export class Message {
7
+ #collection;
8
+ id;
9
+ /**
10
+ * Construct Message
11
+ * @param collection Collection
12
+ * @param id Message Id
13
+ */
14
+ constructor(collection, id) {
15
+ this.#collection = collection;
16
+ this.id = id;
17
+ }
18
+ /**
19
+ * Whether this object exists
20
+ */
21
+ get $exists() {
22
+ return !!this.#collection.getUnderlyingObject(this.id).id;
23
+ }
24
+ /**
25
+ * Time when this message was posted
26
+ */
27
+ get createdAt() {
28
+ return new Date(decodeTime(this.id));
29
+ }
30
+ /**
31
+ * Absolute pathname to this message in the client
32
+ */
33
+ get path() {
34
+ return `${this.channel?.path}/${this.id}`;
35
+ }
36
+ /**
37
+ * URL to this message
38
+ */
39
+ get url() {
40
+ return this.#collection.client.configuration?.app + this.path;
41
+ }
42
+ /**
43
+ * Nonce value
44
+ */
45
+ get nonce() {
46
+ return this.#collection.getUnderlyingObject(this.id).nonce;
47
+ }
48
+ /**
49
+ * Id of channel this message was sent in
50
+ */
51
+ get channelId() {
52
+ return this.#collection.getUnderlyingObject(this.id).channelId;
53
+ }
54
+ /**
55
+ * Channel this message was sent in
56
+ */
57
+ get channel() {
58
+ return this.#collection.client.channels.get(this.#collection.getUnderlyingObject(this.id).channelId);
59
+ }
60
+ /**
61
+ * Server this message was sent in
62
+ */
63
+ get server() {
64
+ return this.channel?.server;
65
+ }
66
+ /**
67
+ * Member this message was sent by
68
+ */
69
+ get member() {
70
+ return this.#collection.client.serverMembers.getByKey({
71
+ server: this.channel?.serverId,
72
+ user: this.authorId,
73
+ });
74
+ }
75
+ /**
76
+ * Id of user or webhook this message was sent by
77
+ */
78
+ get authorId() {
79
+ return this.#collection.getUnderlyingObject(this.id).authorId;
80
+ }
81
+ /**
82
+ * User this message was sent by
83
+ */
84
+ get author() {
85
+ return this.#collection.client.users.get(this.#collection.getUnderlyingObject(this.id).authorId);
86
+ }
87
+ /**
88
+ * Webhook information for this message
89
+ */
90
+ get webhook() {
91
+ return this.#collection.getUnderlyingObject(this.id).webhook;
92
+ }
93
+ /**
94
+ * Content
95
+ */
96
+ get content() {
97
+ return this.#collection.getUnderlyingObject(this.id).content ?? "";
98
+ }
99
+ /**
100
+ * System message content
101
+ */
102
+ get systemMessage() {
103
+ return this.#collection.getUnderlyingObject(this.id).systemMessage;
104
+ }
105
+ /**
106
+ * Attachments
107
+ */
108
+ get attachments() {
109
+ return this.#collection.getUnderlyingObject(this.id).attachments;
110
+ }
111
+ /**
112
+ * Time at which this message was edited
113
+ */
114
+ get editedAt() {
115
+ return this.#collection.getUnderlyingObject(this.id).editedAt;
116
+ }
117
+ /**
118
+ * Embeds
119
+ */
120
+ get embeds() {
121
+ return this.#collection.getUnderlyingObject(this.id).embeds;
122
+ }
123
+ /**
124
+ * IDs of users this message mentions
125
+ */
126
+ get mentionIds() {
127
+ return this.#collection.getUnderlyingObject(this.id).mentionIds;
128
+ }
129
+ /**
130
+ * Whether this message mentions us
131
+ */
132
+ get mentioned() {
133
+ return this.mentionIds?.includes(this.#collection.client.user.id);
134
+ }
135
+ /**
136
+ * IDs of messages this message replies to
137
+ */
138
+ get replyIds() {
139
+ return this.#collection.getUnderlyingObject(this.id).replyIds;
140
+ }
141
+ /**
142
+ * Reactions
143
+ */
144
+ get reactions() {
145
+ return this.#collection.getUnderlyingObject(this.id).reactions;
146
+ }
147
+ /**
148
+ * Interactions
149
+ */
150
+ get interactions() {
151
+ return this.#collection.getUnderlyingObject(this.id).interactions;
152
+ }
153
+ /**
154
+ * Masquerade
155
+ */
156
+ get masquerade() {
157
+ return this.#collection.getUnderlyingObject(this.id).masquerade;
158
+ }
159
+ /**
160
+ * Flags
161
+ */
162
+ get flags() {
163
+ return this.#collection.getUnderlyingObject(this.id).flags || 0;
164
+ }
165
+ /**
166
+ * Get the username for this message
167
+ */
168
+ get username() {
169
+ const webhook = this.webhook;
170
+ return (this.masquerade?.name ??
171
+ (webhook ? webhook.name : this.member?.nickname ?? this.author?.username));
172
+ }
173
+ /**
174
+ * Get the role colour for this message
175
+ */
176
+ get roleColour() {
177
+ return this.masquerade?.colour ?? this.member?.roleColour;
178
+ }
179
+ /**
180
+ * Get the avatar URL for this message
181
+ */
182
+ get avatarURL() {
183
+ const webhook = this.webhook;
184
+ return (this.masqueradeAvatarURL ??
185
+ (webhook
186
+ ? webhook.avatarURL
187
+ : this.member?.avatarURL ?? this.author?.avatarURL));
188
+ }
189
+ /**
190
+ * Get the animated avatar URL for this message
191
+ */
192
+ get animatedAvatarURL() {
193
+ const webhook = this.webhook;
194
+ return (this.masqueradeAvatarURL ??
195
+ (webhook
196
+ ? webhook.avatarURL
197
+ : this.member
198
+ ? this.member?.animatedAvatarURL
199
+ : this.author?.animatedAvatarURL));
200
+ }
201
+ /**
202
+ * Avatar URL from the masquerade
203
+ */
204
+ get masqueradeAvatarURL() {
205
+ const avatar = this.masquerade?.avatar;
206
+ return avatar ? this.#collection.client.proxyFile(avatar) : undefined;
207
+ }
208
+ /**
209
+ * Whether this message has suppressed desktop/push notifications
210
+ */
211
+ get isSuppressed() {
212
+ return (this.flags & 1) === 1;
213
+ }
214
+ /**
215
+ * Edit a message
216
+ * @param data Message edit route data
217
+ */
218
+ async edit(data) {
219
+ return await this.#collection.client.api.patch(`/channels/${this.channelId}/messages/${this.id}`, data);
220
+ }
221
+ /**
222
+ * Delete a message
223
+ */
224
+ async delete() {
225
+ return await this.#collection.client.api.delete(`/channels/${this.channelId}/messages/${this.id}`);
226
+ }
227
+ /**
228
+ * Acknowledge this message as read
229
+ */
230
+ ack() {
231
+ this.channel?.ack(this);
232
+ }
233
+ /**
234
+ * Reply to Message
235
+ */
236
+ reply(data, mention = true) {
237
+ const obj = typeof data === "string" ? { content: data } : data;
238
+ return this.channel?.sendMessage({
239
+ ...obj,
240
+ replies: [{ id: this.id, mention }],
241
+ });
242
+ }
243
+ /**
244
+ * Clear all reactions from this message
245
+ */
246
+ async clearReactions() {
247
+ return await this.#collection.client.api.delete(`/channels/${this.channelId}/messages/${this.id}/reactions`);
248
+ }
249
+ /**
250
+ * React to a message
251
+ * @param emoji Unicode or emoji ID
252
+ */
253
+ async react(emoji) {
254
+ return await this.#collection.client.api.put(`/channels/${this.channelId}/messages/${this.id}/reactions/${emoji}`);
255
+ }
256
+ /**
257
+ * Un-react from a message
258
+ * @param emoji Unicode or emoji ID
259
+ */
260
+ async unreact(emoji) {
261
+ return await this.#collection.client.api.delete(`/channels/${this.channelId}/messages/${this.id}/reactions/${emoji}`);
262
+ }
263
+ }
264
+ /**
265
+ * Message Webhook Class
266
+ */
267
+ export class MessageWebhook {
268
+ #client;
269
+ id;
270
+ name;
271
+ avatar;
272
+ /**
273
+ * Construct Message Webhook
274
+ * @param client Client
275
+ * @param webhook Webhook data
276
+ */
277
+ constructor(client, webhook, id) {
278
+ this.#client = client;
279
+ this.id = id;
280
+ this.name = webhook.name;
281
+ this.avatar = webhook.avatar
282
+ ? new File(client, {
283
+ _id: webhook.avatar,
284
+ tag: "avatars",
285
+ metadata: {
286
+ type: "Image",
287
+ width: 256,
288
+ height: 256,
289
+ },
290
+ })
291
+ : undefined;
292
+ }
293
+ /**
294
+ * Get the avatar URL for this message webhook
295
+ */
296
+ get avatarURL() {
297
+ return (this.avatar?.createFileURL({ max_side: 256 }) ??
298
+ `${this.#client.options.baseURL}/users/${this.id}/default_avatar`);
299
+ }
300
+ }
@@ -0,0 +1,122 @@
1
+ import { API, Client, File } from "../index.js";
2
+ /**
3
+ * Message Embed
4
+ */
5
+ export declare abstract class MessageEmbed {
6
+ protected client?: Client;
7
+ readonly type: API.Embed["type"];
8
+ /**
9
+ * Construct Embed
10
+ * @param client Client
11
+ * @param type Type
12
+ */
13
+ constructor(client?: Client, type?: API.Embed["type"]);
14
+ /**
15
+ * Create an Embed from an API Embed
16
+ * @param client Client
17
+ * @param embed Data
18
+ * @returns Embed
19
+ */
20
+ static from(client: Client, embed: API.Embed): MessageEmbed;
21
+ }
22
+ /**
23
+ * Embed of unknown type
24
+ */
25
+ export declare class UnknownEmbed extends MessageEmbed {
26
+ }
27
+ /**
28
+ * Image Embed
29
+ */
30
+ export declare class ImageEmbed extends MessageEmbed {
31
+ readonly url: string;
32
+ readonly width: number;
33
+ readonly height: number;
34
+ readonly size: API.ImageSize;
35
+ /**
36
+ * Construct Image Embed
37
+ * @param client Client
38
+ * @param embed Embed
39
+ */
40
+ constructor(client: Client, embed: Omit<API.Embed & {
41
+ type: "Image";
42
+ }, "type">);
43
+ /**
44
+ * Proxied image URL
45
+ */
46
+ get proxiedURL(): string | undefined;
47
+ }
48
+ /**
49
+ * Video Embed
50
+ */
51
+ export declare class VideoEmbed extends MessageEmbed {
52
+ readonly url: string;
53
+ readonly width: number;
54
+ readonly height: number;
55
+ /**
56
+ * Construct Video Embed
57
+ * @param client Client
58
+ * @param embed Embed
59
+ */
60
+ constructor(client: Client, embed: Omit<API.Embed & {
61
+ type: "Video";
62
+ }, "type">);
63
+ /**
64
+ * Proxied video URL
65
+ */
66
+ get proxiedURL(): string | undefined;
67
+ }
68
+ /**
69
+ * Website Embed
70
+ */
71
+ export declare class WebsiteEmbed extends MessageEmbed {
72
+ readonly url?: string;
73
+ readonly originalUrl?: string;
74
+ readonly specialContent?: API.Special;
75
+ readonly title?: string;
76
+ readonly description?: string;
77
+ readonly image?: ImageEmbed;
78
+ readonly video?: VideoEmbed;
79
+ readonly siteName?: string;
80
+ readonly iconUrl?: string;
81
+ readonly colour?: string;
82
+ /**
83
+ * Construct Video Embed
84
+ * @param client Client
85
+ * @param embed Embed
86
+ */
87
+ constructor(client: Client, embed: Omit<API.Embed & {
88
+ type: "Website";
89
+ }, "type">);
90
+ /**
91
+ * Proxied icon URL
92
+ */
93
+ get proxiedIconURL(): string | undefined;
94
+ /**
95
+ * If special content is present, generate the embed URL
96
+ */
97
+ get embedURL(): string | undefined;
98
+ }
99
+ /**
100
+ * Text Embed
101
+ */
102
+ export declare class TextEmbed extends MessageEmbed {
103
+ readonly iconUrl?: string;
104
+ readonly url?: string;
105
+ readonly title?: string;
106
+ readonly description?: string;
107
+ readonly media?: File;
108
+ readonly colour?: string;
109
+ /**
110
+ * Construct Video Embed
111
+ * @param client Client
112
+ * @param embed Embed
113
+ */
114
+ constructor(client: Client, embed: Omit<API.Embed & {
115
+ type: "Text";
116
+ }, "type">);
117
+ /**
118
+ * Proxied icon URL
119
+ */
120
+ get proxiedIconURL(): string | undefined;
121
+ }
122
+ //# sourceMappingURL=MessageEmbed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageEmbed.d.ts","sourceRoot":"","sources":["../../../src/classes/MessageEmbed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,192 @@
1
+ import { File } from "../index.js";
2
+ /**
3
+ * Message Embed
4
+ */
5
+ export class MessageEmbed {
6
+ client;
7
+ type;
8
+ /**
9
+ * Construct Embed
10
+ * @param client Client
11
+ * @param type Type
12
+ */
13
+ constructor(client, type = "None") {
14
+ this.client = client;
15
+ this.type = type;
16
+ }
17
+ /**
18
+ * Create an Embed from an API Embed
19
+ * @param client Client
20
+ * @param embed Data
21
+ * @returns Embed
22
+ */
23
+ static from(client, embed) {
24
+ switch (embed.type) {
25
+ case "Image":
26
+ return new ImageEmbed(client, embed);
27
+ case "Video":
28
+ return new VideoEmbed(client, embed);
29
+ case "Website":
30
+ return new WebsiteEmbed(client, embed);
31
+ case "Text":
32
+ return new TextEmbed(client, embed);
33
+ default:
34
+ return new UnknownEmbed(client);
35
+ }
36
+ }
37
+ }
38
+ /**
39
+ * Embed of unknown type
40
+ */
41
+ export class UnknownEmbed extends MessageEmbed {
42
+ }
43
+ /**
44
+ * Image Embed
45
+ */
46
+ export class ImageEmbed extends MessageEmbed {
47
+ url;
48
+ width;
49
+ height;
50
+ size;
51
+ /**
52
+ * Construct Image Embed
53
+ * @param client Client
54
+ * @param embed Embed
55
+ */
56
+ constructor(client, embed) {
57
+ super(client, "Image");
58
+ this.url = embed.url;
59
+ this.width = embed.width;
60
+ this.height = embed.height;
61
+ this.size = embed.size;
62
+ }
63
+ /**
64
+ * Proxied image URL
65
+ */
66
+ get proxiedURL() {
67
+ return this.client?.proxyFile(this.url);
68
+ }
69
+ }
70
+ /**
71
+ * Video Embed
72
+ */
73
+ export class VideoEmbed extends MessageEmbed {
74
+ url;
75
+ width;
76
+ height;
77
+ /**
78
+ * Construct Video Embed
79
+ * @param client Client
80
+ * @param embed Embed
81
+ */
82
+ constructor(client, embed) {
83
+ super(client, "Video");
84
+ this.url = embed.url;
85
+ this.width = embed.width;
86
+ this.height = embed.height;
87
+ }
88
+ /**
89
+ * Proxied video URL
90
+ */
91
+ get proxiedURL() {
92
+ return this.client?.proxyFile(this.url);
93
+ }
94
+ }
95
+ /**
96
+ * Website Embed
97
+ */
98
+ export class WebsiteEmbed extends MessageEmbed {
99
+ url;
100
+ originalUrl;
101
+ specialContent;
102
+ title;
103
+ description;
104
+ image;
105
+ video;
106
+ siteName;
107
+ iconUrl;
108
+ colour;
109
+ /**
110
+ * Construct Video Embed
111
+ * @param client Client
112
+ * @param embed Embed
113
+ */
114
+ constructor(client, embed) {
115
+ super(client, "Website");
116
+ this.url = embed.url;
117
+ this.originalUrl = embed.original_url;
118
+ this.specialContent = embed.special;
119
+ this.title = embed.title;
120
+ this.description = embed.description;
121
+ this.image = embed.image ? new ImageEmbed(client, embed.image) : undefined;
122
+ this.video = embed.video ? new VideoEmbed(client, embed.video) : undefined;
123
+ this.siteName = embed.site_name;
124
+ this.iconUrl = embed.icon_url;
125
+ this.colour = embed.colour;
126
+ }
127
+ /**
128
+ * Proxied icon URL
129
+ */
130
+ get proxiedIconURL() {
131
+ return this.iconUrl ? this.client?.proxyFile(this.iconUrl) : undefined;
132
+ }
133
+ /**
134
+ * If special content is present, generate the embed URL
135
+ */
136
+ get embedURL() {
137
+ switch (this.specialContent?.type) {
138
+ case "YouTube": {
139
+ let timestamp = "";
140
+ if (this.specialContent.timestamp) {
141
+ timestamp = `&start=${this.specialContent.timestamp}`;
142
+ }
143
+ return `https://www.youtube-nocookie.com/embed/${this.specialContent.id}?modestbranding=1${timestamp}`;
144
+ }
145
+ case "Twitch":
146
+ return `https://player.twitch.tv/?${this.specialContent.content_type.toLowerCase()}=${this.specialContent.id}&parent=${(window ?? {})?.location?.hostname}&autoplay=false`;
147
+ case "Lightspeed":
148
+ return `https://new.lightspeed.tv/embed/${this.specialContent.id}/stream`;
149
+ case "Spotify":
150
+ return `https://open.spotify.com/embed/${this.specialContent.content_type}/${this.specialContent.id}`;
151
+ case "Soundcloud":
152
+ return `https://w.soundcloud.com/player/?url=${encodeURIComponent(this.url)}&color=%23FF7F50&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true&visual=true`;
153
+ case "Bandcamp": {
154
+ return `https://bandcamp.com/EmbeddedPlayer/${this.specialContent.content_type.toLowerCase()}=${this.specialContent.id}/size=large/bgcol=181a1b/linkcol=056cc4/tracklist=false/transparent=true/`;
155
+ }
156
+ case "Streamable": {
157
+ return `https://streamable.com/e/${this.specialContent.id}?loop=0`;
158
+ }
159
+ }
160
+ }
161
+ }
162
+ /**
163
+ * Text Embed
164
+ */
165
+ export class TextEmbed extends MessageEmbed {
166
+ iconUrl;
167
+ url;
168
+ title;
169
+ description;
170
+ media;
171
+ colour;
172
+ /**
173
+ * Construct Video Embed
174
+ * @param client Client
175
+ * @param embed Embed
176
+ */
177
+ constructor(client, embed) {
178
+ super(client, "Text");
179
+ this.iconUrl = embed.icon_url;
180
+ this.url = embed.url;
181
+ this.title = embed.title;
182
+ this.description = embed.description;
183
+ this.media = embed.media ? new File(client, embed.media) : undefined;
184
+ this.colour = embed.colour;
185
+ }
186
+ /**
187
+ * Proxied icon URL
188
+ */
189
+ get proxiedIconURL() {
190
+ return this.iconUrl ? this.client?.proxyFile(this.iconUrl) : undefined;
191
+ }
192
+ }
@@ -0,0 +1,28 @@
1
+ import { API, Channel, Client, File, Server } from "../index.js";
2
+ /**
3
+ * Public Bot Class
4
+ */
5
+ export declare class PublicBot {
6
+ #private;
7
+ readonly id: string;
8
+ readonly username: string;
9
+ readonly avatar?: File;
10
+ readonly description?: string;
11
+ /**
12
+ * Construct Public Bot
13
+ * @param client Client
14
+ * @param data Data
15
+ */
16
+ constructor(client: Client, data: API.PublicBot);
17
+ /**
18
+ * Add the bot to a server
19
+ * @param server Server
20
+ */
21
+ addToServer(server: Server | string): void;
22
+ /**
23
+ * Add the bot to a group
24
+ * @param group Group
25
+ */
26
+ addToGroup(group: Channel | string): void;
27
+ }
28
+ //# sourceMappingURL=PublicBot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublicBot.d.ts","sourceRoot":"","sources":["../../../src/classes/PublicBot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEjE;;GAEG;AACH,qBAAa,SAAS;;IAGpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;gBACS,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS;IAa/C;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAMnC;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;CAMnC"}
@@ -0,0 +1,47 @@
1
+ import { Channel, File, Server } from "../index.js";
2
+ /**
3
+ * Public Bot Class
4
+ */
5
+ export class PublicBot {
6
+ #client;
7
+ id;
8
+ username;
9
+ avatar;
10
+ description;
11
+ /**
12
+ * Construct Public Bot
13
+ * @param client Client
14
+ * @param data Data
15
+ */
16
+ constructor(client, data) {
17
+ this.#client = client;
18
+ this.id = data._id;
19
+ this.username = data.username;
20
+ this.avatar = data.avatar
21
+ ? new File(client, {
22
+ _id: data.avatar,
23
+ tag: "avatars",
24
+ })
25
+ : undefined;
26
+ this.description = data.description;
27
+ }
28
+ /**
29
+ * Add the bot to a server
30
+ * @param server Server
31
+ */
32
+ addToServer(server) {
33
+ this.#client.api.post(`/bots/${this.id}/invite`, {
34
+ server: server instanceof Server ? server.id : server,
35
+ });
36
+ }
37
+ /**
38
+ * Add the bot to a group
39
+ * @param group Group
40
+ */
41
+ addToGroup(group) {
42
+ // TODO: should use GroupChannel once that is added
43
+ this.#client.api.post(`/bots/${this.id}/invite`, {
44
+ group: group instanceof Channel ? group.id : group,
45
+ });
46
+ }
47
+ }