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,599 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
12
+ if (kind === "m") throw new TypeError("Private method is not writable");
13
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
14
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
15
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
16
+ };
17
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
18
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
19
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
20
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
21
+ };
22
+ var _Channel_collection, _Channel_ackTimeout, _Channel_ackLimit, _Channel_manuallyMarked;
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.Channel = void 0;
25
+ const calculator_js_1 = require("../permissions/calculator.js");
26
+ const definitions_js_1 = require("../permissions/definitions.js");
27
+ const solid_js_1 = require("solid-js");
28
+ const ulid_1 = require("ulid");
29
+ /**
30
+ * Channel Class
31
+ */
32
+ class Channel {
33
+ /**
34
+ * Construct Channel
35
+ * @param collection Collection
36
+ * @param id Channel Id
37
+ */
38
+ constructor(collection, id) {
39
+ _Channel_collection.set(this, void 0);
40
+ _Channel_ackTimeout.set(this, void 0);
41
+ _Channel_ackLimit.set(this, void 0);
42
+ _Channel_manuallyMarked.set(this, void 0);
43
+ __classPrivateFieldSet(this, _Channel_collection, collection, "f");
44
+ this.id = id;
45
+ }
46
+ /**
47
+ * Write to string as a channel mention
48
+ * @returns Formatted String
49
+ */
50
+ toString() {
51
+ return `<#${this.id}>`;
52
+ }
53
+ /**
54
+ * Whether this object exists
55
+ */
56
+ get $exists() {
57
+ return !!__classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).id;
58
+ }
59
+ /**
60
+ * Time when this server was created
61
+ */
62
+ get createdAt() {
63
+ return new Date((0, ulid_1.decodeTime)(this.id));
64
+ }
65
+ /**
66
+ * Channel type
67
+ */
68
+ get type() {
69
+ return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).channelType;
70
+ }
71
+ /**
72
+ * Absolute pathname to this channel in the client
73
+ */
74
+ get path() {
75
+ if (this.serverId) {
76
+ return `/server/${this.serverId}/channel/${this.id}`;
77
+ }
78
+ else {
79
+ return `/channel/${this.id}`;
80
+ }
81
+ }
82
+ /**
83
+ * URL to this channel
84
+ */
85
+ get url() {
86
+ var _a;
87
+ return ((_a = __classPrivateFieldGet(this, _Channel_collection, "f").client.configuration) === null || _a === void 0 ? void 0 : _a.app) + this.path;
88
+ }
89
+ /**
90
+ * Channel name
91
+ */
92
+ get name() {
93
+ return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).name;
94
+ }
95
+ /**
96
+ * Display name
97
+ */
98
+ get displayName() {
99
+ var _a, _b;
100
+ return this.type === "SavedMessages"
101
+ ? (_a = this.user) === null || _a === void 0 ? void 0 : _a.username
102
+ : this.type === "DirectMessage"
103
+ ? (_b = this.recipient) === null || _b === void 0 ? void 0 : _b.username
104
+ : this.name;
105
+ }
106
+ /**
107
+ * Channel description
108
+ */
109
+ get description() {
110
+ return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).description;
111
+ }
112
+ /**
113
+ * Channel icon
114
+ */
115
+ get icon() {
116
+ return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).icon;
117
+ }
118
+ /**
119
+ * Whether the conversation is active
120
+ */
121
+ get active() {
122
+ return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).active;
123
+ }
124
+ /**
125
+ * User ids of people currently typing in channel
126
+ */
127
+ get typingIds() {
128
+ return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).typingIds;
129
+ }
130
+ /**
131
+ * Users currently trying in channel
132
+ */
133
+ get typing() {
134
+ return [...this.typingIds.values()].map((id) => __classPrivateFieldGet(this, _Channel_collection, "f").client.users.get(id));
135
+ }
136
+ /**
137
+ * User ids of recipients of the group
138
+ */
139
+ get recipientIds() {
140
+ return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).recipientIds;
141
+ }
142
+ /**
143
+ * Recipients of the group
144
+ */
145
+ get recipients() {
146
+ return [
147
+ ...__classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).recipientIds.values(),
148
+ ].map((id) => __classPrivateFieldGet(this, _Channel_collection, "f").client.users.get(id));
149
+ }
150
+ /**
151
+ * Find recipient of this DM
152
+ */
153
+ get recipient() {
154
+ var _a;
155
+ return this.type === "DirectMessage"
156
+ ? (_a = this.recipients) === null || _a === void 0 ? void 0 : _a.find((user) => (user === null || user === void 0 ? void 0 : user.id) !== __classPrivateFieldGet(this, _Channel_collection, "f").client.user.id)
157
+ : undefined;
158
+ }
159
+ /**
160
+ * User ID
161
+ */
162
+ get userId() {
163
+ return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).userId;
164
+ }
165
+ /**
166
+ * User this channel belongs to
167
+ */
168
+ get user() {
169
+ return __classPrivateFieldGet(this, _Channel_collection, "f").client.users.get(__classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).userId);
170
+ }
171
+ /**
172
+ * Owner ID
173
+ */
174
+ get ownerId() {
175
+ return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).ownerId;
176
+ }
177
+ /**
178
+ * Owner of the group
179
+ */
180
+ get owner() {
181
+ return __classPrivateFieldGet(this, _Channel_collection, "f").client.users.get(__classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).ownerId);
182
+ }
183
+ /**
184
+ * Server ID
185
+ */
186
+ get serverId() {
187
+ return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).serverId;
188
+ }
189
+ /**
190
+ * Server this channel is in
191
+ */
192
+ get server() {
193
+ return __classPrivateFieldGet(this, _Channel_collection, "f").client.servers.get(__classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).serverId);
194
+ }
195
+ /**
196
+ * Permissions allowed for users in this group
197
+ */
198
+ get permissions() {
199
+ return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).permissions;
200
+ }
201
+ /**
202
+ * Default permissions for this server channel
203
+ */
204
+ get defaultPermissions() {
205
+ return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).defaultPermissions;
206
+ }
207
+ /**
208
+ * Role permissions for this server channel
209
+ */
210
+ get rolePermissions() {
211
+ return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).rolePermissions;
212
+ }
213
+ /**
214
+ * Whether this channel is marked as mature
215
+ */
216
+ get mature() {
217
+ return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).nsfw;
218
+ }
219
+ /**
220
+ * ID of the last message sent in this channel
221
+ */
222
+ get lastMessageId() {
223
+ return __classPrivateFieldGet(this, _Channel_collection, "f").getUnderlyingObject(this.id).lastMessageId;
224
+ }
225
+ /**
226
+ * Last message sent in this channel
227
+ */
228
+ get lastMessage() {
229
+ return __classPrivateFieldGet(this, _Channel_collection, "f").client.messages.get(this.lastMessageId);
230
+ }
231
+ /**
232
+ * Time when the last message was sent
233
+ */
234
+ get lastMessageAt() {
235
+ return this.lastMessageId
236
+ ? new Date((0, ulid_1.decodeTime)(this.lastMessageId))
237
+ : undefined;
238
+ }
239
+ /**
240
+ * Time when the channel was last updated (either created or a message was sent)
241
+ */
242
+ get updatedAt() {
243
+ var _a;
244
+ return (_a = this.lastMessageAt) !== null && _a !== void 0 ? _a : this.createdAt;
245
+ }
246
+ /**
247
+ * Get whether this channel is unread.
248
+ */
249
+ get unread() {
250
+ var _a, _b;
251
+ if (!this.lastMessageId ||
252
+ this.type === "SavedMessages" ||
253
+ this.type === "VoiceChannel" ||
254
+ __classPrivateFieldGet(this, _Channel_collection, "f").client.options.channelIsMuted(this))
255
+ return false;
256
+ return (((_b = (_a = __classPrivateFieldGet(this, _Channel_collection, "f").client.channelUnreads.get(this.id)) === null || _a === void 0 ? void 0 : _a.lastMessageId) !== null && _b !== void 0 ? _b : "0").localeCompare(this.lastMessageId) === -1);
257
+ }
258
+ /**
259
+ * Get mentions in this channel for user.
260
+ */
261
+ get mentions() {
262
+ var _a;
263
+ if (this.type === "SavedMessages" || this.type === "VoiceChannel")
264
+ return undefined;
265
+ return (_a = __classPrivateFieldGet(this, _Channel_collection, "f").client.channelUnreads.get(this.id)) === null || _a === void 0 ? void 0 : _a.messageMentionIds;
266
+ }
267
+ /**
268
+ * URL to the channel icon
269
+ */
270
+ get iconURL() {
271
+ var _a, _b, _c;
272
+ return ((_b = (_a = this.icon) === null || _a === void 0 ? void 0 : _a.createFileURL({ max_side: 256 })) !== null && _b !== void 0 ? _b : (_c = this.recipient) === null || _c === void 0 ? void 0 : _c.avatarURL);
273
+ }
274
+ /**
275
+ * URL to a small variant of the channel icon
276
+ */
277
+ get smallIconURL() {
278
+ var _a;
279
+ return (_a = this.icon) === null || _a === void 0 ? void 0 : _a.createFileURL({ max_side: 64 });
280
+ }
281
+ /**
282
+ * URL to the animated channel icon
283
+ */
284
+ get animatedIconURL() {
285
+ var _a, _b, _c;
286
+ return ((_b = (_a = this.icon) === null || _a === void 0 ? void 0 : _a.createFileURL({ max_side: 256 }, true)) !== null && _b !== void 0 ? _b : (_c = this.recipient) === null || _c === void 0 ? void 0 : _c.animatedAvatarURL);
287
+ }
288
+ /**
289
+ * Whether this channel may be hidden to some users
290
+ */
291
+ get potentiallyRestrictedChannel() {
292
+ var _a, _b, _c, _d;
293
+ if (!this.serverId)
294
+ return false;
295
+ return ((0, calculator_js_1.bitwiseAndEq)((_b = (_a = this.defaultPermissions) === null || _a === void 0 ? void 0 : _a.d) !== null && _b !== void 0 ? _b : 0, definitions_js_1.Permission.ViewChannel) ||
296
+ !(0, calculator_js_1.bitwiseAndEq)(this.server.defaultPermissions, definitions_js_1.Permission.ViewChannel) ||
297
+ [...((_d = (_c = this.server) === null || _c === void 0 ? void 0 : _c.roles.keys()) !== null && _d !== void 0 ? _d : [])].find((role) => {
298
+ var _a, _b, _c, _d, _e, _f;
299
+ return (0, calculator_js_1.bitwiseAndEq)((_c = (_b = (_a = this.rolePermissions) === null || _a === void 0 ? void 0 : _a[role]) === null || _b === void 0 ? void 0 : _b.d) !== null && _c !== void 0 ? _c : 0, definitions_js_1.Permission.ViewChannel) ||
300
+ (0, calculator_js_1.bitwiseAndEq)((_f = (_e = (_d = this.server) === null || _d === void 0 ? void 0 : _d.roles.get(role)) === null || _e === void 0 ? void 0 : _e.permissions.d) !== null && _f !== void 0 ? _f : 0, definitions_js_1.Permission.ViewChannel);
301
+ }));
302
+ }
303
+ /**
304
+ * Permission the currently authenticated user has against this channel
305
+ */
306
+ get permission() {
307
+ return (0, calculator_js_1.calculatePermission)(__classPrivateFieldGet(this, _Channel_collection, "f").client, this);
308
+ }
309
+ /**
310
+ * Check whether we have a given permission in a channel
311
+ * @param permission Permission Names
312
+ * @returns Whether we have this permission
313
+ */
314
+ havePermission(...permission) {
315
+ return (0, calculator_js_1.bitwiseAndEq)(this.permission, ...permission.map((x) => definitions_js_1.Permission[x]));
316
+ }
317
+ /**
318
+ * Check whether we have at least one of the given permissions in a channel
319
+ * @param permission Permission Names
320
+ * @returns Whether we have one of the permissions
321
+ */
322
+ orPermission(...permission) {
323
+ return (permission.findIndex((x) => (0, calculator_js_1.bitwiseAndEq)(this.permission, definitions_js_1.Permission[x])) !== -1);
324
+ }
325
+ /**
326
+ * Fetch a channel's members.
327
+ * @requires `Group`
328
+ * @returns An array of the channel's members.
329
+ */
330
+ fetchMembers() {
331
+ return __awaiter(this, void 0, void 0, function* () {
332
+ const members = yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.get(`/channels/${this.id}/members`);
333
+ return (0, solid_js_1.batch)(() => members.map((user) => __classPrivateFieldGet(this, _Channel_collection, "f").client.users.getOrCreate(user._id, user)));
334
+ });
335
+ }
336
+ /**
337
+ * Fetch a channel's webhooks
338
+ * @requires `TextChannel`, `Group`
339
+ * @returns Webhooks
340
+ */
341
+ fetchWebhooks() {
342
+ return __awaiter(this, void 0, void 0, function* () {
343
+ const webhooks = yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.get(`/channels/${this.id}/webhooks`);
344
+ return (0, solid_js_1.batch)(() => webhooks.map((webhook) => __classPrivateFieldGet(this, _Channel_collection, "f").client.channelWebhooks.getOrCreate(webhook.id, webhook)));
345
+ });
346
+ }
347
+ /**
348
+ * Edit a channel
349
+ * @param data Changes
350
+ */
351
+ edit(data) {
352
+ return __awaiter(this, void 0, void 0, function* () {
353
+ yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.patch(`/channels/${this.id}`, data);
354
+ });
355
+ }
356
+ /**
357
+ * Delete or leave a channel
358
+ * @param leaveSilently Whether to not send a message on leave
359
+ * @requires `DirectMessage`, `Group`, `TextChannel`, `VoiceChannel`
360
+ */
361
+ delete(leaveSilently) {
362
+ return __awaiter(this, void 0, void 0, function* () {
363
+ yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.delete(`/channels/${this.id}`, {
364
+ leave_silently: leaveSilently,
365
+ });
366
+ if (this.type === "DirectMessage") {
367
+ __classPrivateFieldGet(this, _Channel_collection, "f").updateUnderlyingObject(this.id, "active", false);
368
+ return;
369
+ }
370
+ __classPrivateFieldGet(this, _Channel_collection, "f").delete(this.id);
371
+ });
372
+ }
373
+ /**
374
+ * Add a user to a group
375
+ * @param user_id ID of the target user
376
+ * @requires `Group`
377
+ */
378
+ addMember(user_id) {
379
+ return __awaiter(this, void 0, void 0, function* () {
380
+ return yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.put(`/channels/${this.id}/recipients/${user_id}`);
381
+ });
382
+ }
383
+ /**
384
+ * Remove a user from a group
385
+ * @param user_id ID of the target user
386
+ * @requires `Group`
387
+ */
388
+ removeMember(user_id) {
389
+ return __awaiter(this, void 0, void 0, function* () {
390
+ return yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.delete(`/channels/${this.id}/recipients/${user_id}`);
391
+ });
392
+ }
393
+ /**
394
+ * Send a message
395
+ * @param data Either the message as a string or message sending route data
396
+ * @requires `SavedMessages`, `DirectMessage`, `Group`, `TextChannel`
397
+ * @returns Sent message
398
+ */
399
+ sendMessage(data_1) {
400
+ return __awaiter(this, arguments, void 0, function* (data, idempotencyKey = (0, ulid_1.ulid)()) {
401
+ var _a;
402
+ const msg = typeof data === "string" ? { content: data } : data;
403
+ // Mark as silent message
404
+ if ((_a = msg.content) === null || _a === void 0 ? void 0 : _a.startsWith("@silent ")) {
405
+ msg.content = msg.content.substring(8);
406
+ msg.flags || (msg.flags = 1);
407
+ msg.flags |= 1;
408
+ }
409
+ const message = yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.post(`/channels/${this.id}/messages`, msg, {
410
+ headers: {
411
+ "Idempotency-Key": idempotencyKey,
412
+ },
413
+ });
414
+ return __classPrivateFieldGet(this, _Channel_collection, "f").client.messages.getOrCreate(message._id, message, true);
415
+ });
416
+ }
417
+ /**
418
+ * Fetch a message by its ID
419
+ * @param messageId ID of the target message
420
+ * @requires `SavedMessages`, `DirectMessage`, `Group`, `TextChannel`
421
+ * @returns Message
422
+ */
423
+ fetchMessage(messageId) {
424
+ return __awaiter(this, void 0, void 0, function* () {
425
+ const message = yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.get(`/channels/${this.id}/messages/${messageId}`);
426
+ return __classPrivateFieldGet(this, _Channel_collection, "f").client.messages.getOrCreate(message._id, message);
427
+ });
428
+ }
429
+ /**
430
+ * Fetch multiple messages from a channel
431
+ * @param params Message fetching route data
432
+ * @requires `SavedMessages`, `DirectMessage`, `Group`, `TextChannel`
433
+ * @returns Messages
434
+ */
435
+ fetchMessages(params) {
436
+ return __awaiter(this, void 0, void 0, function* () {
437
+ const messages = (yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.get(`/channels/${this.id}/messages`, Object.assign({}, params)));
438
+ return messages.map((message) => __classPrivateFieldGet(this, _Channel_collection, "f").client.messages.getOrCreate(message._id, message));
439
+ });
440
+ }
441
+ /**
442
+ * Fetch multiple messages from a channel including the users that sent them
443
+ * @param params Message fetching route data
444
+ * @requires `SavedMessages`, `DirectMessage`, `Group`, `TextChannel`
445
+ * @returns Object including messages and users
446
+ */
447
+ fetchMessagesWithUsers(params) {
448
+ return __awaiter(this, void 0, void 0, function* () {
449
+ const data = (yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.get(`/channels/${this.id}/messages`, Object.assign(Object.assign({}, params), { include_users: true })));
450
+ return (0, solid_js_1.batch)(() => {
451
+ var _a;
452
+ return ({
453
+ messages: data.messages.map((message) => __classPrivateFieldGet(this, _Channel_collection, "f").client.messages.getOrCreate(message._id, message)),
454
+ users: data.users.map((user) => __classPrivateFieldGet(this, _Channel_collection, "f").client.users.getOrCreate(user._id, user)),
455
+ members: (_a = data.members) === null || _a === void 0 ? void 0 : _a.map((member) => __classPrivateFieldGet(this, _Channel_collection, "f").client.serverMembers.getOrCreate(member._id, member)),
456
+ });
457
+ });
458
+ });
459
+ }
460
+ /**
461
+ * Search for messages
462
+ * @param params Message searching route data
463
+ * @requires `SavedMessages`, `DirectMessage`, `Group`, `TextChannel`
464
+ * @returns Messages
465
+ */
466
+ search(params) {
467
+ return __awaiter(this, void 0, void 0, function* () {
468
+ const messages = (yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.post(`/channels/${this.id}/search`, params));
469
+ return (0, solid_js_1.batch)(() => messages.map((message) => __classPrivateFieldGet(this, _Channel_collection, "f").client.messages.getOrCreate(message._id, message)));
470
+ });
471
+ }
472
+ /**
473
+ * Search for messages including the users that sent them
474
+ * @param params Message searching route data
475
+ * @requires `SavedMessages`, `DirectMessage`, `Group`, `TextChannel`
476
+ * @returns Object including messages and users
477
+ */
478
+ searchWithUsers(params) {
479
+ return __awaiter(this, void 0, void 0, function* () {
480
+ const data = (yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.post(`/channels/${this.id}/search`, Object.assign(Object.assign({}, params), { include_users: true })));
481
+ return (0, solid_js_1.batch)(() => {
482
+ var _a;
483
+ return ({
484
+ messages: data.messages.map((message) => __classPrivateFieldGet(this, _Channel_collection, "f").client.messages.getOrCreate(message._id, message)),
485
+ users: data.users.map((user) => __classPrivateFieldGet(this, _Channel_collection, "f").client.users.getOrCreate(user._id, user)),
486
+ members: (_a = data.members) === null || _a === void 0 ? void 0 : _a.map((member) => __classPrivateFieldGet(this, _Channel_collection, "f").client.serverMembers.getOrCreate(member._id, member)),
487
+ });
488
+ });
489
+ });
490
+ }
491
+ /**
492
+ * Delete many messages by their IDs
493
+ * @param ids List of message IDs
494
+ * @requires `SavedMessages`, `DirectMessage`, `Group`, `TextChannel`
495
+ */
496
+ deleteMessages(ids) {
497
+ return __awaiter(this, void 0, void 0, function* () {
498
+ yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.delete(`/channels/${this.id}/messages/bulk`, {
499
+ ids,
500
+ });
501
+ });
502
+ }
503
+ /**
504
+ * Create an invite to the channel
505
+ * @requires `TextChannel`, `VoiceChannel`
506
+ * @returns Newly created invite code
507
+ */
508
+ createInvite() {
509
+ return __awaiter(this, void 0, void 0, function* () {
510
+ return yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.post(`/channels/${this.id}/invites`);
511
+ });
512
+ }
513
+ /**
514
+ * Mark a channel as read
515
+ * @param message Last read message or its ID
516
+ * @param skipRateLimiter Whether to skip the internal rate limiter
517
+ * @param skipRequest For internal updates only
518
+ * @param skipNextMarking For internal usage only
519
+ * @requires `SavedMessages`, `DirectMessage`, `Group`, `TextChannel`
520
+ */
521
+ ack(message, skipRateLimiter, skipRequest, skipNextMarking) {
522
+ return __awaiter(this, void 0, void 0, function* () {
523
+ var _a, _b;
524
+ if (!message && __classPrivateFieldGet(this, _Channel_manuallyMarked, "f")) {
525
+ __classPrivateFieldSet(this, _Channel_manuallyMarked, false, "f");
526
+ return;
527
+ }
528
+ // Skip the next unread marking
529
+ else if (skipNextMarking) {
530
+ __classPrivateFieldSet(this, _Channel_manuallyMarked, true, "f");
531
+ }
532
+ const lastMessageId = (_b = (_a = (typeof message === "string" ? message : message === null || message === void 0 ? void 0 : message.id)) !== null && _a !== void 0 ? _a : this.lastMessageId) !== null && _b !== void 0 ? _b : (0, ulid_1.ulid)();
533
+ const unreads = __classPrivateFieldGet(this, _Channel_collection, "f").client.channelUnreads;
534
+ const channelUnread = unreads.get(this.id);
535
+ if (channelUnread) {
536
+ unreads.updateUnderlyingObject(this.id, {
537
+ lastMessageId,
538
+ });
539
+ if (channelUnread.messageMentionIds.size) {
540
+ channelUnread.messageMentionIds.clear();
541
+ }
542
+ }
543
+ // Skip request if not needed
544
+ if (skipRequest)
545
+ return;
546
+ /**
547
+ * Send the actual acknowledgement request
548
+ */
549
+ const performAck = () => {
550
+ __classPrivateFieldSet(this, _Channel_ackLimit, undefined, "f");
551
+ __classPrivateFieldGet(this, _Channel_collection, "f").client.api.put(`/channels/${this.id}/ack/${lastMessageId}`);
552
+ };
553
+ if (skipRateLimiter)
554
+ return performAck();
555
+ clearTimeout(__classPrivateFieldGet(this, _Channel_ackTimeout, "f"));
556
+ if (__classPrivateFieldGet(this, _Channel_ackLimit, "f") && +new Date() > __classPrivateFieldGet(this, _Channel_ackLimit, "f")) {
557
+ performAck();
558
+ }
559
+ // We need to use setTimeout here for both Node.js and browser.
560
+ __classPrivateFieldSet(this, _Channel_ackTimeout, setTimeout(performAck, 5000), "f");
561
+ if (!__classPrivateFieldGet(this, _Channel_ackLimit, "f")) {
562
+ __classPrivateFieldSet(this, _Channel_ackLimit, +new Date() + 15e3, "f");
563
+ }
564
+ });
565
+ }
566
+ /**
567
+ * Set role permissions
568
+ * @param role_id Role Id, set to 'default' to affect all users
569
+ * @param permissions Permission value
570
+ * @requires `Group`, `TextChannel`, `VoiceChannel`
571
+ */
572
+ setPermissions() {
573
+ return __awaiter(this, arguments, void 0, function* (role_id = "default", permissions) {
574
+ return yield __classPrivateFieldGet(this, _Channel_collection, "f").client.api.put(`/channels/${this.id}/permissions/${role_id}`, { permissions });
575
+ });
576
+ }
577
+ /**
578
+ * Start typing in this channel
579
+ * @requires `DirectMessage`, `Group`, `TextChannel`
580
+ */
581
+ startTyping() {
582
+ __classPrivateFieldGet(this, _Channel_collection, "f").client.events.send({
583
+ type: "BeginTyping",
584
+ channel: this.id,
585
+ });
586
+ }
587
+ /**
588
+ * Stop typing in this channel
589
+ * @requires `DirectMessage`, `Group`, `TextChannel`
590
+ */
591
+ stopTyping() {
592
+ __classPrivateFieldGet(this, _Channel_collection, "f").client.events.send({
593
+ type: "EndTyping",
594
+ channel: this.id,
595
+ });
596
+ }
597
+ }
598
+ exports.Channel = Channel;
599
+ _Channel_collection = new WeakMap(), _Channel_ackTimeout = new WeakMap(), _Channel_ackLimit = new WeakMap(), _Channel_manuallyMarked = new WeakMap();
@@ -0,0 +1,27 @@
1
+ import { ChannelUnreadCollection } from "../collections/index.js";
2
+ /**
3
+ * Channel Unread Class
4
+ */
5
+ export declare class ChannelUnread {
6
+ #private;
7
+ readonly id: string;
8
+ /**
9
+ * Construct Channel
10
+ * @param collection Collection
11
+ * @param id Channel Id
12
+ */
13
+ constructor(collection: ChannelUnreadCollection, id: string);
14
+ /**
15
+ * Whether this object exists
16
+ */
17
+ get $exists(): boolean;
18
+ /**
19
+ * Last read message id
20
+ */
21
+ get lastMessageId(): string | undefined;
22
+ /**
23
+ * List of message IDs that we were mentioned in
24
+ */
25
+ get messageMentionIds(): import("@solid-primitives/set").ReactiveSet<string>;
26
+ }
27
+ //# sourceMappingURL=ChannelUnread.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelUnread.d.ts","sourceRoot":"","sources":["../../../src/classes/ChannelUnread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE;;GAEG;AACH,qBAAa,aAAa;;IAExB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;gBACS,UAAU,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM;IAK3D;;OAEG;IACH,IAAI,OAAO,YAEV;IAED;;OAEG;IACH,IAAI,aAAa,uBAEhB;IAED;;OAEG;IACH,IAAI,iBAAiB,wDAEpB;CACF"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _ChannelUnread_collection;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ChannelUnread = void 0;
16
+ /**
17
+ * Channel Unread Class
18
+ */
19
+ class ChannelUnread {
20
+ /**
21
+ * Construct Channel
22
+ * @param collection Collection
23
+ * @param id Channel Id
24
+ */
25
+ constructor(collection, id) {
26
+ _ChannelUnread_collection.set(this, void 0);
27
+ __classPrivateFieldSet(this, _ChannelUnread_collection, collection, "f");
28
+ this.id = id;
29
+ }
30
+ /**
31
+ * Whether this object exists
32
+ */
33
+ get $exists() {
34
+ return !!__classPrivateFieldGet(this, _ChannelUnread_collection, "f").getUnderlyingObject(this.id).id;
35
+ }
36
+ /**
37
+ * Last read message id
38
+ */
39
+ get lastMessageId() {
40
+ return __classPrivateFieldGet(this, _ChannelUnread_collection, "f").getUnderlyingObject(this.id).lastMessageId;
41
+ }
42
+ /**
43
+ * List of message IDs that we were mentioned in
44
+ */
45
+ get messageMentionIds() {
46
+ return __classPrivateFieldGet(this, _ChannelUnread_collection, "f").getUnderlyingObject(this.id).messageMentionIds;
47
+ }
48
+ }
49
+ exports.ChannelUnread = ChannelUnread;
50
+ _ChannelUnread_collection = new WeakMap();