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,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChannelOwnershipChangeSystemMessage = exports.ChannelRenamedSystemMessage = exports.ChannelEditSystemMessage = exports.UserModeratedSystemMessage = exports.UserSystemMessage = exports.TextSystemMessage = exports.SystemMessage = void 0;
4
+ /**
5
+ * System Message
6
+ */
7
+ class SystemMessage {
8
+ /**
9
+ * Construct System Message
10
+ * @param client Client
11
+ * @param type Type
12
+ */
13
+ constructor(client, type) {
14
+ this.client = client;
15
+ this.type = type;
16
+ }
17
+ /**
18
+ * Create an System Message from an API System Message
19
+ * @param client Client
20
+ * @param embed Data
21
+ * @returns System Message
22
+ */
23
+ static from(client, message) {
24
+ switch (message.type) {
25
+ case "text":
26
+ return new TextSystemMessage(client, message);
27
+ case "user_added":
28
+ case "user_remove":
29
+ return new UserModeratedSystemMessage(client, message);
30
+ case "user_joined":
31
+ case "user_left":
32
+ case "user_kicked":
33
+ case "user_banned":
34
+ return new UserSystemMessage(client, message);
35
+ case "channel_renamed":
36
+ return new ChannelRenamedSystemMessage(client, message);
37
+ case "channel_description_changed":
38
+ case "channel_icon_changed":
39
+ return new ChannelEditSystemMessage(client, message);
40
+ case "channel_ownership_changed":
41
+ return new ChannelOwnershipChangeSystemMessage(client, message);
42
+ default:
43
+ return new TextSystemMessage(client, {
44
+ type: "text",
45
+ content: `${message.type} is not supported.`,
46
+ });
47
+ }
48
+ }
49
+ }
50
+ exports.SystemMessage = SystemMessage;
51
+ /**
52
+ * Text System Message
53
+ */
54
+ class TextSystemMessage extends SystemMessage {
55
+ /**
56
+ * Construct System Message
57
+ * @param client Client
58
+ * @param systemMessage System Message
59
+ */
60
+ constructor(client, systemMessage) {
61
+ super(client, systemMessage.type);
62
+ this.content = systemMessage.content;
63
+ }
64
+ }
65
+ exports.TextSystemMessage = TextSystemMessage;
66
+ /**
67
+ * User System Message
68
+ */
69
+ class UserSystemMessage extends SystemMessage {
70
+ /**
71
+ * Construct System Message
72
+ * @param client Client
73
+ * @param systemMessage System Message
74
+ */
75
+ constructor(client, systemMessage) {
76
+ super(client, systemMessage.type);
77
+ this.userId = systemMessage.id;
78
+ }
79
+ /**
80
+ * User this message concerns
81
+ */
82
+ get user() {
83
+ return this.client.users.get(this.userId);
84
+ }
85
+ }
86
+ exports.UserSystemMessage = UserSystemMessage;
87
+ /**
88
+ * User Moderated System Message
89
+ */
90
+ class UserModeratedSystemMessage extends UserSystemMessage {
91
+ /**
92
+ * Construct System Message
93
+ * @param client Client
94
+ * @param systemMessage System Message
95
+ */
96
+ constructor(client, systemMessage) {
97
+ super(client, systemMessage);
98
+ this.byId = systemMessage.by;
99
+ }
100
+ /**
101
+ * User this action was performed by
102
+ */
103
+ get by() {
104
+ console.info("deez!", this.byId);
105
+ return this.client.users.get(this.byId);
106
+ }
107
+ }
108
+ exports.UserModeratedSystemMessage = UserModeratedSystemMessage;
109
+ /**
110
+ * Channel Edit System Message
111
+ */
112
+ class ChannelEditSystemMessage extends SystemMessage {
113
+ /**
114
+ * Construct System Message
115
+ * @param client Client
116
+ * @param systemMessage System Message
117
+ */
118
+ constructor(client, systemMessage) {
119
+ super(client, systemMessage.type);
120
+ this.byId = systemMessage.by;
121
+ }
122
+ /**
123
+ * User this action was performed by
124
+ */
125
+ get by() {
126
+ return this.client.users.get(this.byId);
127
+ }
128
+ }
129
+ exports.ChannelEditSystemMessage = ChannelEditSystemMessage;
130
+ /**
131
+ * Channel Renamed System Message
132
+ */
133
+ class ChannelRenamedSystemMessage extends ChannelEditSystemMessage {
134
+ /**
135
+ * Construct System Message
136
+ * @param client Client
137
+ * @param systemMessage System Message
138
+ */
139
+ constructor(client, systemMessage) {
140
+ super(client, systemMessage);
141
+ this.name = systemMessage.name;
142
+ }
143
+ }
144
+ exports.ChannelRenamedSystemMessage = ChannelRenamedSystemMessage;
145
+ /**
146
+ * Channel Ownership Change System Message
147
+ */
148
+ class ChannelOwnershipChangeSystemMessage extends SystemMessage {
149
+ /**
150
+ * Construct System Message
151
+ * @param client Client
152
+ * @param systemMessage System Message
153
+ */
154
+ constructor(client, systemMessage) {
155
+ super(client, systemMessage.type);
156
+ this.fromId = systemMessage.from;
157
+ this.toId = systemMessage.to;
158
+ }
159
+ /**
160
+ * User giving away channel ownership
161
+ */
162
+ get from() {
163
+ return this.client.users.get(this.fromId);
164
+ }
165
+ /**
166
+ * User receiving channel ownership
167
+ */
168
+ get to() {
169
+ return this.client.users.get(this.toId);
170
+ }
171
+ }
172
+ exports.ChannelOwnershipChangeSystemMessage = ChannelOwnershipChangeSystemMessage;
@@ -0,0 +1,203 @@
1
+ import { DataEditUser, Presence } from "../api";
2
+ import { UserCollection } from "../collections/index.js";
3
+ import { UserProfile } from "../index.js";
4
+ /**
5
+ * User Class
6
+ */
7
+ export declare class User {
8
+ #private;
9
+ readonly id: string;
10
+ /**
11
+ * Construct User
12
+ * @param collection Collection
13
+ * @param id Id
14
+ */
15
+ constructor(collection: UserCollection, id: string);
16
+ /**
17
+ * Write to string as a user mention
18
+ * @returns Formatted String
19
+ */
20
+ toString(): string;
21
+ /**
22
+ * Whether this object exists
23
+ */
24
+ get $exists(): boolean;
25
+ /**
26
+ * Time when this user created their account
27
+ */
28
+ get createdAt(): Date;
29
+ /**
30
+ * Username
31
+ */
32
+ get username(): string;
33
+ /**
34
+ * Discriminator
35
+ */
36
+ get discriminator(): string;
37
+ /**
38
+ * Display Name
39
+ */
40
+ get displayName(): string;
41
+ /**
42
+ * Avatar
43
+ */
44
+ get avatar(): import("./File").File | undefined;
45
+ /**
46
+ * Badges
47
+ */
48
+ get badges(): import("../index.js").UserBadges;
49
+ /**
50
+ * User Status
51
+ */
52
+ get status(): {
53
+ text?: string | null | undefined;
54
+ presence?: "Online" | "Idle" | "Focus" | "Busy" | "Invisible" | null | undefined;
55
+ } | undefined;
56
+ /**
57
+ * Relationship with user
58
+ */
59
+ get relationship(): "Blocked" | "None" | "User" | "Friend" | "Outgoing" | "Incoming" | "BlockedOther";
60
+ /**
61
+ * Whether the user is online
62
+ */
63
+ get online(): boolean;
64
+ /**
65
+ * Whether the user is privileged
66
+ */
67
+ get privileged(): boolean;
68
+ /**
69
+ * Flags
70
+ */
71
+ get flags(): import("../index.js").UserFlags;
72
+ /**
73
+ * Bot information
74
+ */
75
+ get bot(): {
76
+ owner: string;
77
+ } | undefined;
78
+ /**
79
+ * Whether this user is ourselves
80
+ */
81
+ get self(): boolean;
82
+ /**
83
+ * URL to the user's default avatar
84
+ */
85
+ get defaultAvatarURL(): string;
86
+ /**
87
+ * URL to the user's avatar
88
+ */
89
+ get avatarURL(): string;
90
+ /**
91
+ * URL to the user's animated avatar
92
+ */
93
+ get animatedAvatarURL(): string;
94
+ /**
95
+ * Presence
96
+ */
97
+ get presence(): "Online" | "Idle" | "Focus" | "Busy" | "Invisible";
98
+ /**
99
+ * Generate status message
100
+ * @param translate Translation function
101
+ * @returns Status message
102
+ */
103
+ statusMessage(translate?: (presence: Presence) => string): string | undefined;
104
+ /**
105
+ * Permissions against this user
106
+ */
107
+ get permission(): number;
108
+ /**
109
+ * Edit the user
110
+ * @param data Changes
111
+ */
112
+ edit(data: DataEditUser): Promise<void>;
113
+ /**
114
+ * Change the username of the current user
115
+ * @param username New username
116
+ * @param password Current password
117
+ */
118
+ changeUsername(username: string, password: string): Promise<{
119
+ _id: string;
120
+ username: string;
121
+ discriminator: string;
122
+ display_name?: string | null | undefined;
123
+ avatar?: {
124
+ _id: string;
125
+ tag: string;
126
+ filename: string;
127
+ metadata: {
128
+ type: "File";
129
+ } | {
130
+ type: "Text";
131
+ } | {
132
+ type: "Image";
133
+ width: number;
134
+ height: number;
135
+ } | {
136
+ type: "Video";
137
+ width: number;
138
+ height: number;
139
+ } | {
140
+ type: "Audio";
141
+ };
142
+ content_type: string;
143
+ size: number;
144
+ deleted?: boolean | null | undefined;
145
+ reported?: boolean | null | undefined;
146
+ message_id?: string | null | undefined;
147
+ user_id?: string | null | undefined;
148
+ server_id?: string | null | undefined;
149
+ object_id?: string | null | undefined;
150
+ } | null | undefined;
151
+ relations?: {
152
+ _id: string;
153
+ status: "Blocked" | "None" | "User" | "Friend" | "Outgoing" | "Incoming" | "BlockedOther";
154
+ }[] | undefined;
155
+ badges?: number | undefined;
156
+ status?: {
157
+ text?: string | null | undefined;
158
+ presence?: "Online" | "Idle" | "Focus" | "Busy" | "Invisible" | null | undefined;
159
+ } | null | undefined;
160
+ flags?: number | undefined;
161
+ privileged?: boolean | undefined;
162
+ bot?: {
163
+ owner: string;
164
+ } | null | undefined;
165
+ relationship: "Blocked" | "None" | "User" | "Friend" | "Outgoing" | "Incoming" | "BlockedOther";
166
+ online: boolean;
167
+ }>;
168
+ /**
169
+ * Open a DM with a user
170
+ * @returns DM Channel
171
+ */
172
+ openDM(): Promise<import("./Channel").Channel>;
173
+ /**
174
+ * Send a friend request to a user
175
+ */
176
+ addFriend(): Promise<User>;
177
+ /**
178
+ * Remove a user from the friend list
179
+ */
180
+ removeFriend(): Promise<void>;
181
+ /**
182
+ * Block a user
183
+ */
184
+ blockUser(): Promise<void>;
185
+ /**
186
+ * Unblock a user
187
+ */
188
+ unblockUser(): Promise<void>;
189
+ /**
190
+ * Fetch the profile of a user
191
+ * @returns The profile of the user
192
+ */
193
+ fetchProfile(): Promise<UserProfile>;
194
+ /**
195
+ * Fetch the mutual connections of the current user and a target user
196
+ * @returns The mutual connections of the current user and a target user
197
+ */
198
+ fetchMutual(): Promise<{
199
+ users: string[];
200
+ servers: string[];
201
+ }>;
202
+ }
203
+ //# sourceMappingURL=User.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../src/classes/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C;;GAEG;AACH,qBAAa,IAAI;;IAEf,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;gBACS,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAKlD;;;OAGG;IACH,QAAQ;IAIR;;OAEG;IACH,IAAI,OAAO,YAEV;IAED;;OAEG;IACH,IAAI,SAAS,SAEZ;IAED;;OAEG;IACH,IAAI,QAAQ,WAEX;IAED;;OAEG;IACH,IAAI,aAAa,WAEhB;IAED;;OAEG;IACH,IAAI,WAAW,WAKd;IAED;;OAEG;IACH,IAAI,MAAM,sCAET;IAED;;OAEG;IACH,IAAI,MAAM,qCAET;IAED;;OAEG;IACH,IAAI,MAAM;;;kBAKT;IAED;;OAEG;IACH,IAAI,YAAY,sFAEf;IAED;;OAEG;IACH,IAAI,MAAM,YAET;IAED;;OAEG;IACH,IAAI,UAAU,YAEb;IAED;;OAEG;IACH,IAAI,KAAK,oCAER;IAED;;OAEG;IACH,IAAI,GAAG;;kBAEN;IAED;;OAEG;IACH,IAAI,IAAI,YAEP;IAED;;OAEG;IACH,IAAI,gBAAgB,WAInB;IAED;;OAEG;IACH,IAAI,SAAS,WAIZ;IAED;;OAEG;IACH,IAAI,iBAAiB,WAKpB;IAED;;OAEG;IACH,IAAI,QAAQ,uDAEX;IAED;;;;OAIG;IACH,aAAa,CAAC,SAAS,GAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,MAAiB;IAOlE;;OAEG;IACH,IAAI,UAAU,WAgCb;IAED;;;OAGG;IACG,IAAI,CAAC,IAAI,EAAE,YAAY;IAS7B;;;;OAIG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOvD;;;OAGG;IACG,MAAM;IAwBZ;;OAEG;IACG,SAAS;IAQf;;OAEG;IACG,YAAY;IAIlB;;OAEG;IACG,SAAS;IAIf;;OAEG;IACG,WAAW;IAIjB;;;OAGG;IACG,YAAY;IAOlB;;;OAGG;IACG,WAAW;;;;CAKlB"}
@@ -0,0 +1,299 @@
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 _User_collection;
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.User = void 0;
25
+ const index_js_1 = require("../index.js");
26
+ const definitions_js_1 = require("../permissions/definitions.js");
27
+ const ulid_1 = require("ulid");
28
+ /**
29
+ * User Class
30
+ */
31
+ class User {
32
+ /**
33
+ * Construct User
34
+ * @param collection Collection
35
+ * @param id Id
36
+ */
37
+ constructor(collection, id) {
38
+ _User_collection.set(this, void 0);
39
+ __classPrivateFieldSet(this, _User_collection, collection, "f");
40
+ this.id = id;
41
+ }
42
+ /**
43
+ * Write to string as a user mention
44
+ * @returns Formatted String
45
+ */
46
+ toString() {
47
+ return `<@${this.id}>`;
48
+ }
49
+ /**
50
+ * Whether this object exists
51
+ */
52
+ get $exists() {
53
+ return !!__classPrivateFieldGet(this, _User_collection, "f").getUnderlyingObject(this.id).id;
54
+ }
55
+ /**
56
+ * Time when this user created their account
57
+ */
58
+ get createdAt() {
59
+ return new Date((0, ulid_1.decodeTime)(this.id));
60
+ }
61
+ /**
62
+ * Username
63
+ */
64
+ get username() {
65
+ return __classPrivateFieldGet(this, _User_collection, "f").getUnderlyingObject(this.id).username;
66
+ }
67
+ /**
68
+ * Discriminator
69
+ */
70
+ get discriminator() {
71
+ return __classPrivateFieldGet(this, _User_collection, "f").getUnderlyingObject(this.id).discriminator;
72
+ }
73
+ /**
74
+ * Display Name
75
+ */
76
+ get displayName() {
77
+ var _a;
78
+ return ((_a = __classPrivateFieldGet(this, _User_collection, "f").getUnderlyingObject(this.id).displayName) !== null && _a !== void 0 ? _a : __classPrivateFieldGet(this, _User_collection, "f").getUnderlyingObject(this.id).username);
79
+ }
80
+ /**
81
+ * Avatar
82
+ */
83
+ get avatar() {
84
+ return __classPrivateFieldGet(this, _User_collection, "f").getUnderlyingObject(this.id).avatar;
85
+ }
86
+ /**
87
+ * Badges
88
+ */
89
+ get badges() {
90
+ return __classPrivateFieldGet(this, _User_collection, "f").getUnderlyingObject(this.id).badges;
91
+ }
92
+ /**
93
+ * User Status
94
+ */
95
+ get status() {
96
+ // TODO: issue with API, upstream fix required #319
97
+ if (!this.online)
98
+ return { text: undefined, presence: "Invisible" };
99
+ return __classPrivateFieldGet(this, _User_collection, "f").getUnderlyingObject(this.id).status;
100
+ }
101
+ /**
102
+ * Relationship with user
103
+ */
104
+ get relationship() {
105
+ return __classPrivateFieldGet(this, _User_collection, "f").getUnderlyingObject(this.id).relationship;
106
+ }
107
+ /**
108
+ * Whether the user is online
109
+ */
110
+ get online() {
111
+ return __classPrivateFieldGet(this, _User_collection, "f").getUnderlyingObject(this.id).online;
112
+ }
113
+ /**
114
+ * Whether the user is privileged
115
+ */
116
+ get privileged() {
117
+ return __classPrivateFieldGet(this, _User_collection, "f").getUnderlyingObject(this.id).privileged;
118
+ }
119
+ /**
120
+ * Flags
121
+ */
122
+ get flags() {
123
+ return __classPrivateFieldGet(this, _User_collection, "f").getUnderlyingObject(this.id).flags;
124
+ }
125
+ /**
126
+ * Bot information
127
+ */
128
+ get bot() {
129
+ return __classPrivateFieldGet(this, _User_collection, "f").getUnderlyingObject(this.id).bot;
130
+ }
131
+ /**
132
+ * Whether this user is ourselves
133
+ */
134
+ get self() {
135
+ return __classPrivateFieldGet(this, _User_collection, "f").client.user === this;
136
+ }
137
+ /**
138
+ * URL to the user's default avatar
139
+ */
140
+ get defaultAvatarURL() {
141
+ return `${__classPrivateFieldGet(this, _User_collection, "f").client.options.baseURL}/users/${this.id}/default_avatar`;
142
+ }
143
+ /**
144
+ * URL to the user's avatar
145
+ */
146
+ get avatarURL() {
147
+ var _a, _b;
148
+ return ((_b = (_a = this.avatar) === null || _a === void 0 ? void 0 : _a.createFileURL({ max_side: 256 })) !== null && _b !== void 0 ? _b : this.defaultAvatarURL);
149
+ }
150
+ /**
151
+ * URL to the user's animated avatar
152
+ */
153
+ get animatedAvatarURL() {
154
+ var _a, _b;
155
+ return ((_b = (_a = this.avatar) === null || _a === void 0 ? void 0 : _a.createFileURL({ max_side: 256 }, true)) !== null && _b !== void 0 ? _b : this.defaultAvatarURL);
156
+ }
157
+ /**
158
+ * Presence
159
+ */
160
+ get presence() {
161
+ var _a, _b;
162
+ return this.online ? (_b = (_a = this.status) === null || _a === void 0 ? void 0 : _a.presence) !== null && _b !== void 0 ? _b : "Online" : "Invisible";
163
+ }
164
+ /**
165
+ * Generate status message
166
+ * @param translate Translation function
167
+ * @returns Status message
168
+ */
169
+ statusMessage(translate = (a) => a) {
170
+ var _a, _b;
171
+ return this.online
172
+ ? (_b = (_a = this.status) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : (this.presence === "Focus" ? translate("Focus") : undefined)
173
+ : undefined;
174
+ }
175
+ /**
176
+ * Permissions against this user
177
+ */
178
+ get permission() {
179
+ var _a;
180
+ let permissions = 0;
181
+ switch (this.relationship) {
182
+ case "Friend":
183
+ case "User":
184
+ return definitions_js_1.U32_MAX;
185
+ case "Blocked":
186
+ case "BlockedOther":
187
+ return definitions_js_1.UserPermission.Access;
188
+ case "Incoming":
189
+ case "Outgoing":
190
+ permissions = definitions_js_1.UserPermission.Access;
191
+ }
192
+ if (__classPrivateFieldGet(this, _User_collection, "f").client.channels.find((channel) => (channel.type === "Group" || channel.type === "DirectMessage") &&
193
+ channel.recipientIds.has(this.id)) ||
194
+ __classPrivateFieldGet(this, _User_collection, "f").client.serverMembers.find((member) => member.id.user === this.id)) {
195
+ if (((_a = __classPrivateFieldGet(this, _User_collection, "f").client.user) === null || _a === void 0 ? void 0 : _a.bot) || this.bot) {
196
+ permissions |= definitions_js_1.UserPermission.SendMessage;
197
+ }
198
+ permissions |= definitions_js_1.UserPermission.Access | definitions_js_1.UserPermission.ViewProfile;
199
+ }
200
+ return permissions;
201
+ }
202
+ /**
203
+ * Edit the user
204
+ * @param data Changes
205
+ */
206
+ edit(data) {
207
+ return __awaiter(this, void 0, void 0, function* () {
208
+ var _a;
209
+ yield __classPrivateFieldGet(this, _User_collection, "f").client.api.patch(`/users/${this.id === ((_a = __classPrivateFieldGet(this, _User_collection, "f").client.user) === null || _a === void 0 ? void 0 : _a.id) ? "@me" : this.id}`, data);
210
+ });
211
+ }
212
+ /**
213
+ * Change the username of the current user
214
+ * @param username New username
215
+ * @param password Current password
216
+ */
217
+ changeUsername(username, password) {
218
+ return __awaiter(this, void 0, void 0, function* () {
219
+ return yield __classPrivateFieldGet(this, _User_collection, "f").client.api.patch("/users/@me/username", {
220
+ username,
221
+ password,
222
+ });
223
+ });
224
+ }
225
+ /**
226
+ * Open a DM with a user
227
+ * @returns DM Channel
228
+ */
229
+ openDM() {
230
+ return __awaiter(this, void 0, void 0, function* () {
231
+ let dm = [...__classPrivateFieldGet(this, _User_collection, "f").client.channels.values()].find((x) => x.type === "DirectMessage" && x.recipient == this);
232
+ if (dm) {
233
+ if (!dm.active) {
234
+ __classPrivateFieldGet(this, _User_collection, "f").client.channels.updateUnderlyingObject(dm.id, "active", true);
235
+ }
236
+ }
237
+ else {
238
+ const data = yield __classPrivateFieldGet(this, _User_collection, "f").client.api.get(`/users/${this.id}/dm`);
239
+ dm = __classPrivateFieldGet(this, _User_collection, "f").client.channels.getOrCreate(data._id, data);
240
+ }
241
+ return dm;
242
+ });
243
+ }
244
+ /**
245
+ * Send a friend request to a user
246
+ */
247
+ addFriend() {
248
+ return __awaiter(this, void 0, void 0, function* () {
249
+ const user = yield __classPrivateFieldGet(this, _User_collection, "f").client.api.post(`/users/friend`, {
250
+ username: this.username,
251
+ });
252
+ return __classPrivateFieldGet(this, _User_collection, "f").getOrCreate(user._id, user);
253
+ });
254
+ }
255
+ /**
256
+ * Remove a user from the friend list
257
+ */
258
+ removeFriend() {
259
+ return __awaiter(this, void 0, void 0, function* () {
260
+ yield __classPrivateFieldGet(this, _User_collection, "f").client.api.delete(`/users/${this.id}/friend`);
261
+ });
262
+ }
263
+ /**
264
+ * Block a user
265
+ */
266
+ blockUser() {
267
+ return __awaiter(this, void 0, void 0, function* () {
268
+ yield __classPrivateFieldGet(this, _User_collection, "f").client.api.put(`/users/${this.id}/block`);
269
+ });
270
+ }
271
+ /**
272
+ * Unblock a user
273
+ */
274
+ unblockUser() {
275
+ return __awaiter(this, void 0, void 0, function* () {
276
+ yield __classPrivateFieldGet(this, _User_collection, "f").client.api.delete(`/users/${this.id}/block`);
277
+ });
278
+ }
279
+ /**
280
+ * Fetch the profile of a user
281
+ * @returns The profile of the user
282
+ */
283
+ fetchProfile() {
284
+ return __awaiter(this, void 0, void 0, function* () {
285
+ return new index_js_1.UserProfile(__classPrivateFieldGet(this, _User_collection, "f").client, yield __classPrivateFieldGet(this, _User_collection, "f").client.api.get(`/users/${this.id}/profile`));
286
+ });
287
+ }
288
+ /**
289
+ * Fetch the mutual connections of the current user and a target user
290
+ * @returns The mutual connections of the current user and a target user
291
+ */
292
+ fetchMutual() {
293
+ return __awaiter(this, void 0, void 0, function* () {
294
+ return yield __classPrivateFieldGet(this, _User_collection, "f").client.api.get(`/users/${this.id}/mutual`);
295
+ });
296
+ }
297
+ }
298
+ exports.User = User;
299
+ _User_collection = new WeakMap();
@@ -0,0 +1,23 @@
1
+ import { API, Client, File } from "../index.js";
2
+ /**
3
+ * User Profile Class
4
+ */
5
+ export declare class UserProfile {
6
+ readonly content?: string;
7
+ readonly banner?: File;
8
+ /**
9
+ * Construct Public Bot
10
+ * @param client Client
11
+ * @param data Data
12
+ */
13
+ constructor(client: Client, data: API.UserProfile);
14
+ /**
15
+ * URL to the user's banner
16
+ */
17
+ get bannerURL(): string | undefined;
18
+ /**
19
+ * URL to the user's animated banner
20
+ */
21
+ get animatedBannerURL(): string | undefined;
22
+ }
23
+ //# sourceMappingURL=UserProfile.d.ts.map