@duque.edits/sdk 1.0.87 → 1.1.2

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 (322) hide show
  1. package/dist/index-BPxglVSk.d.ts +1431 -0
  2. package/dist/index-DjHimKUy.d.mts +1431 -0
  3. package/dist/index.d.mts +23 -0
  4. package/dist/index.d.ts +23 -0
  5. package/dist/index.js +4243 -19
  6. package/dist/index.mjs +4196 -0
  7. package/dist/managers/automaticmessage/AutomaticMessageManager.d.mts +21 -0
  8. package/dist/managers/automaticmessage/AutomaticMessageManager.d.ts +21 -0
  9. package/dist/managers/automaticmessage/AutomaticMessageManager.js +804 -0
  10. package/dist/managers/automaticmessage/AutomaticMessageManager.mjs +796 -0
  11. package/dist/managers/base.d.mts +21 -0
  12. package/dist/managers/base.d.ts +21 -0
  13. package/dist/managers/base.js +127 -15
  14. package/dist/managers/base.mjs +107 -0
  15. package/dist/managers/bet/GuildBetManager.d.mts +21 -0
  16. package/dist/managers/bet/GuildBetManager.d.ts +21 -0
  17. package/dist/managers/bet/GuildBetManager.js +959 -58
  18. package/dist/managers/bet/GuildBetManager.mjs +958 -0
  19. package/dist/managers/betuser/GuildBetUserManager.d.mts +21 -0
  20. package/dist/managers/betuser/GuildBetUserManager.d.ts +21 -0
  21. package/dist/managers/betuser/GuildBetUserManager.js +519 -78
  22. package/dist/managers/betuser/GuildBetUserManager.mjs +502 -0
  23. package/dist/managers/buffer/BufferManager.d.mts +21 -0
  24. package/dist/managers/buffer/BufferManager.d.ts +21 -0
  25. package/dist/managers/buffer/BufferManager.js +247 -37
  26. package/dist/managers/buffer/BufferManager.mjs +223 -0
  27. package/dist/managers/guild/GuildManager.d.mts +21 -0
  28. package/dist/managers/guild/GuildManager.d.ts +21 -0
  29. package/dist/managers/guild/GuildManager.js +3784 -87
  30. package/dist/managers/guild/GuildManager.mjs +3786 -0
  31. package/dist/managers/index.d.mts +21 -0
  32. package/dist/managers/index.d.ts +21 -0
  33. package/dist/managers/index.js +3955 -29
  34. package/dist/managers/index.mjs +3934 -0
  35. package/dist/managers/logs/LogManager.d.mts +21 -0
  36. package/dist/managers/logs/LogManager.d.ts +21 -0
  37. package/dist/managers/logs/LogManager.js +733 -55
  38. package/dist/managers/logs/LogManager.mjs +738 -0
  39. package/dist/managers/match/GuildMatchManager.d.mts +21 -0
  40. package/dist/managers/match/GuildMatchManager.d.ts +21 -0
  41. package/dist/managers/match/GuildMatchManager.js +1301 -95
  42. package/dist/managers/match/GuildMatchManager.mjs +1305 -0
  43. package/dist/managers/mediator/GuildMediatorManager.d.mts +21 -0
  44. package/dist/managers/mediator/GuildMediatorManager.d.ts +21 -0
  45. package/dist/managers/mediator/GuildMediatorManager.js +447 -86
  46. package/dist/managers/mediator/GuildMediatorManager.mjs +430 -0
  47. package/dist/managers/message/MessagesManager.d.mts +21 -0
  48. package/dist/managers/message/MessagesManager.d.ts +21 -0
  49. package/dist/managers/message/MessagesManager.js +158 -55
  50. package/dist/managers/message/MessagesManager.mjs +134 -0
  51. package/dist/managers/minesgame/MinesGameManager.d.mts +21 -0
  52. package/dist/managers/minesgame/MinesGameManager.d.ts +21 -0
  53. package/dist/managers/minesgame/MinesGameManager.js +723 -61
  54. package/dist/managers/minesgame/MinesGameManager.mjs +721 -0
  55. package/dist/managers/permission/GuildPermissionManager.d.mts +21 -0
  56. package/dist/managers/permission/GuildPermissionManager.d.ts +21 -0
  57. package/dist/managers/permission/GuildPermissionManager.js +280 -55
  58. package/dist/managers/permission/GuildPermissionManager.mjs +256 -0
  59. package/dist/managers/player/PlayerManager.d.mts +21 -0
  60. package/dist/managers/player/PlayerManager.d.ts +21 -0
  61. package/dist/managers/player/PlayerManager.js +174 -71
  62. package/dist/managers/player/PlayerManager.mjs +155 -0
  63. package/dist/managers/ticket/TicketManager.d.mts +21 -0
  64. package/dist/managers/ticket/TicketManager.d.ts +21 -0
  65. package/dist/managers/ticket/TicketManager.js +826 -116
  66. package/dist/managers/ticket/TicketManager.mjs +827 -0
  67. package/dist/managers/tournament/TournamentManager.d.mts +21 -0
  68. package/dist/managers/tournament/TournamentManager.d.ts +21 -0
  69. package/dist/managers/tournament/TournamentManager.js +753 -0
  70. package/dist/managers/tournament/TournamentManager.mjs +745 -0
  71. package/dist/managers/user/GuildUserManager.d.mts +21 -0
  72. package/dist/managers/user/GuildUserManager.d.ts +21 -0
  73. package/dist/managers/user/GuildUserManager.js +586 -89
  74. package/dist/managers/user/GuildUserManager.mjs +567 -0
  75. package/dist/managers/vipmember/VipMemberManager.d.mts +21 -0
  76. package/dist/managers/vipmember/VipMemberManager.d.ts +21 -0
  77. package/dist/managers/vipmember/VipMemberManager.js +528 -114
  78. package/dist/managers/vipmember/VipMemberManager.mjs +513 -0
  79. package/dist/rest/APIEndpoints.d.mts +12 -0
  80. package/{types → dist}/rest/APIEndpoints.d.ts +4 -3
  81. package/dist/rest/APIEndpoints.js +40 -10
  82. package/dist/rest/APIEndpoints.mjs +19 -0
  83. package/dist/rest/REST.d.mts +21 -0
  84. package/dist/rest/REST.d.ts +21 -0
  85. package/dist/rest/REST.js +4017 -112
  86. package/dist/rest/REST.mjs +4021 -0
  87. package/dist/rest/Routes.d.mts +104 -0
  88. package/{types → dist}/rest/Routes.d.ts +7 -3
  89. package/dist/rest/Routes.js +124 -98
  90. package/dist/rest/Routes.mjs +104 -0
  91. package/dist/rest/index.d.mts +23 -0
  92. package/dist/rest/index.d.ts +23 -0
  93. package/dist/rest/index.js +4045 -18
  94. package/dist/rest/index.mjs +4036 -0
  95. package/dist/structures/Collection.d.mts +19 -0
  96. package/{types → dist}/structures/Collection.d.ts +3 -1
  97. package/dist/structures/Collection.js +102 -81
  98. package/dist/structures/Collection.mjs +87 -0
  99. package/dist/structures/automaticmessage/AutomaticMessage.d.mts +21 -0
  100. package/dist/structures/automaticmessage/AutomaticMessage.d.ts +21 -0
  101. package/dist/structures/automaticmessage/AutomaticMessage.js +617 -0
  102. package/dist/structures/automaticmessage/AutomaticMessage.mjs +609 -0
  103. package/dist/structures/bet/GuildBet.d.mts +21 -0
  104. package/dist/structures/bet/GuildBet.d.ts +21 -0
  105. package/dist/structures/bet/GuildBet.js +870 -169
  106. package/dist/structures/bet/GuildBet.mjs +881 -0
  107. package/dist/structures/betuser/GuildBetUser.d.mts +21 -0
  108. package/dist/structures/betuser/GuildBetUser.d.ts +21 -0
  109. package/dist/structures/betuser/GuildBetUser.js +333 -201
  110. package/dist/structures/betuser/GuildBetUser.mjs +326 -0
  111. package/dist/structures/guild/Guild.d.mts +21 -0
  112. package/dist/structures/guild/Guild.d.ts +21 -0
  113. package/dist/structures/guild/Guild.js +3676 -452
  114. package/dist/structures/guild/Guild.mjs +3690 -0
  115. package/dist/structures/index.d.mts +21 -0
  116. package/dist/structures/index.d.ts +21 -0
  117. package/dist/structures/index.js +3790 -26
  118. package/dist/structures/index.mjs +3773 -0
  119. package/dist/structures/logentry/LogEntry.d.mts +21 -0
  120. package/dist/structures/logentry/LogEntry.d.ts +21 -0
  121. package/dist/structures/logentry/LogEntry.js +577 -62
  122. package/dist/structures/logentry/LogEntry.mjs +575 -0
  123. package/dist/structures/match/GuildMatch.d.mts +21 -0
  124. package/dist/structures/match/GuildMatch.d.ts +21 -0
  125. package/dist/structures/match/GuildMatch.js +1178 -250
  126. package/dist/structures/match/GuildMatch.mjs +1191 -0
  127. package/dist/structures/mediator/GuildMediator.d.mts +21 -0
  128. package/dist/structures/mediator/GuildMediator.d.ts +21 -0
  129. package/dist/structures/mediator/GuildMediator.js +262 -124
  130. package/dist/structures/mediator/GuildMediator.mjs +246 -0
  131. package/dist/structures/minesgame/MinesGame.d.mts +21 -0
  132. package/dist/structures/minesgame/MinesGame.d.ts +21 -0
  133. package/dist/structures/minesgame/MinesGame.js +583 -68
  134. package/dist/structures/minesgame/MinesGame.mjs +579 -0
  135. package/dist/structures/ticket/Ticket.d.mts +21 -0
  136. package/dist/structures/ticket/Ticket.d.ts +21 -0
  137. package/dist/structures/ticket/Ticket.js +630 -115
  138. package/dist/structures/ticket/Ticket.mjs +626 -0
  139. package/dist/structures/tournament/Tournament.d.mts +21 -0
  140. package/dist/structures/tournament/Tournament.d.ts +21 -0
  141. package/dist/structures/tournament/Tournament.js +593 -0
  142. package/dist/structures/tournament/Tournament.mjs +585 -0
  143. package/dist/structures/user/GuildUser.d.mts +21 -0
  144. package/dist/structures/user/GuildUser.d.ts +21 -0
  145. package/dist/structures/user/GuildUser.js +383 -256
  146. package/dist/structures/user/GuildUser.mjs +382 -0
  147. package/dist/structures/vipmember/VipMember.d.mts +21 -0
  148. package/dist/structures/vipmember/VipMember.d.ts +21 -0
  149. package/dist/structures/vipmember/VipMember.js +261 -123
  150. package/dist/structures/vipmember/VipMember.mjs +250 -0
  151. package/dist/types/RestTypes.d.mts +21 -0
  152. package/dist/types/RestTypes.d.ts +21 -0
  153. package/dist/types/RestTypes.js +17 -1
  154. package/dist/types/RestTypes.mjs +0 -0
  155. package/dist/types/api/APIAdvert.d.mts +13 -0
  156. package/{types → dist}/types/api/APIAdvert.d.ts +3 -1
  157. package/dist/types/api/APIAdvert.js +17 -1
  158. package/dist/types/api/APIAdvert.mjs +0 -0
  159. package/dist/types/api/APIAutomaticMessage.d.mts +21 -0
  160. package/dist/types/api/APIAutomaticMessage.d.ts +21 -0
  161. package/dist/types/api/APIAutomaticMessage.js +18 -0
  162. package/dist/types/api/APIAutomaticMessage.mjs +0 -0
  163. package/dist/types/api/APIBaseChannel.d.mts +12 -0
  164. package/{types → dist}/types/api/APIBaseChannel.d.ts +3 -1
  165. package/dist/types/api/APIBaseChannel.js +17 -1
  166. package/dist/types/api/APIBaseChannel.mjs +0 -0
  167. package/{types/types/api/APIGuildEmoji.d.ts → dist/types/api/APIBetChannel.d.mts} +6 -6
  168. package/{types → dist}/types/api/APIBetChannel.d.ts +3 -1
  169. package/dist/types/api/APIBetChannel.js +17 -1
  170. package/dist/types/api/APIBetChannel.mjs +0 -0
  171. package/dist/types/api/APICode.d.mts +12 -0
  172. package/{types → dist}/types/api/APICode.d.ts +3 -1
  173. package/dist/types/api/APICode.js +17 -1
  174. package/dist/types/api/APICode.mjs +0 -0
  175. package/dist/types/api/APIGiveaway.d.mts +29 -0
  176. package/{types → dist}/types/api/APIGiveaway.d.ts +5 -3
  177. package/dist/types/api/APIGiveaway.js +17 -1
  178. package/dist/types/api/APIGiveaway.mjs +0 -0
  179. package/dist/types/api/APIGuild.d.mts +21 -0
  180. package/dist/types/api/APIGuild.d.ts +21 -0
  181. package/dist/types/api/APIGuild.js +72 -41
  182. package/dist/types/api/APIGuild.mjs +46 -0
  183. package/dist/types/api/APIGuildAdvert.d.mts +10 -0
  184. package/{types → dist}/types/api/APIGuildAdvert.d.ts +3 -1
  185. package/dist/types/api/APIGuildAdvert.js +17 -1
  186. package/dist/types/api/APIGuildAdvert.mjs +0 -0
  187. package/dist/types/api/APIGuildBet.d.mts +21 -0
  188. package/dist/types/api/APIGuildBet.d.ts +21 -0
  189. package/dist/types/api/APIGuildBet.js +32 -6
  190. package/dist/types/api/APIGuildBet.mjs +8 -0
  191. package/dist/types/api/APIGuildBetUser.d.mts +21 -0
  192. package/dist/types/api/APIGuildBetUser.d.ts +21 -0
  193. package/dist/types/api/APIGuildBetUser.js +17 -1
  194. package/dist/types/api/APIGuildBetUser.mjs +0 -0
  195. package/{types/types/api/APIGuildMessage.d.ts → dist/types/api/APIGuildChannel.d.mts} +5 -3
  196. package/{types → dist}/types/api/APIGuildChannel.d.ts +3 -1
  197. package/dist/types/api/APIGuildChannel.js +17 -1
  198. package/dist/types/api/APIGuildChannel.mjs +0 -0
  199. package/dist/types/api/APIGuildGroupedChannel.d.mts +21 -0
  200. package/dist/types/api/APIGuildGroupedChannel.d.ts +21 -0
  201. package/dist/types/api/APIGuildGroupedChannel.js +17 -1
  202. package/dist/types/api/APIGuildGroupedChannel.mjs +0 -0
  203. package/dist/types/api/APIGuildMatch.d.mts +21 -0
  204. package/dist/types/api/APIGuildMatch.d.ts +21 -0
  205. package/dist/types/api/APIGuildMatch.js +39 -11
  206. package/dist/types/api/APIGuildMatch.mjs +14 -0
  207. package/dist/types/api/APIGuildMediator.d.mts +16 -0
  208. package/{types → dist}/types/api/APIGuildMediator.d.ts +3 -1
  209. package/dist/types/api/APIGuildMediator.js +17 -1
  210. package/dist/types/api/APIGuildMediator.mjs +0 -0
  211. package/dist/types/api/APIGuildPermissions.d.mts +15 -0
  212. package/{types → dist}/types/api/APIGuildPermissions.d.ts +5 -3
  213. package/dist/types/api/APIGuildPermissions.js +37 -11
  214. package/dist/types/api/APIGuildPermissions.mjs +13 -0
  215. package/dist/types/api/APIGuildShop.d.mts +15 -0
  216. package/{types → dist}/types/api/APIGuildShop.d.ts +6 -2
  217. package/dist/types/api/APIGuildShop.js +17 -1
  218. package/dist/types/api/APIGuildShop.mjs +0 -0
  219. package/dist/types/api/APIGuildTicket.d.mts +19 -0
  220. package/{types → dist}/types/api/APIGuildTicket.d.ts +5 -2
  221. package/dist/types/api/APIGuildTicket.js +17 -1
  222. package/dist/types/api/APIGuildTicket.mjs +0 -0
  223. package/dist/types/api/APIGuildUser.d.mts +21 -0
  224. package/dist/types/api/APIGuildUser.d.ts +21 -0
  225. package/dist/types/api/APIGuildUser.js +17 -1
  226. package/dist/types/api/APIGuildUser.mjs +0 -0
  227. package/dist/types/api/APILogEntry.d.mts +32 -0
  228. package/{types → dist}/types/api/APILogEntry.d.ts +4 -2
  229. package/dist/types/api/APILogEntry.js +44 -18
  230. package/dist/types/api/APILogEntry.mjs +20 -0
  231. package/dist/types/api/APIMessage.d.mts +13 -0
  232. package/{types → dist}/types/api/APIMessage.d.ts +3 -1
  233. package/dist/types/api/APIMessage.js +17 -1
  234. package/dist/types/api/APIMessage.mjs +0 -0
  235. package/dist/types/api/APIMinesGame.d.mts +15 -0
  236. package/{types → dist}/types/api/APIMinesGame.d.ts +3 -1
  237. package/dist/types/api/APIMinesGame.js +17 -1
  238. package/dist/types/api/APIMinesGame.mjs +0 -0
  239. package/dist/types/api/APIPlayer.d.mts +10 -0
  240. package/{types → dist}/types/api/APIPlayer.d.ts +3 -1
  241. package/dist/types/api/APIPlayer.js +17 -1
  242. package/dist/types/api/APIPlayer.mjs +0 -0
  243. package/dist/types/api/APIProduct.d.mts +22 -0
  244. package/{types → dist}/types/api/APIProduct.d.ts +5 -2
  245. package/dist/types/api/APIProduct.js +17 -2
  246. package/dist/types/api/APIProduct.mjs +0 -0
  247. package/dist/types/api/APITournament.d.mts +16 -0
  248. package/dist/types/api/APITournament.d.ts +16 -0
  249. package/dist/types/api/APITournament.js +18 -0
  250. package/dist/types/api/APITournament.mjs +0 -0
  251. package/dist/types/api/APIVipMember.d.mts +22 -0
  252. package/{types → dist}/types/api/APIVipMember.d.ts +3 -1
  253. package/dist/types/api/APIVipMember.js +17 -1
  254. package/dist/types/api/APIVipMember.mjs +0 -0
  255. package/dist/types/api/index.d.mts +21 -0
  256. package/dist/types/api/index.d.ts +21 -0
  257. package/dist/types/api/index.js +171 -70
  258. package/dist/types/api/index.mjs +135 -0
  259. package/dist/types/index.d.mts +21 -0
  260. package/dist/types/index.d.ts +21 -0
  261. package/dist/types/index.js +171 -16
  262. package/dist/types/index.mjs +135 -0
  263. package/dist/utils/Assertion.d.mts +34 -0
  264. package/{types → dist}/utils/Assertion.d.ts +3 -1
  265. package/dist/utils/Assertion.js +76 -59
  266. package/dist/utils/Assertion.mjs +52 -0
  267. package/dist/utils/getRandomNumber.d.mts +3 -0
  268. package/dist/utils/getRandomNumber.d.ts +3 -0
  269. package/dist/utils/getRandomNumber.js +29 -3
  270. package/dist/utils/getRandomNumber.mjs +7 -0
  271. package/dist/utils/randomKeyGenerator.d.mts +3 -0
  272. package/dist/utils/randomKeyGenerator.d.ts +3 -0
  273. package/dist/utils/randomKeyGenerator.js +33 -0
  274. package/dist/utils/randomKeyGenerator.mjs +8 -0
  275. package/package.json +12 -6
  276. package/dist/types/api/APIBetMessage.js +0 -2
  277. package/dist/types/api/APIGuildEmoji.js +0 -2
  278. package/dist/types/api/APIGuildRole.js +0 -2
  279. package/dist/types/api/APILogMessage.js +0 -2
  280. package/types/index.d.ts +0 -4
  281. package/types/managers/base.d.ts +0 -14
  282. package/types/managers/bet/GuildBetManager.d.ts +0 -15
  283. package/types/managers/betuser/GuildBetUserManager.d.ts +0 -18
  284. package/types/managers/buffer/BufferManager.d.ts +0 -19
  285. package/types/managers/guild/GuildManager.d.ts +0 -32
  286. package/types/managers/index.d.ts +0 -14
  287. package/types/managers/logs/LogManager.d.ts +0 -10
  288. package/types/managers/match/GuildMatchManager.d.ts +0 -29
  289. package/types/managers/mediator/GuildMediatorManager.d.ts +0 -19
  290. package/types/managers/message/MessagesManager.d.ts +0 -20
  291. package/types/managers/minesgame/MinesGameManager.d.ts +0 -17
  292. package/types/managers/permission/GuildPermissionManager.d.ts +0 -8
  293. package/types/managers/player/PlayerManager.d.ts +0 -28
  294. package/types/managers/ticket/TicketManager.d.ts +0 -24
  295. package/types/managers/user/GuildUserManager.d.ts +0 -18
  296. package/types/managers/vipmember/VipMemberManager.d.ts +0 -32
  297. package/types/rest/REST.d.ts +0 -56
  298. package/types/rest/index.d.ts +0 -3
  299. package/types/structures/bet/GuildBet.d.ts +0 -54
  300. package/types/structures/betuser/GuildBetUser.d.ts +0 -71
  301. package/types/structures/guild/Guild.d.ts +0 -85
  302. package/types/structures/index.d.ts +0 -11
  303. package/types/structures/logentry/LogEntry.d.ts +0 -28
  304. package/types/structures/match/GuildMatch.d.ts +0 -76
  305. package/types/structures/mediator/GuildMediator.d.ts +0 -50
  306. package/types/structures/minesgame/MinesGame.d.ts +0 -23
  307. package/types/structures/ticket/Ticket.d.ts +0 -30
  308. package/types/structures/user/GuildUser.d.ts +0 -75
  309. package/types/structures/vipmember/VipMember.d.ts +0 -54
  310. package/types/types/RestTypes.d.ts +0 -47
  311. package/types/types/api/APIBetMessage.d.ts +0 -10
  312. package/types/types/api/APIGuild.d.ts +0 -132
  313. package/types/types/api/APIGuildBet.d.ts +0 -51
  314. package/types/types/api/APIGuildBetUser.d.ts +0 -27
  315. package/types/types/api/APIGuildGroupedChannel.d.ts +0 -7
  316. package/types/types/api/APIGuildMatch.d.ts +0 -58
  317. package/types/types/api/APIGuildRole.d.ts +0 -10
  318. package/types/types/api/APIGuildUser.d.ts +0 -41
  319. package/types/types/api/APILogMessage.d.ts +0 -7
  320. package/types/types/api/index.d.ts +0 -161
  321. package/types/types/index.d.ts +0 -2
  322. package/types/utils/getRandomNumber.d.ts +0 -1
@@ -0,0 +1,1431 @@
1
+ import { APIAdvert } from './types/api/APIAdvert.js';
2
+ import { APIBaseChannel } from './types/api/APIBaseChannel.js';
3
+ import { APIBetChannel } from './types/api/APIBetChannel.js';
4
+ import { APICode } from './types/api/APICode.js';
5
+ import './types/api/APIGiveaway.js';
6
+ import { APIGuildAdvert } from './types/api/APIGuildAdvert.js';
7
+ import './types/api/APIGuildChannel.js';
8
+ import { APIGuildMediator } from './types/api/APIGuildMediator.js';
9
+ import { APIGuildPermissions, GuildPermissionsTypes, Permission } from './types/api/APIGuildPermissions.js';
10
+ import { APIGuildShop } from './types/api/APIGuildShop.js';
11
+ import { APIGuildTicket } from './types/api/APIGuildTicket.js';
12
+ import { LogEntryTypes, APILogEntry } from './types/api/APILogEntry.js';
13
+ import { APIMessage } from './types/api/APIMessage.js';
14
+ import { APIMinesGame } from './types/api/APIMinesGame.js';
15
+ import { APIPlayer } from './types/api/APIPlayer.js';
16
+ import './types/api/APIProduct.js';
17
+ import { APIVipMember } from './types/api/APIVipMember.js';
18
+ import { Collection } from './structures/Collection.js';
19
+ import EventEmitter from 'events';
20
+ import { APITournament } from './types/api/APITournament.js';
21
+
22
+ interface APIGuildGroupedChannel {
23
+ /** Channel's type */
24
+ type: string & GuildChannelsType;
25
+ /** Channel's ids */
26
+ ids: string[];
27
+ }
28
+
29
+ /** Ticket's configuration */
30
+ interface GuildTicketConfiguration {
31
+ /** Guild's categories */
32
+ categories: APITicketCategory[];
33
+ creationCategory: string;
34
+ deletionCategory: string;
35
+ rating_channel_id: string;
36
+ }
37
+ interface GuildStatus {
38
+ /** Matches status */
39
+ matches: "on" | "off";
40
+ /** Bets status */
41
+ bets: "on" | "off";
42
+ /** Daily Ranking status */
43
+ daily_rank: "on" | "off";
44
+ /** Voice Channels for a bet */
45
+ create_voice_channels: "on" | "off";
46
+ two_mvps: "on" | "off";
47
+ ranking_name: "on" | "off";
48
+ logs_queues: "on" | "off";
49
+ logs_users: "on" | "off";
50
+ logs_managing: "on" | "off";
51
+ name_hidden: "on" | "off";
52
+ }
53
+ declare enum GuildStatusEnum {
54
+ /** Matches status */
55
+ Matches = "matches",
56
+ /** Bets status */
57
+ Bets = "bets",
58
+ /** Daily Ranking status */
59
+ DailyRank = "daily_rank",
60
+ /** Voice Channels for a bet */
61
+ CreateVoiceChannels = "create_voice_channels",
62
+ TwoMvps = "two_mvps",
63
+ RankingName = "ranking_name",
64
+ LogsQueues = "logs_queues",
65
+ LogsUsers = "logs_users",
66
+ LogsManaging = "logs_managing",
67
+ NameHidden = "name_hidden"
68
+ }
69
+ interface GuildModes {
70
+ on: string[];
71
+ off: string[];
72
+ }
73
+ type DailyCategories = "coins" | "credit" | "wins" | "points" | "losses" | "mvps";
74
+ type GuildPrices = number[];
75
+ interface GuildScores {
76
+ /** Win */
77
+ win: number;
78
+ /** Loss */
79
+ loss: number;
80
+ /** Mvp */
81
+ mvp: number;
82
+ /** Coin */
83
+ coin: number;
84
+ /** Creator */
85
+ creator: number;
86
+ }
87
+ interface RoulettePrize {
88
+ label: string;
89
+ custom_color: string;
90
+ custom_probability: number;
91
+ _id: string;
92
+ }
93
+ interface RouletteSettings {
94
+ primary_color: string;
95
+ secondary_color: string;
96
+ tertiary_color: string;
97
+ text_color: string;
98
+ prizes: RoulettePrize[];
99
+ }
100
+ declare enum AutomaticMessagesTypes {
101
+ MatchStarted = "match_started",
102
+ Miscellaneous = "miscellaneous"
103
+ }
104
+ declare enum GuildChannelsType {
105
+ DailyRank = "daily_rank",
106
+ Commands = "command",
107
+ Blacklist = "blacklist",
108
+ Queues = "queue",
109
+ VipMemebers = "vipmembers_category",
110
+ QueueLogs = "queue_logs",
111
+ UserLogs = "user_logs",
112
+ TicketLogs = "ticket_logs",
113
+ ManagingLogs = "managing_logs",
114
+ NormalQueue = "normal_queue",
115
+ ChallengeQueue = "challenge_queue",
116
+ MatchTextChannelParent = "match_text_channel_parent",
117
+ VoiceChannelMatchCreation = "voice_channel_match_creation",
118
+ WaitingVC = "waiting_vc",
119
+ BetMobileCategory = "bet_mobile_category",
120
+ BetEmulatorCategory = "bet_emulator_category",
121
+ BetMixCategory = "bet_mix_category",
122
+ RouletteLogs = "roulette_logs",
123
+ Rules = "rules"
124
+ }
125
+ interface APIGuild {
126
+ /** Guild's id */
127
+ id: string;
128
+ /** Guild's client key */
129
+ client_key: string;
130
+ modes: GuildModes;
131
+ /** Guild Permissions */
132
+ permissions: APIGuildPermissions;
133
+ /** Guild Ticket Configuration */
134
+ tickets_configuration: GuildTicketConfiguration;
135
+ /** Guild Daily Categories */
136
+ daily_categories: DailyCategories[];
137
+ /** Guild Scores */
138
+ scores: GuildScores;
139
+ /** Guild Status */
140
+ status: GuildStatus;
141
+ /** Guild Channel */
142
+ channels: APIGuildGroupedChannel[];
143
+ /** Guild Categories */
144
+ categories: APIGuildGroupedChannel[];
145
+ /** Guild Prefix */
146
+ prefix: string;
147
+ prefixes: string[];
148
+ /** Guild Prices Used */
149
+ prices: GuildPrices;
150
+ /** Guild Creation Date */
151
+ createdAt: Date;
152
+ /** Guild Updated Date */
153
+ updatedAt: Date;
154
+ /** Guild Shop */
155
+ shop: APIGuildShop;
156
+ adverts: APIGuildAdvert[];
157
+ max_advert_per_user: number;
158
+ codes: APICode[];
159
+ coin_symbol: string;
160
+ roulette_settings: RouletteSettings;
161
+ autorole_config: {
162
+ role: string;
163
+ };
164
+ automatic_messages: APIAutomaticMessage[];
165
+ }
166
+
167
+ interface APIAutomaticMessage {
168
+ id: string;
169
+ type: AutomaticMessagesTypes;
170
+ admin_id: string;
171
+ channel_ids: string[];
172
+ content: string;
173
+ embeds: any[];
174
+ components: any[];
175
+ attachments: any[];
176
+ flags: number;
177
+ interval_ms: number;
178
+ createdAt: Date;
179
+ updatedAt: Date;
180
+ }
181
+
182
+ interface BetQueue {
183
+ _id: string;
184
+ type: string;
185
+ players: APIPlayer[];
186
+ createdAt: Date;
187
+ updatedAt: Date;
188
+ }
189
+ declare enum BetChannelTypes {
190
+ CreationChannel = "creation_channel"
191
+ }
192
+ interface APIGuildBet {
193
+ /** The bet's type */
194
+ type: Omit<BaseMatchModes, "5x5" | "6x6" | "5v5" | "6v6">;
195
+ /** The bet's mode */
196
+ mode: "misto" | "emu" | "mob" | "MISTO" | "EMU" | "MOB";
197
+ /** The bet's status */
198
+ status: "off" | "created" | "on" | "shutted" | "waiting";
199
+ /** The bet's maximum size */
200
+ maximumSize: number;
201
+ /** The bet's price */
202
+ price: number;
203
+ guild_id: string;
204
+ /** The bet's players */
205
+ players: APIPlayer[];
206
+ teams: APIPlayer[][];
207
+ /** The bet's channel */
208
+ channels: APIBetChannel[];
209
+ /** The bet's messages */
210
+ messages: APIMessage[];
211
+ /** The id of the winner */
212
+ winners: APIPlayer[];
213
+ /** The id of the loser */
214
+ losers: APIPlayer[];
215
+ /** The bet's creator id */
216
+ creatorId: string;
217
+ /** The bet's mediator */
218
+ mediatorId: string;
219
+ /** The bet's confirmers */
220
+ confirmed: Confirm[];
221
+ /** Creation Date */
222
+ createdAt: Date;
223
+ /** Updated Date */
224
+ updatedAt: Date;
225
+ /** Bet's id */
226
+ _id: string;
227
+ queues: BetQueue[];
228
+ }
229
+
230
+ /** Bet user */
231
+ interface APIGuildBetUser {
232
+ /** User daily */
233
+ daily: Omit<Daily, "points">;
234
+ profile: Profile;
235
+ consecutive_wins: number;
236
+ /** User's name */
237
+ id: string;
238
+ guild_id: string;
239
+ /** User's credit */
240
+ credit: number;
241
+ /** User's wins */
242
+ wins: number;
243
+ /** User's losses */
244
+ losses: number;
245
+ /** User's games */
246
+ games: number;
247
+ /** User's blacklist */
248
+ blacklist: boolean;
249
+ /** User's coins */
250
+ coins: number;
251
+ spins: number;
252
+ /** Creation Date */
253
+ createdAt: Date;
254
+ /** Updated Date */
255
+ updatedAt: Date;
256
+ }
257
+
258
+ type MatchSelection = {
259
+ type: "creator" | "mvps" | "winners";
260
+ selected: string[];
261
+ confirmed: string[];
262
+ };
263
+ interface APIGuildMatch {
264
+ selections: MatchSelection[];
265
+ /** Match's type */
266
+ type: BaseMatchModes;
267
+ guild_id: string;
268
+ /** Match's status */
269
+ status: BaseMatchStatus;
270
+ /** Match's challenge */
271
+ challenge: boolean;
272
+ admin_id: string;
273
+ /** Match's players */
274
+ players: APIPlayer[];
275
+ /** Match's winners */
276
+ winners: APIPlayer[];
277
+ /** Match's losers */
278
+ losers: APIPlayer[];
279
+ /** Match;s messages */
280
+ messages: APIMessage[];
281
+ /** Matches channels */
282
+ channels: APIBaseChannel[];
283
+ /** Match's maximum size */
284
+ maximumSize: number;
285
+ /** Match's kicked out */
286
+ kickedOut: APIPlayer[];
287
+ /** Match's confirmed */
288
+ confirmed: Confirm[];
289
+ /** Match's leaders */
290
+ leaders: APIPlayer[];
291
+ teams: APIPlayer[][];
292
+ creatorId: string;
293
+ /** Match's room creator id */
294
+ roomCreatorId: string;
295
+ bet: APIGuildBet | GuildBet;
296
+ /** Creation Date */
297
+ createdAt: Date;
298
+ /** Updated Date */
299
+ updatedAt: Date;
300
+ /** Match's id */
301
+ _id: string;
302
+ mvps: [];
303
+ }
304
+ declare enum GuildMatchChannelsType {
305
+ CreationChannel = "creation_channel",
306
+ TextChannel = "text_channel"
307
+ }
308
+ declare enum GuildMatchMessagesType {
309
+ CreationMessage = "creation_message"
310
+ }
311
+
312
+ interface Profile {
313
+ bannerUrl?: string;
314
+ avatarUrl?: string;
315
+ bio?: string;
316
+ name?: string;
317
+ textColor?: string;
318
+ primaryColor?: string;
319
+ secondaryColor?: string;
320
+ }
321
+ interface APIGuildUser {
322
+ /** User's id */
323
+ id: string;
324
+ guild_id: string;
325
+ /** User's daily */
326
+ daily: Omit<Daily, "credit">;
327
+ profile: Profile;
328
+ /** User's points */
329
+ points: number;
330
+ creations: number;
331
+ /** User's wins */
332
+ wins: number;
333
+ adverts: APIAdvert[];
334
+ /** User's mvps */
335
+ mvps: number;
336
+ /** User's losses */
337
+ losses: number;
338
+ /** User's games */
339
+ games: number;
340
+ /** If user is blacklisted */
341
+ blacklist: boolean;
342
+ /** User's accessories such as double point */
343
+ accessories: Accessory[];
344
+ /** User's original channels */
345
+ original_channels: OriginalChannels;
346
+ spins: number;
347
+ /** Creation Date */
348
+ createdAt: Date;
349
+ /** Updated Date */
350
+ updatedAt: Date;
351
+ }
352
+
353
+ interface APITicketCategory {
354
+ /** Category's type */
355
+ type: string;
356
+ /** Category's emoji */
357
+ emoji: string;
358
+ /** Category's description */
359
+ description: string;
360
+ /** Category's alias */
361
+ alias: string;
362
+ }
363
+ interface LogMessage {
364
+ /** The message's content */
365
+ content: string | Buffer<any>;
366
+ /** The message's sender */
367
+ userId: string;
368
+ /** The message's type */
369
+ type: string;
370
+ /** Creation Date */
371
+ createdAt: Date;
372
+ /** Updated Date */
373
+ updatedAt: Date;
374
+ }
375
+ /** Base match modes */
376
+ type BaseMatchModes = "1v1" | "2v2" | "3v3" | "4v4" | "5v5" | "6v6";
377
+ /** Base match status */
378
+ type BaseMatchStatus = "on" | "created" | "off" | "shutted";
379
+ /** The logs of the structure */
380
+ interface Logs {
381
+ /** The messages of the structure */
382
+ messages: LogMessage[];
383
+ }
384
+ /** Original Channel */
385
+ type OriginalChannel = {
386
+ /** Channel id */
387
+ channelId: string;
388
+ /** Match id */
389
+ matchId: string;
390
+ };
391
+ /** Original Channels */
392
+ type OriginalChannels = OriginalChannel[];
393
+ /** Accessories */
394
+ type Accessory = {
395
+ /** Accessory type */
396
+ type: "point_protect" | "immunity" | "double_points";
397
+ /** Accessory longevity */
398
+ longevity: string;
399
+ /** Accessory adder */
400
+ addedBy: string;
401
+ /** When accessory added */
402
+ when: Date;
403
+ createdAt: Date;
404
+ updatedAt: Date;
405
+ /** If accessory has expired */
406
+ expired: boolean;
407
+ };
408
+ /** Daily information */
409
+ type Daily = {
410
+ /** Wins */
411
+ wins: number;
412
+ /** Coins */
413
+ coins: number;
414
+ /** Points */
415
+ points: number;
416
+ /** Credit */
417
+ credit: number;
418
+ /** Losses */
419
+ losses: number;
420
+ /** Mvps */
421
+ mvps: number;
422
+ /** Date of the daily */
423
+ date: Date;
424
+ };
425
+ interface Banner {
426
+ /** Equipped banner */
427
+ equipped: number;
428
+ /** Bought banners */
429
+ allowed: number[];
430
+ }
431
+ interface ProfileCard {
432
+ /** Profile's description */
433
+ description: string;
434
+ /** Profile's banner */
435
+ banner: Banner;
436
+ }
437
+ interface Confirm {
438
+ /** Confirm's type */
439
+ type: string;
440
+ /** Confirm's id */
441
+ ids: string[];
442
+ /** Confirm's counts */
443
+ count: number;
444
+ }
445
+ type Optional<T> = {
446
+ [K in keyof T]?: T[K];
447
+ };
448
+ declare enum MATCHTYPES {
449
+ OneVOne = "1v1",
450
+ TwoVTwo = "2v2",
451
+ ThreeVThree = "3v3",
452
+ FourVFour = "4v4",
453
+ FiveVFive = "5v5",
454
+ SixVSix = "6v6"
455
+ }
456
+ declare enum MATCHSTATUS {
457
+ ON = "on",
458
+ OFF = "off",
459
+ CREATED = "created",
460
+ SHUTTED = "shutted"
461
+ }
462
+ declare enum BETSTATUS {
463
+ ON = "on",
464
+ OFF = "off",
465
+ CREATED = "created",
466
+ SHUTTED = "shutted",
467
+ WAITING = "waiting"
468
+ }
469
+ declare enum STATES {
470
+ ON = "on",
471
+ OFF = "off",
472
+ CREATED = "created",
473
+ SHUTTED = "shutted",
474
+ WAITING = "waiting"
475
+ }
476
+ interface StatusResponse {
477
+ status: "ok" | "error";
478
+ services: {
479
+ fastify: boolean;
480
+ mongo: {
481
+ ok: boolean;
482
+ latency: number;
483
+ };
484
+ redis: {
485
+ ok: boolean;
486
+ latency: number;
487
+ };
488
+ };
489
+ timestamp: string;
490
+ }
491
+
492
+ type FetchOptions$7 = {
493
+ userId?: string;
494
+ cache?: boolean;
495
+ };
496
+ type ReturnFetchOptions$5<T extends FetchOptions$7> = T["cache"] extends true ? Collection<string, GuildBetUser> : T["userId"] extends string ? GuildBetUser : Collection<string, GuildBetUser>;
497
+ declare class GuildBetUserManager extends BaseManager<GuildBetUser> {
498
+ constructor(guild: Guild);
499
+ fetch<T extends FetchOptions$7>(options?: T): Promise<ReturnFetchOptions$5<T>>;
500
+ updateMany(...betusers: Optional<APIGuildBetUser>[]): Promise<Collection<string, GuildBetUser>>;
501
+ deleteAll(): Promise<void>;
502
+ resetAll(): Promise<GuildBetUser | Collection<string, GuildBetUser>>;
503
+ set(data: APIGuildBetUser | APIGuildBetUser[]): GuildBetUser | Collection<string, GuildBetUser>;
504
+ }
505
+
506
+ declare class GuildBetUser implements APIGuildBetUser {
507
+ #private;
508
+ /** User daily */
509
+ daily: Omit<Daily, "points">;
510
+ profile: Profile;
511
+ /** User's name */
512
+ id: string;
513
+ guild_id: string;
514
+ /** User's credit */
515
+ credit: number;
516
+ /** User's wins */
517
+ wins: number;
518
+ /** User's mvps */
519
+ mvps: number;
520
+ /** User's losses */
521
+ losses: number;
522
+ /** User's games */
523
+ games: number;
524
+ /** User's blacklist */
525
+ blacklist: boolean;
526
+ /** User's coins */
527
+ coins: number;
528
+ spins: number;
529
+ /** Creation Date */
530
+ createdAt: Date;
531
+ /** Updated Date */
532
+ updatedAt: Date;
533
+ consecutive_wins: number;
534
+ /** The given manager */
535
+ readonly manager: GuildBetUserManager;
536
+ /** The rest client */
537
+ readonly rest: REST;
538
+ readonly guild: Guild;
539
+ /**
540
+ * Bet user
541
+ * @param data The user's data
542
+ * @param manager The manager
543
+ * @param rest The rest client
544
+ */
545
+ constructor(data: APIGuildBetUser, manager: GuildBetUserManager);
546
+ /** String representation of this user */
547
+ toString(): string;
548
+ /**
549
+ * Fetches the user
550
+ * @returns New Instance of the user
551
+ */
552
+ fetch(): Promise<GuildBetUser>;
553
+ /**
554
+ * Set the user blacklist
555
+ * @param value Value to set to
556
+ * @returns GuildBetUser
557
+ */
558
+ setBlacklist(value: boolean): Promise<this>;
559
+ reset(): Promise<this>;
560
+ updateProfile(data: Optional<Profile>): Promise<this>;
561
+ /**
562
+ * Update certain property
563
+ * @param data The new data to update with
564
+ * @returns
565
+ */
566
+ update(data: Omit<Optional<APIGuildBetUser>, "daily"> & {
567
+ type?: "add" | "remove";
568
+ }): Promise<this>;
569
+ _update(data: Omit<Optional<APIGuildBetUser>, "daily">): Promise<this>;
570
+ delete(): Promise<boolean>;
571
+ toJSON(): Optional<APIGuildBetUser>;
572
+ }
573
+
574
+ declare class GuildMatch {
575
+ #private;
576
+ _id: string;
577
+ selections: MatchSelection[];
578
+ /** Match's type */
579
+ type: BaseMatchModes;
580
+ channels: APIBaseChannel[];
581
+ guild_id: string;
582
+ /** Match's status */
583
+ status: BaseMatchStatus;
584
+ /** Match's challenge */
585
+ challenge: boolean;
586
+ /** Match's players */
587
+ players: APIPlayer[];
588
+ teams: APIPlayer[][];
589
+ /** Match's winners */
590
+ winners: APIPlayer[];
591
+ /** Match's losers */
592
+ losers: APIPlayer[];
593
+ /** Match's maximum size */
594
+ maximumSize: number;
595
+ /** Match's kicked out */
596
+ kickedOut: APIPlayer[];
597
+ /** Match's confirmed */
598
+ confirmed: Confirm[];
599
+ /** Match's leaders */
600
+ leaders: APIPlayer[];
601
+ /** Match's creator id */
602
+ creatorId: string;
603
+ /** Match's room creator id */
604
+ roomCreatorId: string;
605
+ /** Creation Date */
606
+ createdAt: Date;
607
+ /** Updated Date */
608
+ updatedAt: Date;
609
+ messages: MessagesManager<GuildMatch>;
610
+ /** Match's id */
611
+ mvps: [];
612
+ manager: GuildMatchManager;
613
+ bet: GuildBet;
614
+ admin_id: string;
615
+ /** The given guild */
616
+ readonly guild: Guild;
617
+ /** The rest client */
618
+ readonly rest: REST;
619
+ readonly key: string;
620
+ /**
621
+ * GuildMatch match
622
+ * @param data The match's data
623
+ * @param guild The guild
624
+ * @param rest The rest client
625
+ */
626
+ constructor(data: APIGuildMatch, manager: GuildMatchManager);
627
+ /**
628
+ * Fetches the match
629
+ * @returns New Instance of the match
630
+ */
631
+ fetch(): Promise<GuildMatch>;
632
+ addConfirmed(type: string, id: string | string[]): Promise<GuildMatch>;
633
+ setConfirmed(set: Confirm[]): Promise<GuildMatch>;
634
+ setStatus(status: BaseMatchStatus): Promise<GuildMatch>;
635
+ setWinners(players: Optional<APIPlayer>[] | Optional<APIPlayer>): Promise<GuildMatch>;
636
+ setLoser(players: Optional<APIPlayer>[] | Optional<APIPlayer>): Promise<GuildMatch>;
637
+ setMvps(...usersId: string[]): Promise<GuildMatch>;
638
+ setRoomCreatorId(userId: string): Promise<GuildMatch>;
639
+ setRoomAdminId(userId: string): Promise<GuildMatch>;
640
+ kick(player: Optional<APIPlayer>): Promise<GuildMatch>;
641
+ update(data: Optional<APIGuildMatch>): Promise<GuildMatch>;
642
+ delete(): Promise<boolean>;
643
+ toJSON(): Optional<APIGuildMatch>;
644
+ }
645
+
646
+ type FetchOptions$6 = {
647
+ userId?: string;
648
+ cache?: boolean;
649
+ };
650
+ type ReturnFetchOptions$4<T extends FetchOptions$6> = T["cache"] extends true ? Collection<string, GuildUser> : T["userId"] extends string ? GuildUser : Collection<string, GuildUser>;
651
+ declare class GuildUserManager extends BaseManager<GuildUser> {
652
+ constructor(guild: Guild);
653
+ fetch<T extends FetchOptions$6>(options?: T): Promise<ReturnFetchOptions$4<T>>;
654
+ updateMany(...users: Optional<APIGuildUser>[]): Promise<Collection<string, GuildUser>>;
655
+ deleteAll(): Promise<void>;
656
+ resetAll(): Promise<Collection<string, GuildUser>>;
657
+ set(data: APIGuildUser | APIGuildUser[]): GuildUser | Collection<string, GuildUser>;
658
+ }
659
+
660
+ declare class GuildUser implements APIGuildUser {
661
+ #private;
662
+ /** User's id */
663
+ id: string;
664
+ guild_id: string;
665
+ /** User's daily */
666
+ daily: Omit<Daily, "credit">;
667
+ /** User's points */
668
+ points: number;
669
+ /** User's wins */
670
+ wins: number;
671
+ /** User's mvps */
672
+ mvps: number;
673
+ /** User's losses */
674
+ losses: number;
675
+ /** User's games */
676
+ games: number;
677
+ /** If user is blacklisted */
678
+ blacklist: boolean;
679
+ /** User's accessories such as double point */
680
+ accessories: Accessory[];
681
+ /** User's original channels */
682
+ original_channels: OriginalChannels;
683
+ profile: Profile;
684
+ creations: number;
685
+ /** User's items */
686
+ adverts: APIAdvert[];
687
+ spins: number;
688
+ /** Creation Date */
689
+ createdAt: Date;
690
+ /** Updated Date */
691
+ updatedAt: Date;
692
+ /** The given manager */
693
+ readonly manager: GuildUserManager;
694
+ /** The rest client */
695
+ readonly rest: REST;
696
+ /**
697
+ * Bet user
698
+ * @param data The user's data
699
+ * @param manager The manager
700
+ * @param rest The rest client
701
+ */
702
+ constructor(data: APIGuildUser, manager: GuildUserManager);
703
+ /** String representation of this user */
704
+ toString(): string;
705
+ /**
706
+ * Fetches the user
707
+ * @returns New Instance of the user
708
+ */
709
+ fetch(): Promise<GuildUser>;
710
+ /**
711
+ * Set the user blacklist
712
+ * @param value Value to set to
713
+ * @returns GuildUser
714
+ */
715
+ setBlacklist(value: boolean): Promise<this>;
716
+ reset(): Promise<this>;
717
+ updateProfile(data: Optional<Profile>): Promise<this>;
718
+ addAdvert(data: Optional<Omit<APIAdvert, "_id">>): Promise<GuildUser>;
719
+ removeAdvert(advertId?: string): Promise<GuildUser>;
720
+ /**
721
+ * Update certain property
722
+ * @param data The new data to update with
723
+ * @returns
724
+ */
725
+ update(data: Omit<Optional<APIGuildUser>, "daily"> & {
726
+ type?: "add" | "remove";
727
+ }): Promise<this>;
728
+ delete(): Promise<boolean>;
729
+ toJSON(): APIGuildUser;
730
+ }
731
+
732
+ interface RequestOptions<Payload> {
733
+ /** The request's method */
734
+ method: "patch" | "get" | "put" | "post" | "delete" | "options" | "head" | "PATCH" | "GET" | "PUT" | "POST" | "DELETE" | "OPTIONS" | "HEAD";
735
+ /** The request's url */
736
+ url: string;
737
+ /** The request payload */
738
+ payload?: Payload;
739
+ }
740
+ interface RestEvents {
741
+ request: [{
742
+ url: string;
743
+ method: string;
744
+ }];
745
+ response: [{
746
+ status: number;
747
+ body: unknown;
748
+ }];
749
+ error: [Error];
750
+ debug: [string];
751
+ ticketCreate: [GuildTicket];
752
+ ticketDelete: [GuildTicket];
753
+ ticketsDelete: [Collection<string, GuildTicket>];
754
+ matchCreate: [GuildMatch];
755
+ matchUpdate: [GuildMatch, GuildMatch];
756
+ matchDelete: [GuildMatch];
757
+ matchesDelete: [Collection<string, GuildMatch>];
758
+ betCreate: [GuildBet];
759
+ betUpdate: [GuildBet, GuildBet];
760
+ betDelete: [GuildBet];
761
+ betsDelete: [Collection<string, GuildBet>];
762
+ guildUpdate: [Guild];
763
+ guildDelete: [Guild];
764
+ guildsDelete: [Collection<string, Guild>];
765
+ userDelete: [GuildUser];
766
+ userUpdate: [GuildUser];
767
+ usersDelete: [Collection<string, GuildUser>];
768
+ betuserDelete: [GuildBetUser];
769
+ betuserUpdate: [GuildBetUser];
770
+ betusersDelete: [Collection<string, GuildBetUser>];
771
+ logEntryCreate: [LogEntry, Guild];
772
+ }
773
+
774
+ type PlayerOption = APIPlayer[] | APIPlayer;
775
+ type Structure = {
776
+ guild: Guild;
777
+ rest: REST;
778
+ };
779
+ declare class PlayerManager extends Collection<string, APIPlayer> {
780
+ base_url: string;
781
+ readonly rest: REST;
782
+ readonly guild: Guild;
783
+ constructor(structure: Structure, base_url: string);
784
+ _set(data: PlayerOption): this;
785
+ /**
786
+ * Adds a player or an array of players to the structure.
787
+ * @param player A player or an array of players to be added
788
+ * @returns returns a collection of players
789
+ */
790
+ add(player: PlayerOption): Promise<this>;
791
+ /**
792
+ * Remover a player or an array of players.
793
+ * @param player The player or an array of players to be removed
794
+ * @returns Player manager
795
+ */
796
+ remove(player: PlayerOption): Promise<this>;
797
+ }
798
+
799
+ declare class GuildBet {
800
+ #private;
801
+ /** The bet's type */
802
+ type: Omit<BaseMatchModes, "5x5" | "6x6" | "5v5" | "6v6">;
803
+ /** The bet's mode */
804
+ mode: "misto" | "emu" | "mob" | "MISTO" | "EMU" | "MOB";
805
+ /** The bet's status */
806
+ status: "off" | "created" | "on" | "shutted" | "waiting";
807
+ /** The bet's maximum size */
808
+ maximumSize: number;
809
+ /** The bet's price */
810
+ price: number;
811
+ /** The bet's players */
812
+ players: PlayerManager;
813
+ teams: APIPlayer[][];
814
+ /** The bet's channel */
815
+ channels: APIBetChannel[];
816
+ /** The bet's messages */
817
+ messages: MessagesManager<GuildBet>;
818
+ /** The id of the winner */
819
+ winners: APIPlayer[];
820
+ /** The id of the loser */
821
+ losers: APIPlayer[];
822
+ /** The bet's creator id */
823
+ creatorId: string;
824
+ /** The bet's mediator */
825
+ mediatorId: string;
826
+ /** The bet's confirmers */
827
+ confirmed: Confirm[];
828
+ /** Creation Date */
829
+ createdAt: Date;
830
+ /** Updated Date */
831
+ updatedAt: Date;
832
+ /** Bet's id */
833
+ _id: string;
834
+ queues: BetQueue[];
835
+ guild_id: string;
836
+ rest: REST;
837
+ guild: Guild;
838
+ manager: GuildBetManager;
839
+ constructor(data: Optional<APIGuildBet>, manager: GuildBetManager);
840
+ toString(): string;
841
+ fetch(): Promise<this>;
842
+ addPlayer(player: APIPlayer, queue_type?: string): Promise<this>;
843
+ removePlayer(player: APIPlayer): Promise<this>;
844
+ update(data: Optional<APIGuildBet>): Promise<this>;
845
+ delete(): Promise<boolean>;
846
+ toJSON(): Optional<APIGuildBet>;
847
+ }
848
+
849
+ declare class LogEntry {
850
+ #private;
851
+ _id: string;
852
+ guild_id: string;
853
+ user_id: string;
854
+ admin_id: string;
855
+ object_id: string;
856
+ type: LogEntryTypes;
857
+ description: string;
858
+ change: string;
859
+ before: any;
860
+ after: any;
861
+ logs_channel_id: string;
862
+ createdAt: Date;
863
+ updatedAt: Date;
864
+ manager: LogManager;
865
+ /** The given guild */
866
+ readonly guild: Guild;
867
+ /** The rest client */
868
+ readonly rest: REST;
869
+ constructor(data: APILogEntry, manager: LogManager);
870
+ fetch(): Promise<LogEntry>;
871
+ toJSON(): Record<string, unknown>;
872
+ }
873
+
874
+ type FetchOptions$5 = {
875
+ mediatorId?: string;
876
+ cache?: boolean;
877
+ };
878
+ declare class GuildMediatorManager extends BaseManager<GuildMediator> {
879
+ constructor(guild: Guild);
880
+ fetch(options?: FetchOptions$5): Promise<Collection<string, GuildMediator> | GuildMediator>;
881
+ updateMany(...mediators: Optional<APIGuildMediator>[]): Promise<Collection<string, GuildMediator>>;
882
+ create(payload: Optional<APIGuildMediator>): Promise<GuildMediator>;
883
+ deleteAll(): Promise<void>;
884
+ resetAll(): Promise<Collection<string, GuildMediator>>;
885
+ set(data: APIGuildMediator | APIGuildMediator[]): GuildMediator | Collection<string, GuildMediator>;
886
+ }
887
+
888
+ declare class GuildMediator implements APIGuildMediator {
889
+ #private;
890
+ /** User's name */
891
+ id: string;
892
+ guild_id: string;
893
+ /** User's games */
894
+ games: number;
895
+ paypal: string;
896
+ revolut: string;
897
+ mbway: string;
898
+ external_links: string[];
899
+ /** Creation Date */
900
+ createdAt: Date;
901
+ /** Updated Date */
902
+ updatedAt: Date;
903
+ /** The given manager */
904
+ readonly manager: GuildMediatorManager;
905
+ /** The rest client */
906
+ readonly rest: REST;
907
+ readonly guild: Guild;
908
+ /**
909
+ * Bet user
910
+ * @param data The user's data
911
+ * @param manager The manager
912
+ * @param rest The rest client
913
+ */
914
+ constructor(data: APIGuildMediator, manager: GuildMediatorManager);
915
+ /** String representation of this user */
916
+ toString(): string;
917
+ /**
918
+ * Fetches the user
919
+ * @returns New Instance of the user
920
+ */
921
+ fetch(): Promise<GuildMediator>;
922
+ reset(): Promise<this>;
923
+ /**
924
+ * Update certain property
925
+ * @param data The new data to update with
926
+ * @returns
927
+ */
928
+ update(data: Optional<APIGuildMediator>): Promise<this>;
929
+ setPaymentlink(type: string, link: string): Promise<this>;
930
+ delete(): Promise<boolean>;
931
+ toJSON(): Optional<APIGuildMediator>;
932
+ }
933
+
934
+ type FecthOptions$1 = {
935
+ cache?: boolean;
936
+ memberId?: string;
937
+ };
938
+ declare class VipMemberManager extends BaseManager<VipMember> {
939
+ /**
940
+ * Manage vipmembers with the given client
941
+ * @param vipmembers An array of vipmembers
942
+ * @param rest The rest client
943
+ */
944
+ constructor(guild: Guild);
945
+ create(data: Optional<APIVipMember>): Promise<VipMember>;
946
+ /**
947
+ * Fetch a member
948
+ * @param id Id of the member to fetch
949
+ * @returns VipMember
950
+ */
951
+ fetch(options?: FecthOptions$1): Promise<Collection<string, VipMember> | VipMember>;
952
+ updateMember(id: string, data: Optional<APIVipMember>): Promise<VipMember>;
953
+ set(data: APIVipMember): VipMember;
954
+ setAll(data: APIVipMember[]): Collection<string, VipMember>;
955
+ resetAll(): Promise<Collection<string, VipMember>>;
956
+ delete(id: string): Promise<Collection<string, VipMember>>;
957
+ deleteAll(): Promise<boolean>;
958
+ }
959
+
960
+ declare class VipMember implements APIVipMember {
961
+ #private;
962
+ /** member's id */
963
+ id: string;
964
+ /** member name */
965
+ name: string;
966
+ /** Members's roleId */
967
+ roleId: string;
968
+ /** Members's voiceChannelId */
969
+ voiceChannelId: string;
970
+ /** Vip's type */
971
+ type: "both" | "role" | "channel";
972
+ /** Member's Guild Id */
973
+ guild_id: string;
974
+ duration: Date;
975
+ status: "on" | "off";
976
+ /** member's daily */
977
+ createdAt: Date;
978
+ /** Updated Date */
979
+ updatedAt: Date;
980
+ /** The given manager */
981
+ readonly manager: VipMemberManager;
982
+ /** The rest client */
983
+ readonly rest: REST;
984
+ readonly guild: Guild;
985
+ /**
986
+ * Bet member
987
+ * @param data The member's data
988
+ * @param manager The manager
989
+ * @param rest The rest client
990
+ */
991
+ constructor(data: APIVipMember, manager: VipMemberManager);
992
+ /** String representation of this member */
993
+ toString(): string;
994
+ /**
995
+ * Fetches the member
996
+ * @returns New Instance of the member
997
+ */
998
+ fetch(): Promise<VipMember>;
999
+ reset(): Promise<this>;
1000
+ /**
1001
+ * Update certain property
1002
+ * @param data The new data to update with
1003
+ * @returns
1004
+ */
1005
+ update(data: Optional<APIVipMember>): Promise<this>;
1006
+ delete(): Promise<boolean>;
1007
+ toJSON(): Record<keyof APIVipMember, unknown>;
1008
+ }
1009
+
1010
+ declare class GuildTicket implements APIGuildTicket {
1011
+ #private;
1012
+ _id: string;
1013
+ guild_id: string;
1014
+ type: string;
1015
+ status: "on" | "off";
1016
+ admin_id: string;
1017
+ channel_id: string;
1018
+ closed_by_id: string;
1019
+ creator_id: string;
1020
+ customer_rating: number;
1021
+ messages: APIMessage[];
1022
+ createdAt: Date;
1023
+ updatedAt: Date;
1024
+ readonly rest: REST;
1025
+ readonly guild: Guild;
1026
+ readonly manager: GuildTicketManager;
1027
+ constructor(data: APIGuildTicket, manager: any);
1028
+ fetch(): Promise<GuildTicket>;
1029
+ setCustomerRating(rating: number): Promise<GuildTicket>;
1030
+ setAdminId(id: string): Promise<GuildTicket>;
1031
+ setChannelId(id: string): Promise<GuildTicket>;
1032
+ setClosedById(id: string): Promise<GuildTicket>;
1033
+ setStatus(status: "on" | "off"): Promise<GuildTicket>;
1034
+ addMessage(message: Optional<APIMessage>): Promise<GuildTicket>;
1035
+ }
1036
+
1037
+ interface FetchOptions$4 {
1038
+ cache?: boolean;
1039
+ gameId?: string;
1040
+ }
1041
+ declare class MinesGameManager {
1042
+ cache: Collection<string, MinesGame>;
1043
+ readonly rest: REST;
1044
+ constructor(rest: REST);
1045
+ create(data: Optional<APIMinesGame>): Promise<MinesGame>;
1046
+ delete(gameId: string): Promise<unknown>;
1047
+ fetch(options?: FetchOptions$4): Promise<MinesGame | Collection<string, MinesGame>>;
1048
+ set(data: APIMinesGame | APIMinesGame[]): MinesGame | Collection<string, MinesGame>;
1049
+ }
1050
+
1051
+ declare class MinesGame {
1052
+ #private;
1053
+ guild_id: string;
1054
+ _id: string;
1055
+ creatorId: string;
1056
+ maxMines: number;
1057
+ bombs: number;
1058
+ bombsPosition: number[];
1059
+ bet: number;
1060
+ multiplier: number;
1061
+ status: "created" | "won" | "lost" | "expired";
1062
+ createdAt: Date;
1063
+ updatedAt: Date;
1064
+ readonly rest: REST;
1065
+ readonly manager: MinesGameManager;
1066
+ constructor(data: APIMinesGame, manager: MinesGameManager);
1067
+ fetch(): Promise<this>;
1068
+ delete(): Promise<this>;
1069
+ update(data: Optional<APIMinesGame>): Promise<this>;
1070
+ }
1071
+
1072
+ declare class Tournament {
1073
+ #private;
1074
+ _id: string;
1075
+ guild_id: string;
1076
+ type: string;
1077
+ max_teams: number;
1078
+ teams: APIPlayer[][];
1079
+ message: any;
1080
+ message_id: string;
1081
+ status: "created" | "on" | "off";
1082
+ createdAt: Date;
1083
+ updatedAt: Date;
1084
+ readonly guild: Guild;
1085
+ readonly rest: REST;
1086
+ readonly manager: TournamentManager;
1087
+ readonly data: APITournament;
1088
+ constructor(data: APITournament, manager: TournamentManager);
1089
+ fetch(): Promise<this>;
1090
+ update(data: Optional<APITournament>): Promise<this>;
1091
+ toJSON(): {
1092
+ guild_id: string;
1093
+ type: string;
1094
+ max_teams: number;
1095
+ teams: APIPlayer[][];
1096
+ message: any;
1097
+ message_id: string;
1098
+ status: "on" | "off" | "created";
1099
+ createdAt: Date;
1100
+ updatedAt: Date;
1101
+ };
1102
+ }
1103
+
1104
+ interface FetchOptions$3 {
1105
+ cache?: boolean;
1106
+ tournamentId?: string;
1107
+ }
1108
+ type ReturnFetchOptions$3<T extends FetchOptions$3> = T["cache"] extends true ? Collection<string, Tournament> : T["tournamentId"] extends string ? Tournament : Collection<string, Tournament>;
1109
+ declare class TournamentManager extends BaseManager<Tournament> {
1110
+ constructor(guild: Guild);
1111
+ fetch<T extends FetchOptions$3>(options?: T): Promise<ReturnFetchOptions$3<T>>;
1112
+ set(data: APITournament | APITournament[]): Collection<string, Tournament>;
1113
+ _add(data: APITournament | APITournament[]): Collection<string, Tournament>;
1114
+ }
1115
+
1116
+ declare class Guild {
1117
+ #private;
1118
+ /** The data of this guild */
1119
+ data: APIGuild;
1120
+ /** The rest client */
1121
+ rest: REST;
1122
+ /** The guild's id */
1123
+ id: string;
1124
+ modes: GuildModes;
1125
+ /** Guild's client key */
1126
+ client_key: string;
1127
+ /** Guild Permissions */
1128
+ permissions: APIGuildPermissions;
1129
+ /** Guild Ticket */
1130
+ tickets: GuildTicketManager;
1131
+ /** Guild Ticket Configuration */
1132
+ tickets_configuration: GuildTicketConfiguration;
1133
+ /** Guild Daily Categories */
1134
+ daily_categories: DailyCategories[];
1135
+ /** Guild Scores */
1136
+ scores: GuildScores;
1137
+ /** Guild Status */
1138
+ status: GuildStatus;
1139
+ channels: APIGuildGroupedChannel[];
1140
+ roulette_settings: RouletteSettings;
1141
+ /** Guild Prefix */
1142
+ prefix: string;
1143
+ prefixes: string[];
1144
+ /** Guild Creation Date */
1145
+ createdAt: Date;
1146
+ /** Guild Updated Date */
1147
+ updatedAt: Date;
1148
+ /** Guild Matches */
1149
+ matches: GuildMatchManager;
1150
+ /** Guild Prices Used */
1151
+ prices: GuildPrices;
1152
+ permissionsManager: GuildPermissionManager;
1153
+ buffer: BufferManager;
1154
+ vipMembers: VipMemberManager;
1155
+ users: GuildUserManager;
1156
+ logEntries: LogManager;
1157
+ shop: APIGuildShop;
1158
+ betusers: GuildBetUserManager;
1159
+ bets: GuildBetManager;
1160
+ mediators: GuildMediatorManager;
1161
+ automatic_messages: APIAutomaticMessage[];
1162
+ automaticMessagesManager: AutomaticMessageManager;
1163
+ tournaments: TournamentManager;
1164
+ adverts: APIGuildAdvert[];
1165
+ codes: APICode[];
1166
+ coin_symbol: string;
1167
+ /**
1168
+ * The guild structure
1169
+ * @param data The guild's data
1170
+ * @param rest The rest client
1171
+ */
1172
+ constructor(data: APIGuild, rest: REST);
1173
+ getChannel(type: GuildChannelsType): Promise<APIGuildGroupedChannel>;
1174
+ getPermission(type: GuildPermissionsTypes): Promise<Permission>;
1175
+ createAdvert(data: Optional<APIGuildAdvert>): Promise<this>;
1176
+ removeAdvert(advertId: string): Promise<this>;
1177
+ createCode(data: Optional<APICode>): Promise<this>;
1178
+ removeCode(codeId: string): Promise<this>;
1179
+ addIdToChannel(type: GuildChannelsType, id: string | string[]): Promise<this>;
1180
+ setChannelIds(type: GuildChannelsType, ...ids: string[]): Promise<this>;
1181
+ removeIdInChannel(type: GuildChannelsType, id: string | string[]): Promise<this>;
1182
+ updateRouletteSettings(data: Optional<RouletteSettings> & {
1183
+ default?: boolean;
1184
+ }): Promise<Guild>;
1185
+ getActive(key: "matches" | "tickets" | "bets"): Collection<string, GuildTicket> | Collection<string, GuildMatch> | Collection<string, GuildBet>;
1186
+ addRoulettePrize(prize: Optional<RoulettePrize>): Promise<RoulettePrize>;
1187
+ removeRoulettePrize(id: string): Promise<Guild>;
1188
+ _start(): Promise<this>;
1189
+ fetch(): Promise<Guild>;
1190
+ reset(): Promise<Guild>;
1191
+ update(data: Optional<APIGuild> & {
1192
+ reset?: boolean;
1193
+ }): Promise<Guild>;
1194
+ setStatus(key: keyof GuildStatus, status: "on" | "off"): Promise<this>;
1195
+ togglePrice(price: number): Promise<this>;
1196
+ addPrefix(prefixes: string | string[]): Promise<this>;
1197
+ setPrefix(prefixes: string | string[]): Promise<this>;
1198
+ toggleDailyCategory(category: keyof Omit<Daily, "date">): Promise<this>;
1199
+ setScores(name: AvailableScores, amount: number): Promise<this>;
1200
+ toggleMode(mode: "1v1" | "2v2" | "3v3" | "4v4" | "5v5" | "6v6"): Promise<this>;
1201
+ }
1202
+ type AvailableScores = "win" | "loss" | "mvp" | "creator" | "coin";
1203
+
1204
+ type FetchOptions$2 = {
1205
+ guildId?: string;
1206
+ cache?: boolean;
1207
+ };
1208
+ type ReturnFetchOptions$2<T extends FetchOptions$2> = T["cache"] extends true ? Collection<string, Guild> : T["guildId"] extends string ? Guild : Collection<string, Guild>;
1209
+ type DeleteOptions$1 = {
1210
+ guildId?: string;
1211
+ };
1212
+ declare class GuildManager {
1213
+ /** A cache of guilds */
1214
+ cache: Collection<string, Guild>;
1215
+ /** The rest client */
1216
+ rest: REST;
1217
+ /**
1218
+ * Manage guilds with the given client
1219
+ * @param guilds An array of guilds
1220
+ * @param rest The rest client
1221
+ */
1222
+ constructor(rest: REST);
1223
+ /**
1224
+ * Fetch a guild
1225
+ * @param id Id of the guild to fetch
1226
+ * @returns APIGuild
1227
+ */
1228
+ fetch<T extends FetchOptions$2>(options?: T): Promise<ReturnFetchOptions$2<T>>;
1229
+ reset(guildId?: string): Promise<Guild | Collection<string, Guild>>;
1230
+ delete(options: DeleteOptions$1): Promise<Collection<string, Guild> | boolean>;
1231
+ set(data: APIGuild | APIGuild[]): Guild | Collection<string, Guild>;
1232
+ }
1233
+
1234
+ interface ClientOptions {
1235
+ clientKey: string;
1236
+ guildId: string;
1237
+ authKey: string;
1238
+ }
1239
+ /**
1240
+ * The main class of this package
1241
+ */
1242
+ declare class REST extends EventEmitter {
1243
+ /**
1244
+ * The unique key for client
1245
+ */
1246
+ clientKey: string;
1247
+ authKey: string;
1248
+ guildId: string;
1249
+ /** The guild manager */
1250
+ guilds: GuildManager;
1251
+ minesGames: MinesGameManager;
1252
+ users: Collection<string, GuildUser>;
1253
+ betusers: Collection<string, GuildBetUser>;
1254
+ matches: Collection<string, GuildMatch>;
1255
+ bets: Collection<string, GuildBet>;
1256
+ tickets: Collection<string, GuildTicket>;
1257
+ vipmembers: Collection<string, VipMember>;
1258
+ mediators: Collection<string, GuildMediator>;
1259
+ /**
1260
+ *
1261
+ * @param key The unique key for he client
1262
+ */
1263
+ constructor(options: ClientOptions);
1264
+ /** Initialize the caching sistem */
1265
+ init(): Promise<this>;
1266
+ formatUrl(url: string): string;
1267
+ /**
1268
+ * Request Data from a certain url
1269
+ * @param options
1270
+ * @returns
1271
+ */
1272
+ request<Expecting, Payload>(options: RequestOptions<Payload>): Promise<Expecting>;
1273
+ getStatus(): Promise<StatusResponse>;
1274
+ emit<K extends keyof RestEvents>(event: K, ...args: RestEvents[K]): boolean;
1275
+ on<K extends keyof RestEvents>(event: K, listener: (...args: RestEvents[K]) => void): this;
1276
+ once<K extends keyof RestEvents>(event: K, listener: (...args: RestEvents[K]) => void): this;
1277
+ }
1278
+
1279
+ declare class BaseManager<S extends object> {
1280
+ /** This url of the manager */
1281
+ base_url: string;
1282
+ /** The rest client */
1283
+ rest: REST;
1284
+ /** The guild of the manager */
1285
+ guild: Guild;
1286
+ /** Cache */
1287
+ cache: Collection<string, S>;
1288
+ constructor(guild: Guild);
1289
+ toJSON(): S[];
1290
+ }
1291
+
1292
+ declare class AutomaticMessage {
1293
+ #private;
1294
+ id: string;
1295
+ type: AutomaticMessagesTypes;
1296
+ admin_id: string;
1297
+ channel_ids: string[];
1298
+ content: string;
1299
+ embeds: any[];
1300
+ components: any[];
1301
+ attachments: any[];
1302
+ flags: number;
1303
+ interval_ms: number;
1304
+ createdAt: Date;
1305
+ updatedAt: Date;
1306
+ readonly guild: Guild;
1307
+ readonly manager: AutomaticMessageManager;
1308
+ readonly rest: REST;
1309
+ constructor(data: APIAutomaticMessage, manager: AutomaticMessageManager);
1310
+ fetch(): Promise<Collection<string, AutomaticMessage>>;
1311
+ addChannelId(...id: string[]): Promise<this>;
1312
+ removeChannelId(...id: string[]): Promise<this>;
1313
+ update(data: Optional<APIAutomaticMessage>): Promise<this>;
1314
+ delete(): Promise<Collection<string, APIAutomaticMessage>>;
1315
+ toJSON(): APIAutomaticMessage;
1316
+ }
1317
+
1318
+ declare class AutomaticMessageManager extends BaseManager<AutomaticMessage> {
1319
+ constructor(guild: Guild);
1320
+ fetch<T extends string>(messageId?: T): Promise<Collection<string, AutomaticMessage>>;
1321
+ create(data: Optional<APIAutomaticMessage>): Promise<AutomaticMessage>;
1322
+ _add(data: APIAutomaticMessage | APIAutomaticMessage[]): Collection<string, AutomaticMessage>;
1323
+ set(data: APIAutomaticMessage | APIAutomaticMessage[]): Collection<string, APIAutomaticMessage>;
1324
+ delete(messageId?: string): Promise<APIGuild | Collection<string, APIAutomaticMessage>>;
1325
+ toJSON(): AutomaticMessage[];
1326
+ }
1327
+
1328
+ interface FetchOptions$1 {
1329
+ cache?: boolean;
1330
+ betId?: string;
1331
+ }
1332
+ type ReturnFetchOptions$1<T extends FetchOptions$1> = T["cache"] extends true ? Collection<string, GuildBet> : T["betId"] extends string ? GuildBet : Collection<string, GuildBet>;
1333
+ declare class GuildBetManager extends BaseManager<GuildBet> {
1334
+ constructor(guild: Guild);
1335
+ toString(): number;
1336
+ fetch<T extends FetchOptions$1>(options?: T): Promise<ReturnFetchOptions$1<T>>;
1337
+ create(data: Optional<APIGuildBet>): Promise<GuildBet>;
1338
+ delete(betId?: string): Promise<GuildBet>;
1339
+ set(data: Optional<APIGuildBet> | Optional<APIGuildBet>[] | GuildBet): GuildBet;
1340
+ }
1341
+
1342
+ type BufferMatch = Optional<APIGuildMatch & {
1343
+ id: string;
1344
+ }>;
1345
+ type BufferTicket = Optional<APIGuildTicket & {
1346
+ id: string;
1347
+ }>;
1348
+ declare class BufferManager {
1349
+ matches: Collection<string, BufferMatch | GuildMatch>;
1350
+ tickets: Collection<string, BufferTicket>;
1351
+ guild: Guild;
1352
+ constructor(guild: Guild);
1353
+ flush(key: "matches" | "tickets"): Promise<APIGuildMatch[] & APIGuildTicket[]>;
1354
+ createMatch(id: string, data: BufferMatch): void;
1355
+ createTicket(id: string, data: BufferTicket): void;
1356
+ }
1357
+
1358
+ declare class LogManager extends BaseManager<LogEntry> {
1359
+ constructor(guild: Guild);
1360
+ fetch(): Promise<Collection<string, LogEntry>>;
1361
+ create(data: Optional<APILogEntry>): Promise<LogEntry>;
1362
+ set(data: APILogEntry | APILogEntry[]): LogEntry | Collection<string, LogEntry>;
1363
+ }
1364
+
1365
+ type FetchOptions = {
1366
+ cache: boolean;
1367
+ matchId: string;
1368
+ };
1369
+ type ReturnFetchOptions<T extends FetchOptions> = T["cache"] extends true ? Collection<string, GuildMatch> : T["matchId"] extends string ? GuildMatch : Collection<string, GuildMatch>;
1370
+ declare class GuildMatchManager extends BaseManager<GuildMatch> {
1371
+ /**
1372
+ * Manage users with the given client
1373
+ * @param users An array of users
1374
+ * @param rest The rest client
1375
+ */
1376
+ constructor(guild: Guild);
1377
+ /**
1378
+ * Fetch a match
1379
+ * @param id Id of the match to fetch
1380
+ * @returns APIBetUser
1381
+ */
1382
+ fetch<T extends FetchOptions>(options?: T): Promise<ReturnFetchOptions<T>>;
1383
+ fetchAll(): Promise<Collection<string, GuildMatch>>;
1384
+ set(data: APIGuildMatch | APIGuildMatch[] | GuildMatch): GuildMatch | Collection<string, GuildMatch>;
1385
+ create(payload: Optional<APIGuildMatch>): Promise<GuildMatch>;
1386
+ delete(id?: string): Promise<GuildMatch | Collection<string, GuildMatch>>;
1387
+ }
1388
+
1389
+ type T<e> = e & {
1390
+ rest: REST;
1391
+ guild: Guild;
1392
+ messages: MessagesManager<e>;
1393
+ };
1394
+ declare class MessagesManager<Structure> {
1395
+ cache: Collection<string, APIMessage>;
1396
+ readonly base_url: string;
1397
+ readonly rest: REST;
1398
+ readonly guild: Guild;
1399
+ constructor(structure: T<Structure>, base_url: string);
1400
+ fetch(): Promise<APIMessage>;
1401
+ create(data: Optional<APIMessage> | Optional<APIMessage>[]): Promise<Collection<string, APIMessage>>;
1402
+ set(data: APIMessage | APIMessage[]): Collection<string, APIMessage>;
1403
+ }
1404
+
1405
+ declare class GuildPermissionManager extends BaseManager<APIGuildPermissions> {
1406
+ constructor(guild: Guild);
1407
+ addRole(type: GuildPermissionsTypes, ...ids: string[]): Promise<APIGuild>;
1408
+ removeRole(type: GuildPermissionsTypes, ...ids: string[]): Promise<APIGuild>;
1409
+ }
1410
+
1411
+ type FecthOptions = {
1412
+ ticketId?: string;
1413
+ cache?: boolean;
1414
+ };
1415
+ type DeleteOptions = {
1416
+ ticketId?: string;
1417
+ };
1418
+ declare class GuildTicketManager {
1419
+ cache: Collection<string, GuildTicket>;
1420
+ readonly guild: Guild;
1421
+ readonly rest: REST;
1422
+ constructor(guild: Guild);
1423
+ createTicketCategory(data: Optional<APITicketCategory>): Promise<Guild>;
1424
+ deleteTicketCategory(data: Optional<APITicketCategory>): Promise<Guild>;
1425
+ fetch(options?: FecthOptions): Promise<GuildTicket | Collection<string, GuildTicket>>;
1426
+ create(data: Optional<APIGuildTicket>): Promise<GuildTicket>;
1427
+ delete(options?: DeleteOptions): Promise<boolean>;
1428
+ set(data: APIGuildTicket | APIGuildTicket[]): GuildTicket | Collection<string, GuildTicket>;
1429
+ }
1430
+
1431
+ export { type GuildPrices as $, AutomaticMessageManager as A, type BufferMatch as B, type OriginalChannels as C, type Accessory as D, type Daily as E, type FetchOptions$1 as F, GuildBetManager as G, type Banner as H, type Confirm as I, type Optional as J, MATCHTYPES as K, LogManager as L, MessagesManager as M, MATCHSTATUS as N, type OriginalChannel as O, type ProfileCard as P, BETSTATUS as Q, REST as R, STATES as S, type StatusResponse as T, type APIAutomaticMessage as U, VipMemberManager as V, type GuildTicketConfiguration as W, type GuildStatus as X, GuildStatusEnum as Y, type GuildModes as Z, type DailyCategories as _, GuildBetUserManager as a, type GuildScores as a0, type RoulettePrize as a1, type RouletteSettings as a2, AutomaticMessagesTypes as a3, GuildChannelsType as a4, type APIGuild as a5, type BetQueue as a6, BetChannelTypes as a7, type APIGuildBet as a8, type APIGuildBetUser as a9, type APIGuildGroupedChannel as aa, type MatchSelection as ab, type APIGuildMatch as ac, GuildMatchChannelsType as ad, GuildMatchMessagesType as ae, type Profile as af, type APIGuildUser as ag, type RequestOptions as ah, type RestEvents as ai, type PlayerOption as aj, type Structure as ak, PlayerManager as al, Tournament as am, TournamentManager as an, AutomaticMessage as ao, type BufferTicket as b, BufferManager as c, GuildManager as d, GuildMatchManager as e, GuildMediatorManager as f, MinesGameManager as g, GuildPermissionManager as h, GuildTicketManager as i, GuildUserManager as j, BaseManager as k, GuildBet as l, GuildBetUser as m, Guild as n, LogEntry as o, GuildMatch as p, GuildMediator as q, GuildUser as r, VipMember as s, GuildTicket as t, MinesGame as u, type APITicketCategory as v, type LogMessage as w, type BaseMatchModes as x, type BaseMatchStatus as y, type Logs as z };