@duque.edits/sdk 1.3.0 → 1.3.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.
- package/README.md +1 -1
- package/dist/{index-0BFrnm6S.d.ts → index-xkfp9hFj.d.ts} +27 -22
- package/dist/index.d.ts +1 -1
- package/dist/index.js +0 -1
- package/dist/managers/automaticmessage/AutomaticMessageManager.d.ts +1 -1
- package/dist/managers/automaticmessage/AutomaticMessageManager.js +0 -1
- package/dist/managers/base.d.ts +1 -1
- package/dist/managers/base.js +0 -1
- package/dist/managers/bet/GuildBetManager.d.ts +1 -1
- package/dist/managers/bet/GuildBetManager.js +0 -1
- package/dist/managers/betuser/GuildBetUserManager.d.ts +1 -1
- package/dist/managers/betuser/GuildBetUserManager.js +0 -1
- package/dist/managers/buffer/BufferManager.d.ts +1 -1
- package/dist/managers/buffer/BufferManager.js +0 -1
- package/dist/managers/guild/GuildManager.d.ts +1 -1
- package/dist/managers/guild/GuildManager.js +0 -1
- package/dist/managers/index.d.ts +1 -1
- package/dist/managers/index.js +0 -1
- package/dist/managers/logs/LogManager.d.ts +1 -1
- package/dist/managers/logs/LogManager.js +0 -1
- package/dist/managers/match/GuildMatchManager.d.ts +1 -1
- package/dist/managers/match/GuildMatchManager.js +0 -1
- package/dist/managers/mediator/GuildMediatorManager.d.ts +1 -1
- package/dist/managers/mediator/GuildMediatorManager.js +0 -1
- package/dist/managers/message/MessagesManager.d.ts +1 -1
- package/dist/managers/message/MessagesManager.js +0 -1
- package/dist/managers/minesgame/MinesGameManager.d.ts +1 -1
- package/dist/managers/minesgame/MinesGameManager.js +0 -1
- package/dist/managers/permission/GuildPermissionManager.d.ts +1 -1
- package/dist/managers/permission/GuildPermissionManager.js +0 -1
- package/dist/managers/player/PlayerManager.d.ts +1 -1
- package/dist/managers/player/PlayerManager.js +0 -1
- package/dist/managers/product/ProductManager.d.ts +1 -1
- package/dist/managers/product/ProductManager.js +0 -1
- package/dist/managers/shop/ShopManager.d.ts +1 -1
- package/dist/managers/shop/ShopManager.js +0 -1
- package/dist/managers/ticket/TicketManager.d.ts +1 -1
- package/dist/managers/ticket/TicketManager.js +0 -1
- package/dist/managers/ticketpanel/TicketPanelManager.d.ts +1 -1
- package/dist/managers/ticketpanel/TicketPanelManager.js +0 -1
- package/dist/managers/tournament/TournamentManager.d.ts +1 -1
- package/dist/managers/tournament/TournamentManager.js +0 -1
- package/dist/managers/user/GuildUserManager.d.ts +1 -1
- package/dist/managers/user/GuildUserManager.js +5 -6
- package/dist/managers/vipmember/VipMemberManager.d.ts +1 -1
- package/dist/managers/vipmember/VipMemberManager.js +0 -1
- package/dist/rest/APIEndpoints.js +0 -1
- package/dist/rest/REST.d.ts +1 -1
- package/dist/rest/REST.js +0 -1
- package/dist/rest/Routes.d.ts +1 -1
- package/dist/rest/Routes.js +1 -2
- package/dist/rest/index.d.ts +1 -1
- package/dist/rest/index.js +0 -1
- package/dist/structures/Collection.js +0 -1
- package/dist/structures/automaticmessage/AutomaticMessage.d.ts +1 -1
- package/dist/structures/automaticmessage/AutomaticMessage.js +0 -1
- package/dist/structures/bet/GuildBet.d.ts +1 -1
- package/dist/structures/bet/GuildBet.js +0 -1
- package/dist/structures/betuser/GuildBetUser.d.ts +1 -1
- package/dist/structures/betuser/GuildBetUser.js +0 -1
- package/dist/structures/guild/Guild.d.ts +1 -1
- package/dist/structures/guild/Guild.js +2 -2
- package/dist/structures/index.d.ts +1 -1
- package/dist/structures/index.js +0 -1
- package/dist/structures/logentry/LogEntry.d.ts +1 -1
- package/dist/structures/logentry/LogEntry.js +0 -1
- package/dist/structures/match/GuildMatch.d.ts +1 -1
- package/dist/structures/match/GuildMatch.js +0 -1
- package/dist/structures/mediator/GuildMediator.d.ts +1 -1
- package/dist/structures/mediator/GuildMediator.js +0 -1
- package/dist/structures/minesgame/MinesGame.d.ts +1 -1
- package/dist/structures/minesgame/MinesGame.js +0 -1
- package/dist/structures/product/Product.d.ts +1 -1
- package/dist/structures/product/Product.js +4 -1
- package/dist/structures/shop/Shop.d.ts +1 -1
- package/dist/structures/shop/Shop.js +0 -1
- package/dist/structures/ticket/Ticket.d.ts +1 -1
- package/dist/structures/ticket/Ticket.js +9 -1
- package/dist/structures/ticketpanel/TicketPanel.d.ts +1 -1
- package/dist/structures/ticketpanel/TicketPanel.js +0 -2
- package/dist/structures/tournament/Tournament.d.ts +1 -1
- package/dist/structures/tournament/Tournament.js +0 -1
- package/dist/structures/user/GuildUser.d.ts +1 -1
- package/dist/structures/user/GuildUser.js +132 -38
- package/dist/structures/vipmember/VipMember.d.ts +1 -1
- package/dist/structures/vipmember/VipMember.js +0 -1
- package/dist/types/RestTypes.d.ts +1 -1
- package/dist/types/RestTypes.js +0 -1
- package/dist/types/api/APIAdvert.js +0 -1
- package/dist/types/api/APIAutomaticMessage.d.ts +1 -1
- package/dist/types/api/APIAutomaticMessage.js +0 -1
- package/dist/types/api/APIBaseChannel.js +0 -1
- package/dist/types/api/APIBetChannel.js +0 -1
- package/dist/types/api/APICode.js +0 -1
- package/dist/types/api/APIGiveaway.js +0 -1
- package/dist/types/api/APIGuild.d.ts +1 -1
- package/dist/types/api/APIGuild.js +0 -1
- package/dist/types/api/APIGuildAdvert.js +0 -1
- package/dist/types/api/APIGuildBet.d.ts +1 -1
- package/dist/types/api/APIGuildBet.js +0 -1
- package/dist/types/api/APIGuildBetUser.d.ts +1 -1
- package/dist/types/api/APIGuildBetUser.js +0 -1
- package/dist/types/api/APIGuildChannel.js +0 -1
- package/dist/types/api/APIGuildGroupedChannel.d.ts +1 -1
- package/dist/types/api/APIGuildGroupedChannel.js +0 -1
- package/dist/types/api/APIGuildMatch.d.ts +1 -1
- package/dist/types/api/APIGuildMatch.js +0 -1
- package/dist/types/api/APIGuildMediator.js +0 -1
- package/dist/types/api/APIGuildPermissions.js +0 -1
- package/dist/types/api/APIGuildShop.js +0 -1
- package/dist/types/api/APIGuildTicket.js +0 -1
- package/dist/types/api/APIGuildUser.d.ts +1 -1
- package/dist/types/api/APIGuildUser.js +0 -1
- package/dist/types/api/APILogEntry.js +0 -1
- package/dist/types/api/APIMessage.js +0 -1
- package/dist/types/api/APIMinesGame.js +0 -1
- package/dist/types/api/APIPlayer.js +0 -1
- package/dist/types/api/APIProduct.d.ts +1 -0
- package/dist/types/api/APIProduct.js +0 -1
- package/dist/types/api/APITicketPanel.d.ts +1 -1
- package/dist/types/api/APITicketPanel.js +0 -1
- package/dist/types/api/APITournament.js +0 -1
- package/dist/types/api/APIVipMember.js +0 -1
- package/dist/types/api/index.d.ts +1 -1
- package/dist/types/api/index.js +8 -10
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.js +0 -1
- package/dist/utils/Assertion.js +0 -1
- package/dist/utils/clamp0.d.ts +3 -0
- package/dist/utils/clamp0.js +31 -0
- package/dist/utils/getRandomNumber.js +0 -1
- package/dist/utils/isSameDayUTC.js +0 -1
- package/dist/utils/randomKeyGenerator.js +0 -1
- package/package.json +1 -1
- package/dist/index.js.map +0 -1
- package/dist/managers/automaticmessage/AutomaticMessageManager.js.map +0 -1
- package/dist/managers/base.js.map +0 -1
- package/dist/managers/bet/GuildBetManager.js.map +0 -1
- package/dist/managers/betuser/GuildBetUserManager.js.map +0 -1
- package/dist/managers/buffer/BufferManager.js.map +0 -1
- package/dist/managers/guild/GuildManager.js.map +0 -1
- package/dist/managers/index.js.map +0 -1
- package/dist/managers/logs/LogManager.js.map +0 -1
- package/dist/managers/match/GuildMatchManager.js.map +0 -1
- package/dist/managers/mediator/GuildMediatorManager.js.map +0 -1
- package/dist/managers/message/MessagesManager.js.map +0 -1
- package/dist/managers/minesgame/MinesGameManager.js.map +0 -1
- package/dist/managers/permission/GuildPermissionManager.js.map +0 -1
- package/dist/managers/player/PlayerManager.js.map +0 -1
- package/dist/managers/product/ProductManager.js.map +0 -1
- package/dist/managers/shop/ShopManager.js.map +0 -1
- package/dist/managers/ticket/TicketManager.js.map +0 -1
- package/dist/managers/ticketpanel/TicketPanelManager.js.map +0 -1
- package/dist/managers/tournament/TournamentManager.js.map +0 -1
- package/dist/managers/user/GuildUserManager.js.map +0 -1
- package/dist/managers/vipmember/VipMemberManager.js.map +0 -1
- package/dist/rest/APIEndpoints.js.map +0 -1
- package/dist/rest/REST.js.map +0 -1
- package/dist/rest/Routes.js.map +0 -1
- package/dist/rest/index.js.map +0 -1
- package/dist/structures/Collection.js.map +0 -1
- package/dist/structures/automaticmessage/AutomaticMessage.js.map +0 -1
- package/dist/structures/bet/GuildBet.js.map +0 -1
- package/dist/structures/betuser/GuildBetUser.js.map +0 -1
- package/dist/structures/guild/Guild.js.map +0 -1
- package/dist/structures/index.js.map +0 -1
- package/dist/structures/logentry/LogEntry.js.map +0 -1
- package/dist/structures/match/GuildMatch.js.map +0 -1
- package/dist/structures/mediator/GuildMediator.js.map +0 -1
- package/dist/structures/minesgame/MinesGame.js.map +0 -1
- package/dist/structures/product/Product.js.map +0 -1
- package/dist/structures/shop/Shop.js.map +0 -1
- package/dist/structures/ticket/Ticket.js.map +0 -1
- package/dist/structures/ticketpanel/TicketPanel.js.map +0 -1
- package/dist/structures/tournament/Tournament.js.map +0 -1
- package/dist/structures/user/GuildUser.js.map +0 -1
- package/dist/structures/vipmember/VipMember.js.map +0 -1
- package/dist/types/RestTypes.js.map +0 -1
- package/dist/types/api/APIAdvert.js.map +0 -1
- package/dist/types/api/APIAutomaticMessage.js.map +0 -1
- package/dist/types/api/APIBaseChannel.js.map +0 -1
- package/dist/types/api/APIBetChannel.js.map +0 -1
- package/dist/types/api/APICode.js.map +0 -1
- package/dist/types/api/APIGiveaway.js.map +0 -1
- package/dist/types/api/APIGuild.js.map +0 -1
- package/dist/types/api/APIGuildAdvert.js.map +0 -1
- package/dist/types/api/APIGuildBet.js.map +0 -1
- package/dist/types/api/APIGuildBetUser.js.map +0 -1
- package/dist/types/api/APIGuildChannel.js.map +0 -1
- package/dist/types/api/APIGuildGroupedChannel.js.map +0 -1
- package/dist/types/api/APIGuildMatch.js.map +0 -1
- package/dist/types/api/APIGuildMediator.js.map +0 -1
- package/dist/types/api/APIGuildPermissions.js.map +0 -1
- package/dist/types/api/APIGuildShop.js.map +0 -1
- package/dist/types/api/APIGuildTicket.js.map +0 -1
- package/dist/types/api/APIGuildUser.js.map +0 -1
- package/dist/types/api/APILogEntry.js.map +0 -1
- package/dist/types/api/APIMessage.js.map +0 -1
- package/dist/types/api/APIMinesGame.js.map +0 -1
- package/dist/types/api/APIPlayer.js.map +0 -1
- package/dist/types/api/APIProduct.js.map +0 -1
- package/dist/types/api/APITicketPanel.js.map +0 -1
- package/dist/types/api/APITournament.js.map +0 -1
- package/dist/types/api/APIVipMember.js.map +0 -1
- package/dist/types/api/index.js.map +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/utils/Assertion.js.map +0 -1
- package/dist/utils/getRandomNumber.js.map +0 -1
- package/dist/utils/isSameDayUTC.js.map +0 -1
- package/dist/utils/randomKeyGenerator.js.map +0 -1
package/dist/rest/Routes.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/rest/Routes.ts"],"sourcesContent":["import { APIGuildTicket } from \"../types\";\r\nexport const Routes = {\r\n //base: \"http://localhost:80/api/v1\",\r\n base: \"https://duqueapi.shardweb.app/api/v1\",\r\n\r\n field: (field: string) => `/${field}`,\r\n fields: (...fields: string[]) => `${fields.join(\"/\")}`,\r\n\r\n guilds: {\r\n create: () => `/guilds`,\r\n\r\n get: (guildId: string) => `/guilds/${guildId}`,\r\n getAll: () => `/guilds`,\r\n delete: (guildId: string) => `/guilds/${guildId}`,\r\n deleteAll: () => `/guilds`,\r\n resource: (guildId: string, ...resources: string[]) => `/guilds/${guildId}/manage/${resources.join(\"/\")}`,\r\n resources: (guildId: string, ...resources: string[]) => `/guilds/${guildId}/manage/${resources.join(\"/\")}`,\r\n\r\n users: {\r\n create: (guildId: string) => `/guilds/${guildId}/users`,\r\n update: (guildId: string, userId: string) => `/guilds/${guildId}/users/${userId}`,\r\n\r\n getAll: (guildId: string) => `/guilds/${guildId}/users`,\r\n get: (guildId: string, userId: string) => `/guilds/${guildId}/users/${userId}`,\r\n\r\n delete: (guildId: string, userId: string) => `/guilds/${guildId}/users/${userId}`,\r\n deleteAll: (guildId: string) => `/guilds/${guildId}/users`,\r\n\r\n resource: (guildId: string, userId: string, ...resource: string[]) =>\r\n `/guilds/${guildId}/users/${userId}/${resource.join(\"/\")}`,\r\n },\r\n betusers: {\r\n getAll: (guildId: string) => `/guilds/${guildId}/betusers`,\r\n get: (guildId: string, userId: string) => `/guilds/${guildId}/betusers/${userId}`,\r\n\r\n create: (guildId: string) => `/guilds/${guildId}/betusers`,\r\n update: (guildId: string, userId: string) => `/guilds/${guildId}/betusers/${userId}`,\r\n\r\n delete: (guildId: string, userId: string) => `/guilds/${guildId}/betusers/${userId}`,\r\n\r\n deleteAll: (guildId: string) => `/guilds/${guildId}/betusers`,\r\n resource: (guildId: string, userId: string, resourceName: string) =>\r\n `/guilds/${guildId}/betusers/${userId}/${resourceName}`,\r\n },\r\n matches: {\r\n getAll: (guildId: string) => `/guilds/${guildId}/matches`,\r\n get: (guildId: string, matchId: string) => `/guilds/${guildId}/matches/${matchId}`,\r\n\r\n create: (guildId: string) => `/guilds/${guildId}/matches`,\r\n update: (guildId: string, matchId: string) => `/guilds/${guildId}/matches/${matchId}`,\r\n\r\n delete: (guildId: string, matchId: string) => `/guilds/${guildId}/matches/${matchId}`,\r\n deleteAll: (guildId: string) => `/guilds/${guildId}/matches`,\r\n resource: (guildId: string, matchId: string, ...resources: string[]) =>\r\n `/guilds/${guildId}/matches/${matchId}/${resources.join(\"/\")}`,\r\n },\r\n bets: {\r\n getAll: (guildId: string) => `/guilds/${guildId}/bets`,\r\n get: (guildId: string, betId: string) => `/guilds/${guildId}/bets/${betId}`,\r\n create: (guildId: string) => `/guilds/${guildId}/bets`,\r\n update: (guildId: string, betId: string) => `/guilds/${guildId}/bets/${betId}`,\r\n delete: (guildId: string, betId: string) => `/guilds/${guildId}/bets/${betId}`,\r\n deleteAll: (guildId: string) => `/guilds/${guildId}/bets`,\r\n resource: (guildId: string, betId: string, ...resources: string[]) =>\r\n `/guilds/${guildId}/bets/${betId}/${resources.join(\"/\")}`,\r\n },\r\n tickets: {\r\n getAll: (guildId: string) => `/guilds/${guildId}/tickets`,\r\n get: (guildId: string, ticketId: string) => `/guilds/${guildId}/tickets/${ticketId}`,\r\n create: (guildId: string) => `/guilds/${guildId}/tickets`,\r\n update: (guildId: string, ticketId: string) => `/guilds/${guildId}/tickets/${ticketId}`,\r\n delete: (guildId: string, ticketId: string) => `/guilds/${guildId}/tickets/${ticketId}`,\r\n deleteAll: (guildId: string) => `/guilds/${guildId}/tickets`,\r\n resource: (guildId: string, ticketId: string, ...resources: (keyof APIGuildTicket)[]) =>\r\n `/guilds/${guildId}/tickets/${ticketId}/${resources.join(\"/\")}`,\r\n },\r\n mediators: {\r\n getAll: (guildId: string) => `/guilds/${guildId}/mediators`,\r\n get: (guildId: string, mediatorId: string) => `/guilds/${guildId}/mediators/${mediatorId}`,\r\n create: (guildId: string) => `/guilds/${guildId}/mediators`,\r\n update: (guildId: string, mediatorId: string) => `/guilds/${guildId}/mediators/${mediatorId}`,\r\n delete: (guildId: string, mediatorId: string) => `/guilds/${guildId}/mediators/${mediatorId}`,\r\n deleteAll: (guildId: string) => `/guilds/${guildId}/mediators`,\r\n resource: (guildId: string, mediatorId: string, ...resources: string[]) =>\r\n `/guilds/${guildId}/mediators/${mediatorId}/${resources.join(\"/\")}`,\r\n },\r\n shop: {\r\n getAll: (guildId: string) => `/guilds/${guildId}/shops`,\r\n get: (guildId: string, shopId: string) => `/guilds/${guildId}/shops/${shopId}`,\r\n\r\n update: (guildId: string, shopId: string) => `/guilds/${guildId}/shops/${shopId}/`,\r\n delete: (guildId: string, shopId: string) => `/guilds/${guildId}/shops/${shopId}/`,\r\n resource: (guildId: string, shopId: string, ...resources: string[]) =>\r\n `/guilds/${guildId}/shops/${resources.join(\"/\")}`,\r\n },\r\n },\r\n\r\n vipmembers: {\r\n get: (guildId: string, memberId: string) => `/guilds/${guildId}/vipmembers/${memberId}`,\r\n getAll: (guildId: string) => `/guilds/${guildId}/vipmembers`,\r\n deleteAll: (guildId: string) => `/guilds/${guildId}/vipmembers`,\r\n create: (guildId: string) => `/guilds/${guildId}/vipmembers`,\r\n\r\n update: (guildId: string, memberId: string) => `/guilds/${guildId}/vipmembers/${memberId}`,\r\n delete: (guildId: string, memberId: string) => `/guilds/${guildId}/vipmembers/${memberId}`,\r\n },\r\n\r\n giveaways: {\r\n get: (giveawayId: string) => `/giveaways/${giveawayId}`,\r\n getAll: () => `/giveaways`,\r\n deleteAll: () => `/giveaways`,\r\n create: () => `/giveaways`,\r\n\r\n update: (giveawayId: string) => `/giveaways/${giveawayId}`,\r\n delete: (giveawayId: string) => `/giveaways/${giveawayId}`,\r\n },\r\n} as const;\r\n"],"mappings":"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","names":[]}
|
package/dist/rest/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/rest/index.ts"],"sourcesContent":["export * from \"./APIEndpoints\";\r\nexport * from \"./Routes\";\r\nexport * from \"./REST\";"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,yBAAc,2BAAd;AACA,yBAAc,qBADd;AAEA,yBAAc,mBAFd;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/structures/Collection.ts"],"sourcesContent":["export class Collection<K, V> extends Map<K, V> {\r\n key: string;\r\n\r\n constructor(key?: string, data?: Iterable<V>) {\r\n super();\r\n this.key = key;\r\n\r\n if (data && Array.isArray(data) && key) {\r\n if (data.length > 0) return;\r\n for (let v of data) this.set(key as K, v);\r\n }\r\n }\r\n at(index: number) {\r\n if (index < 0 || index >= this.size) {\r\n return undefined;\r\n }\r\n let i = 0;\r\n for (let [, value] of this) {\r\n if (i === index) {\r\n return value;\r\n }\r\n i++;\r\n }\r\n }\r\n has(key: K) {\r\n return this.get(key) !== undefined ? true : false;\r\n }\r\n\r\n get first() {\r\n return this.values().next().value;\r\n }\r\n get last() {\r\n return [...this.values()].at(-1);\r\n }\r\n get length() {\r\n return this.toArray().length;\r\n }\r\n find(predicate: (value: V, key: K, Collection: this) => any) {\r\n for (const [key, value] of this) {\r\n if (predicate(value, key, this)) return value;\r\n }\r\n return undefined;\r\n }\r\n filter(predicate: (value: V, key: K, Collection: this) => any) {\r\n const results = new Collection<K, V>(this.key, []);\r\n for (const [key, value] of this) {\r\n if (predicate(value, key, this)) results.set(key, value);\r\n }\r\n return results;\r\n }\r\n some(predicate: (value: V, key: K, Collection: this) => any) {\r\n const results = new Collection(this.key, []);\r\n for (const [key, value] of this) {\r\n if (predicate(value, key, this)) results.set(key, value);\r\n }\r\n return results;\r\n }\r\n map(callback: (value: V, key: K, Collection: this) => any) {\r\n return [...this].map(([key, val]) => callback(val, key, this));\r\n }\r\n toArray() {\r\n return [...this.values()];\r\n }\r\n toJSON() {\r\n let obj: Record<string, unknown> = {};\r\n for (let [k, v] of this.entries()) {\r\n obj[`${k}`] = v;\r\n }\r\n return obj;\r\n }\r\n sort(compareFunction: (a: V, b: V, Collection: this) => any) {\r\n const sortedEntries = [...this.entries()].sort((ab, ba) => {\r\n return compareFunction(ab[1], ba[1], this);\r\n });\r\n const coll = new Collection<K, V>();\r\n for (let [k, v] of sortedEntries) coll.set(k, v);\r\n return coll;\r\n }\r\n toString() {\r\n return `${this.size}`;\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,mBAAyB,IAAU;AAAA,EAG9C,YAAY,KAAc,MAAoB;AAC5C,UAAM;AAHR;AAIE,SAAK,MAAM;AAEX,QAAI,QAAQ,MAAM,QAAQ,IAAI,KAAK,KAAK;AACtC,UAAI,KAAK,SAAS,EAAG;AACrB,eAAS,KAAK,KAAM,MAAK,IAAI,KAAU,CAAC;AAAA,IAC1C;AAAA,EACF;AAAA,EACA,GAAG,OAAe;AAChB,QAAI,QAAQ,KAAK,SAAS,KAAK,MAAM;AACnC,aAAO;AAAA,IACT;AACA,QAAI,IAAI;AACR,aAAS,CAAC,EAAE,KAAK,KAAK,MAAM;AAC1B,UAAI,MAAM,OAAO;AACf,eAAO;AAAA,MACT;AACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,IAAI,KAAQ;AACV,WAAO,KAAK,IAAI,GAAG,MAAM,SAAY,OAAO;AAAA,EAC9C;AAAA,EAEA,IAAI,QAAQ;AACV,WAAO,KAAK,OAAO,EAAE,KAAK,EAAE;AAAA,EAC9B;AAAA,EACA,IAAI,OAAO;AACT,WAAO,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE,GAAG,EAAE;AAAA,EACjC;AAAA,EACA,IAAI,SAAS;AACX,WAAO,KAAK,QAAQ,EAAE;AAAA,EACxB;AAAA,EACA,KAAK,WAAwD;AAC3D,eAAW,CAAC,KAAK,KAAK,KAAK,MAAM;AAC/B,UAAI,UAAU,OAAO,KAAK,IAAI,EAAG,QAAO;AAAA,IAC1C;AACA,WAAO;AAAA,EACT;AAAA,EACA,OAAO,WAAwD;AAC7D,UAAM,UAAU,IAAI,WAAiB,KAAK,KAAK,CAAC,CAAC;AACjD,eAAW,CAAC,KAAK,KAAK,KAAK,MAAM;AAC/B,UAAI,UAAU,OAAO,KAAK,IAAI,EAAG,SAAQ,IAAI,KAAK,KAAK;AAAA,IACzD;AACA,WAAO;AAAA,EACT;AAAA,EACA,KAAK,WAAwD;AAC3D,UAAM,UAAU,IAAI,WAAW,KAAK,KAAK,CAAC,CAAC;AAC3C,eAAW,CAAC,KAAK,KAAK,KAAK,MAAM;AAC/B,UAAI,UAAU,OAAO,KAAK,IAAI,EAAG,SAAQ,IAAI,KAAK,KAAK;AAAA,IACzD;AACA,WAAO;AAAA,EACT;AAAA,EACA,IAAI,UAAuD;AACzD,WAAO,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM,SAAS,KAAK,KAAK,IAAI,CAAC;AAAA,EAC/D;AAAA,EACA,UAAU;AACR,WAAO,CAAC,GAAG,KAAK,OAAO,CAAC;AAAA,EAC1B;AAAA,EACA,SAAS;AACP,QAAI,MAA+B,CAAC;AACpC,aAAS,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,GAAG;AACjC,UAAI,GAAG,CAAC,EAAE,IAAI;AAAA,IAChB;AACA,WAAO;AAAA,EACT;AAAA,EACA,KAAK,iBAAwD;AAC3D,UAAM,gBAAgB,CAAC,GAAG,KAAK,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,OAAO;AACzD,aAAO,gBAAgB,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI;AAAA,IAC3C,CAAC;AACD,UAAM,OAAO,IAAI,WAAiB;AAClC,aAAS,CAAC,GAAG,CAAC,KAAK,cAAe,MAAK,IAAI,GAAG,CAAC;AAC/C,WAAO;AAAA,EACT;AAAA,EACA,WAAW;AACT,WAAO,GAAG,KAAK,IAAI;AAAA,EACrB;AACF;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/structures/automaticmessage/AutomaticMessage.ts"],"sourcesContent":["import { APIComponentInActionRow, APIEmbed } from \"discord-api-types/v10\";\r\nimport { AutomaticMessageManager } from \"../../managers\";\r\nimport { REST, Routes } from \"../../rest\";\r\nimport { APIAutomaticMessage, AutomaticMessagesTypes, Optional } from \"../../types\";\r\nimport { Guild } from \"../guild/Guild\";\r\n\r\nexport class AutomaticMessage {\r\n id: string;\r\n type: AutomaticMessagesTypes;\r\n name: string;\r\n\r\n admin_id: string;\r\n channel_ids: string[];\r\n\r\n message: {\r\n content: string;\r\n embeds: APIEmbed[];\r\n components: any[];\r\n attachments: any[];\r\n flags: number;\r\n };\r\n guild_id: string;\r\n interval_ms: number;\r\n createdAt: Date;\r\n updatedAt: Date;\r\n _id: string;\r\n\r\n readonly guild: Guild;\r\n readonly manager: AutomaticMessageManager;\r\n readonly rest: REST;\r\n\r\n constructor(data: APIAutomaticMessage, manager: AutomaticMessageManager) {\r\n this.manager = manager;\r\n this.guild = manager.guild;\r\n this.rest = manager.rest;\r\n\r\n this.id = data?.id;\r\n this.type = data?.type;\r\n this._id = data?._id;\r\n\r\n this.name = data?.name;\r\n this.admin_id = data?.admin_id;\r\n this.channel_ids = data?.channel_ids;\r\n this.message = data?.message;\r\n this.interval_ms = data?.interval_ms;\r\n this.guild_id = data?.guild_id;\r\n\r\n this.createdAt = data?.createdAt ? new Date(data?.createdAt) : new Date();\r\n this.updatedAt = data?.updatedAt ? new Date(data?.updatedAt) : new Date();\r\n }\r\n\r\n async fetch() {\r\n const url = Routes.fields(\"/guilds\", this.guild.id, \"messages\", this._id);\r\n const response = await this.rest.request<APIAutomaticMessage, {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n return this.#update(response);\r\n }\r\n\r\n async update(data: Optional<APIAutomaticMessage>) {\r\n const url = Routes.fields(\"/guilds\", this.guild.id, \"messages\", this._id);\r\n const response = await this.rest.request<AutomaticMessage, {}>({\r\n method: \"patch\",\r\n url: url,\r\n payload: data,\r\n });\r\n return this.#update(response);\r\n }\r\n async delete() {\r\n const url = Routes.fields(\"/guilds\", this.guild.id, \"messages\", this._id);\r\n await this.rest.request<AutomaticMessage, {}>({\r\n method: \"delete\",\r\n url: url,\r\n });\r\n\r\n this.manager.cache.delete(this._id);\r\n return true;\r\n }\r\n async setMessage(data: { embeds: APIEmbed[]; components: any; attachments: any[]; flags: number; content: string }) {\r\n return this.update({ message: data });\r\n }\r\n async addChannelId(...id: string[]) {\r\n const ids = Array.isArray(id)\r\n ? [...new Set([...this.channel_ids, ...id])]\r\n : [...new Set([...this.channel_ids, id])];\r\n\r\n return this.update({ channel_ids: ids });\r\n }\r\n async removeChannelId(...id: string[]) {\r\n const remove = Array.isArray(id) ? id : [id];\r\n const ids = this.channel_ids.filter((i) => !remove.some((a) => a === i));\r\n return this.update({ channel_ids: ids });\r\n }\r\n\r\n #update(data: APIAutomaticMessage) {\r\n for (let key in data) {\r\n if (key === \"id\" || key === \"createdAt\") continue;\r\n\r\n if (key in this) {\r\n (this as any)[key] = data[key as keyof APIAutomaticMessage];\r\n }\r\n }\r\n this.updatedAt = new Date();\r\n this.createdAt = new Date(data.createdAt);\r\n this.manager._add(this);\r\n return this;\r\n }\r\n\r\n toJSON(): APIAutomaticMessage {\r\n return {\r\n id: this.id,\r\n name: this.name,\r\n\r\n guild_id: this.guild_id,\r\n _id: this._id,\r\n type: this.type,\r\n admin_id: this.admin_id,\r\n message: this.message,\r\n channel_ids: this.channel_ids,\r\n interval_ms: this.interval_ms,\r\n\r\n createdAt: this?.createdAt ? new Date(this?.createdAt) : new Date(),\r\n updatedAt: this?.updatedAt ? new Date(this?.updatedAt) : new Date(),\r\n };\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,kBAA6B;AAF7B;AAMO,MAAM,iBAAiB;AAAA,EAyB5B,YAAY,MAA2B,SAAkC;AAzBpE;AACL;AACA;AACA;AAEA;AACA;AAEA;AAOA;AACA;AACA;AACA;AACA;AAEA,wBAAS;AACT,wBAAS;AACT,wBAAS;AAGP,SAAK,UAAU;AACf,SAAK,QAAQ,QAAQ;AACrB,SAAK,OAAO,QAAQ;AAEpB,SAAK,KAAK,MAAM;AAChB,SAAK,OAAO,MAAM;AAClB,SAAK,MAAM,MAAM;AAEjB,SAAK,OAAO,MAAM;AAClB,SAAK,WAAW,MAAM;AACtB,SAAK,cAAc,MAAM;AACzB,SAAK,UAAU,MAAM;AACrB,SAAK,cAAc,MAAM;AACzB,SAAK,WAAW,MAAM;AAEtB,SAAK,YAAY,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AACxE,SAAK,YAAY,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AAAA,EAC1E;AAAA,EAEA,MAAM,QAAQ;AACZ,UAAM,MAAM,mBAAO,OAAO,WAAW,KAAK,MAAM,IAAI,YAAY,KAAK,GAAG;AACxE,UAAM,WAAW,MAAM,KAAK,KAAK,QAAiC;AAAA,MAChE,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AACD,WAAO,sBAAK,wCAAL,WAAa;AAAA,EACtB;AAAA,EAEA,MAAM,OAAO,MAAqC;AAChD,UAAM,MAAM,mBAAO,OAAO,WAAW,KAAK,MAAM,IAAI,YAAY,KAAK,GAAG;AACxE,UAAM,WAAW,MAAM,KAAK,KAAK,QAA8B;AAAA,MAC7D,QAAQ;AAAA,MACR;AAAA,MACA,SAAS;AAAA,IACX,CAAC;AACD,WAAO,sBAAK,wCAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,SAAS;AACb,UAAM,MAAM,mBAAO,OAAO,WAAW,KAAK,MAAM,IAAI,YAAY,KAAK,GAAG;AACxE,UAAM,KAAK,KAAK,QAA8B;AAAA,MAC5C,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAED,SAAK,QAAQ,MAAM,OAAO,KAAK,GAAG;AAClC,WAAO;AAAA,EACT;AAAA,EACA,MAAM,WAAW,MAAmG;AAClH,WAAO,KAAK,OAAO,EAAE,SAAS,KAAK,CAAC;AAAA,EACtC;AAAA,EACA,MAAM,gBAAgB,IAAc;AAClC,UAAM,MAAM,MAAM,QAAQ,EAAE,IACxB,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,KAAK,aAAa,GAAG,EAAE,CAAC,CAAC,IACzC,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,KAAK,aAAa,EAAE,CAAC,CAAC;AAE1C,WAAO,KAAK,OAAO,EAAE,aAAa,IAAI,CAAC;AAAA,EACzC;AAAA,EACA,MAAM,mBAAmB,IAAc;AACrC,UAAM,SAAS,MAAM,QAAQ,EAAE,IAAI,KAAK,CAAC,EAAE;AAC3C,UAAM,MAAM,KAAK,YAAY,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC;AACvE,WAAO,KAAK,OAAO,EAAE,aAAa,IAAI,CAAC;AAAA,EACzC;AAAA,EAgBA,SAA8B;AAC5B,WAAO;AAAA,MACL,IAAI,KAAK;AAAA,MACT,MAAM,KAAK;AAAA,MAEX,UAAU,KAAK;AAAA,MACf,KAAK,KAAK;AAAA,MACV,MAAM,KAAK;AAAA,MACX,UAAU,KAAK;AAAA,MACf,SAAS,KAAK;AAAA,MACd,aAAa,KAAK;AAAA,MAClB,aAAa,KAAK;AAAA,MAElB,WAAW,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AAAA,MAClE,WAAW,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AAAA,IACpE;AAAA,EACF;AACF;AAxHO;AAyFL,YAAO,SAAC,MAA2B;AACjC,WAAS,OAAO,MAAM;AACpB,QAAI,QAAQ,QAAQ,QAAQ,YAAa;AAEzC,QAAI,OAAO,MAAM;AACf,MAAC,KAAa,GAAG,IAAI,KAAK,GAAgC;AAAA,IAC5D;AAAA,EACF;AACA,OAAK,YAAY,oBAAI,KAAK;AAC1B,OAAK,YAAY,IAAI,KAAK,KAAK,SAAS;AACxC,OAAK,QAAQ,KAAK,IAAI;AACtB,SAAO;AACT;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/structures/bet/GuildBet.ts"],"sourcesContent":["import { GuildBetManager, MessagesManager } from \"../../managers\";\r\nimport { PlayerManager } from \"../../managers/player/PlayerManager\";\r\nimport { REST, Routes } from \"../../rest\";\r\nimport {\r\n APIBetChannel,\r\n APIGuildBet,\r\n APIMessage,\r\n APIPlayer,\r\n BaseMatchModes,\r\n BetQueue,\r\n Confirm,\r\n Optional,\r\n} from \"../../types\";\r\nimport { Guild } from \"../guild/Guild\";\r\n\r\nexport class GuildBet {\r\n /** The bet's type */\r\n type: Omit<BaseMatchModes, \"5x5\" | \"6x6\" | \"5v5\" | \"6v6\">;\r\n\r\n /** The bet's mode */\r\n mode: \"misto\" | \"emu\" | \"mob\" | \"MISTO\" | \"EMU\" | \"MOB\";\r\n\r\n /** The bet's status */\r\n status: \"off\" | \"created\" | \"on\" | \"shutted\" | \"waiting\";\r\n\r\n /** The bet's maximum size */\r\n maximumSize: number;\r\n\r\n /** The bet's price */\r\n price: number;\r\n\r\n /** The bet's players */\r\n players: PlayerManager;\r\n\r\n teams: APIPlayer[][];\r\n\r\n /** The bet's channel */\r\n channels: APIBetChannel[];\r\n\r\n /** The bet's messages */\r\n messages: MessagesManager<GuildBet>;\r\n\r\n /** The id of the winner */\r\n winners: APIPlayer[];\r\n\r\n /** The id of the loser */\r\n losers: APIPlayer[];\r\n\r\n /** The bet's creator id */\r\n creatorId: string;\r\n\r\n /** The bet's mediator */\r\n mediatorId: string;\r\n\r\n /** The bet's confirmers */\r\n confirmed: Confirm[];\r\n\r\n /** Creation Date */\r\n createdAt: Date;\r\n\r\n /** Updated Date */\r\n updatedAt: Date;\r\n\r\n /** Bet's id */\r\n _id: string;\r\n queues: BetQueue[];\r\n guild_id: string;\r\n\r\n rest: REST;\r\n guild: Guild;\r\n manager: GuildBetManager;\r\n\r\n constructor(data: Optional<APIGuildBet>, manager: GuildBetManager) {\r\n this.manager = manager;\r\n this.guild = manager.guild;\r\n this.rest = manager.rest;\r\n\r\n this._id = data?._id;\r\n this.guild_id = data?.guild_id;\r\n\r\n this.type = data?.type;\r\n this.mode = data?.mode;\r\n this.status = data?.status;\r\n this.maximumSize = data?.maximumSize;\r\n this.price = data?.price;\r\n this.teams = data?.teams;\r\n this.channels = data?.channels;\r\n this.players = new PlayerManager(this, Routes.guilds.bets.resource(this.guild_id, this._id, \"players\"));\r\n this.messages = new MessagesManager(this, Routes.guilds.bets.resource(this.guild_id, this._id, \"messages\"));\r\n\r\n this.winners = data?.winners;\r\n this.losers = data?.losers;\r\n this.creatorId = data?.creatorId;\r\n this.mediatorId = data?.mediatorId;\r\n this.confirmed = data?.confirmed;\r\n\r\n this.createdAt = data?.createdAt ? new Date(data?.createdAt) : new Date();\r\n this.updatedAt = data?.updatedAt ? new Date(data?.updatedAt) : new Date();\r\n this.queues = [];\r\n\r\n for (let queue of data.queues ?? []) {\r\n this.queues.push({\r\n _id: queue?._id,\r\n type: queue?.type,\r\n players: queue?.players,\r\n updatedAt: queue?.updatedAt ? new Date(queue?.updatedAt) : new Date(),\r\n createdAt: queue?.createdAt ? new Date(queue?.createdAt) : new Date(),\r\n });\r\n }\r\n\r\n if (data?.messages?.length !== 0) this.messages.set(data.messages);\r\n if (data?.players.length !== 0) this.players._set(data.players);\r\n }\r\n toString() {\r\n return this._id;\r\n }\r\n async fetch() {\r\n const url = Routes.guilds.bets.get(this.guild.id, this._id);\r\n const response = await this.rest.request<APIGuildBet, {}>({ url: url, method: \"GET\" });\r\n\r\n return this.#update(response);\r\n }\r\n async addPlayer(player: APIPlayer, queue_type?: string) {\r\n if (this.players.length === 2) return this;\r\n if (this.players.has(player.id)) return this;\r\n\r\n this.players.set(player.id, player);\r\n\r\n if (queue_type) {\r\n const queue = this.queues.find((q) => q.type === queue_type);\r\n if (!queue) return this;\r\n\r\n for (const q of this.queues) {\r\n q.players = q.players.filter((p) => p.id !== player.id);\r\n }\r\n\r\n if (!queue.players.some((p) => p.id === player.id)) {\r\n queue.players.push({ id: player.id });\r\n }\r\n }\r\n\r\n return await this.update({\r\n players: this.players.toArray(),\r\n queues: this.queues,\r\n });\r\n }\r\n\r\n async removePlayer(player: APIPlayer) {\r\n if (!this.players.some((p) => p.id === player.id)) return this;\r\n let players = this.players.toArray();\r\n players = this.players.filter((p) => p.id !== player.id).toArray();\r\n\r\n for (const q of this.queues) {\r\n q.players = q.players.filter((p) => p.id !== player.id);\r\n }\r\n\r\n return await this.update({\r\n players: players,\r\n queues: this.queues,\r\n });\r\n }\r\n\r\n async update(data: Optional<APIGuildBet>) {\r\n const payload = data;\r\n const url = Routes.guilds.bets.update(this.guild.id, this._id);\r\n const response = await this.rest.request<APIGuildBet, typeof payload>({ method: \"patch\", url: url, payload });\r\n return this.#update(response);\r\n }\r\n async delete() {\r\n const url = Routes.guilds.bets.delete(this.manager.guild.id, this._id);\r\n const response = await this.rest.request<boolean, {}>({\r\n method: \"DELETE\",\r\n url: url,\r\n });\r\n\r\n this.rest.emit(\"betDelete\", this);\r\n this.manager.cache.delete(this._id);\r\n\r\n return response;\r\n }\r\n #update(data: Optional<APIGuildBet>) {\r\n for (let key in data) {\r\n if (key === \"_id\" || key === \"createdAt\") continue;\r\n if (key === \"messages\") {\r\n this.messages.set(data[key]);\r\n continue;\r\n }\r\n if (key === \"players\") {\r\n this.players._set(data[key]);\r\n continue;\r\n }\r\n if (key in this) {\r\n (this as any)[key] = data[key as keyof APIGuildBet];\r\n }\r\n }\r\n if (data?.messages?.length !== 0) {\r\n if (this?.messages instanceof MessagesManager) this.messages.set(data.messages);\r\n else {\r\n this.messages = new MessagesManager(this, Routes.guilds.matches.resource(this.guild_id, this._id, \"messages\"));\r\n this.messages.set(data.messages);\r\n }\r\n }\r\n\r\n this.updatedAt = new Date();\r\n this.createdAt = new Date(data.createdAt);\r\n\r\n this.manager.set(this);\r\n return this;\r\n }\r\n\r\n toJSON(): Optional<APIGuildBet> {\r\n let json: { [K in keyof GuildBet]?: GuildBet[K] } = {};\r\n\r\n for (const [key, value] of Object.entries(this)) {\r\n const exclude = [\"rest\", \"guild\", \"manager\"];\r\n if (exclude.includes(key)) continue;\r\n\r\n if (typeof value !== \"function\") {\r\n (json as any)[key] = value;\r\n }\r\n }\r\n\r\n return {\r\n ...json,\r\n messages: this?.messages instanceof MessagesManager ? this.messages?.cache?.toArray() : [],\r\n players: this.players.toArray(),\r\n };\r\n }\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/structures/betuser/GuildBetUser.ts"],"sourcesContent":["import { REST } from \"../../rest/REST\";\r\nimport { Routes } from \"../../rest/Routes\";\r\nimport { Accessory, APIAdvert, Daily, Optional, OriginalChannel, OriginalChannels, Profile } from \"../../types/api\";\r\nimport { APIGuildBetUser } from \"../../types/api/APIGuildBetUser\";\r\nimport { GuildBetUserManager } from \"../../managers/betuser/GuildBetUserManager\";\r\nimport { Guild } from \"../guild/Guild\";\r\n\r\nexport class GuildBetUser implements APIGuildBetUser {\r\n /** User daily */\r\n daily: Omit<Daily, \"points\">;\r\n\r\n profile: Profile;\r\n\r\n /** User's name */\r\n id: string;\r\n guild_id: string;\r\n\r\n /** User's credit */\r\n credit: number;\r\n\r\n /** User's wins */\r\n wins: number;\r\n\r\n /** User's mvps */\r\n mvps: number;\r\n\r\n /** User's losses */\r\n losses: number;\r\n\r\n /** User's games */\r\n games: number;\r\n\r\n /** User's blacklist */\r\n blacklist: boolean;\r\n\r\n /** User's coins */\r\n coins: number;\r\n spins: number;\r\n /** Creation Date */\r\n createdAt: Date;\r\n\r\n /** Updated Date */\r\n updatedAt: Date;\r\n consecutive_wins: number;\r\n used_codes: string[];\r\n\r\n /** The given manager */\r\n readonly manager: GuildBetUserManager;\r\n\r\n /** The rest client */\r\n readonly rest: REST;\r\n readonly guild: Guild;\r\n\r\n /**\r\n * Bet user\r\n * @param data The user's data\r\n * @param manager The manager\r\n * @param rest The rest client\r\n */\r\n constructor(data: APIGuildBetUser, manager: GuildBetUserManager) {\r\n this.id = data?.id;\r\n this.guild_id = data?.guild_id;\r\n this.manager = manager;\r\n this.rest = manager.rest;\r\n this.guild = manager.guild;\r\n\r\n this.wins = data?.wins;\r\n this.coins = data?.coins;\r\n this.losses = data?.losses;\r\n this.credit = data?.credit;\r\n this.spins = data?.spins;\r\n this.used_codes = data?.used_codes;\r\n\r\n this.daily = data?.daily;\r\n this.games = data?.games;\r\n\r\n this.blacklist = data?.blacklist;\r\n this.consecutive_wins = data?.consecutive_wins;\r\n\r\n this.profile = data?.profile;\r\n\r\n this.createdAt = data?.createdAt ? new Date(data?.createdAt) : new Date();\r\n this.updatedAt = data?.updatedAt ? new Date(data?.updatedAt) : new Date();\r\n }\r\n /** String representation of this user */\r\n toString() {\r\n return `<@${this.id}>`;\r\n }\r\n /**\r\n * Fetches the user\r\n * @returns New Instance of the user\r\n */\r\n async fetch() {\r\n const url = Routes.guilds.betusers.get(this.manager.guild.id, this.id);\r\n const response = await this.rest.request<APIGuildBetUser, {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n const user = new GuildBetUser(response, this.manager);\r\n\r\n this.manager.cache.set(user.id, user);\r\n this.rest.betusers.set(user.id, user);\r\n return user;\r\n }\r\n\r\n /**\r\n * Set the user blacklist\r\n * @param value Value to set to\r\n * @returns GuildBetUser\r\n */\r\n async setBlacklist(value: boolean) {\r\n const url = Routes.guilds.betusers.resource(this.manager.guild.id, this.id, \"blacklist\");\r\n const payload = { set: value };\r\n await this.rest.request<APIGuildBetUser, typeof payload>({\r\n method: \"patch\",\r\n url: url,\r\n payload,\r\n });\r\n this.blacklist = value;\r\n this.manager.cache.set(this.id, this);\r\n this.rest.betusers.set(this.id, this);\r\n return this;\r\n }\r\n async reset() {\r\n const url = Routes.guilds.betusers.get(this.manager.guild.id, this.id);\r\n const payload = { reset: true };\r\n const response = await this.rest.request<APIGuildBetUser, typeof payload>({\r\n method: \"DELETE\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n return this.#update(response);\r\n }\r\n async updateProfile(data: Optional<Profile>) {\r\n const _data: { profile: Profile } = {\r\n profile: {\r\n avatarUrl: data.avatarUrl || this.profile.avatarUrl || \"\",\r\n bannerUrl: data.bannerUrl || this.profile.bannerUrl || \"\",\r\n bio: data.bio || this.profile.bio || \"Melhor da minha aldeia (use !bio para alterar)\",\r\n name: data.name || this.profile.name || \"\",\r\n\r\n textColor: data.textColor || this.profile.textColor || \"#ffffff\",\r\n primaryColor: data.primaryColor || this.profile.primaryColor || \"#272727\",\r\n secondaryColor: data.secondaryColor || this.profile.secondaryColor || \"#151515\",\r\n\r\n booster: {\r\n expires: data?.booster.expires || this.profile.booster.expires,\r\n status: data?.booster.status || this.profile.booster.status || \"off\",\r\n },\r\n },\r\n };\r\n const url = Routes.guilds.betusers.update(this.manager.guild.id, this.id);\r\n const response = await this.rest.request<APIGuildBetUser, {}>({\r\n method: \"patch\",\r\n url: url,\r\n payload: _data,\r\n });\r\n\r\n return this.#update(response);\r\n }\r\n #update(data: Optional<APIGuildBetUser>) {\r\n for (let key in data) {\r\n if (key === \"id\" || key === \"createdAt\") continue;\r\n if (key in this) {\r\n (this as any)[key] = data[key as keyof APIGuildBetUser];\r\n }\r\n }\r\n\r\n this.updatedAt = new Date();\r\n this.createdAt = new Date(data.createdAt);\r\n\r\n this.manager.set(this);\r\n this.rest.emit(\"betuserUpdate\", this);\r\n return this;\r\n }\r\n\r\n /**\r\n * Update certain property\r\n * @param data The new data to update with\r\n * @returns\r\n */\r\n async update(data: Omit<Optional<APIGuildBetUser>, \"daily\"> & { type?: \"add\" | \"remove\" }) {\r\n if (!data?.type) data.type = \"add\";\r\n\r\n const url = Routes.guilds.betusers.get(this.manager.guild.id, this.id);\r\n let payload: Record<string, any> = {};\r\n\r\n const numericFields = [\"wins\", \"credit\", \"losses\", \"mvps\", \"games\", \"coins\", \"spins\", \"consecutive_wins\"] as const;\r\n const arrayFields = [\"items\", \"original_channels\", \"adverts\", \"accessories\", \"used_codes\"] as const;\r\n\r\n if (data?.type === \"add\" || data?.type === \"remove\") {\r\n for (const key in data) {\r\n if (key === \"type\") continue;\r\n\r\n const value = data[key as keyof typeof data];\r\n\r\n if (numericFields.includes(key as any)) {\r\n const current = (this[key as keyof typeof this] || 0) as number;\r\n const num = (value || 0) as number;\r\n payload[key] = Math.max(0, data?.type === \"add\" ? current + num : current - num);\r\n } else if (key === \"blacklist\") {\r\n payload[\"blacklist\"] = value;\r\n } else if (key === \"profile\") {\r\n payload[\"profile\"] = value;\r\n } else if (arrayFields.includes(key as any)) {\r\n const current = this[key as keyof typeof this] as any[];\r\n const incoming = value as any[];\r\n\r\n payload[key] =\r\n data?.type === \"add\"\r\n ? [...new Set([...current, ...incoming])]\r\n : current.filter((x) => !incoming.includes(x));\r\n }\r\n }\r\n }\r\n const response = await this.rest.request<APIGuildBetUser, typeof payload>({\r\n method: \"patch\",\r\n url: url,\r\n payload,\r\n });\r\n return this.#update(response);\r\n }\r\n async _update(data: Omit<Optional<APIGuildBetUser>, \"daily\">) {\r\n const url = Routes.guilds.betusers.get(this.manager.guild.id, this.id);\r\n let payload: Record<string, any> = {};\r\n\r\n const response = await this.rest.request<APIGuildBetUser, typeof payload>({\r\n method: \"put\",\r\n url: url,\r\n payload,\r\n });\r\n return this.#update(response);\r\n }\r\n async delete() {\r\n const url = Routes.guilds.betusers.delete(this.manager.guild.id, this.id);\r\n const response = await this.rest.request<boolean, {}>({\r\n method: \"DELETE\",\r\n url: url,\r\n });\r\n\r\n this.rest.emit(\"betuserDelete\", this);\r\n this.manager.cache.delete(this.id);\r\n\r\n return response;\r\n }\r\n toJSON(): Optional<APIGuildBetUser> {\r\n let json: { [K in keyof GuildBetUser]?: GuildBetUser[K] } = {};\r\n\r\n for (const [key, value] of Object.entries(this)) {\r\n const exclude = [\"rest\", \"guilds\", \"guild\", \"manager\"];\r\n if (exclude.includes(key)) continue;\r\n\r\n if (typeof value !== \"function\") {\r\n (json as any)[key] = value;\r\n }\r\n }\r\n return json;\r\n }\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/structures/guild/Guild.ts"],"sourcesContent":["import {\r\n AutomaticMessageManager,\r\n BufferManager,\r\n GuildBetManager,\r\n GuildMatchManager,\r\n GuildPermissionManager,\r\n GuildTicketManager,\r\n GuildUserManager,\r\n LogManager,\r\n ShopManager,\r\n VipMemberManager,\r\n} from \"../../managers\";\r\nimport { GuildBetUserManager } from \"../../managers/betuser/GuildBetUserManager\";\r\nimport { GuildMediatorManager } from \"../../managers/mediator/GuildMediatorManager\";\r\nimport { TicketPanelManager } from \"../../managers/ticketpanel/TicketPanelManager\";\r\nimport { TournamentManager } from \"../../managers/tournament/TournamentManager\";\r\nimport { REST } from \"../../rest/REST\";\r\nimport { Routes } from \"../../rest/Routes\";\r\nimport {\r\n APIAutomaticMessage,\r\n APICode,\r\n APIGuildAdvert,\r\n APIGuildGroupedChannel,\r\n APIGuildPermissions,\r\n APIGuildShop,\r\n Daily,\r\n GuildPermissionsTypes,\r\n Optional,\r\n Permission,\r\n} from \"../../types/api\";\r\nimport {\r\n APIGuild,\r\n DailyCategories,\r\n GuildChannelsType,\r\n GuildLogsWebhookUrls,\r\n GuildModes,\r\n GuildPrices,\r\n GuildScores,\r\n GuildStatus,\r\n GuildTicketConfiguration,\r\n RoulettePrize,\r\n RouletteSettings,\r\n} from \"../../types/api/APIGuild\";\r\nimport { Assertion } from \"../../utils/Assertion\";\r\n\r\nexport class Guild {\r\n /** The data of this guild */\r\n data: APIGuild;\r\n\r\n /** The rest client */\r\n rest: REST;\r\n\r\n /** The guild's id */\r\n id: string;\r\n\r\n modes: GuildModes;\r\n\r\n /** Guild's client key */\r\n client_key: string;\r\n\r\n /** Guild Permissions */\r\n permissions: APIGuildPermissions;\r\n\r\n /** Guild Ticket */\r\n tickets: GuildTicketManager;\r\n\r\n /** Guild Ticket Configuration */\r\n tickets_configuration: GuildTicketConfiguration;\r\n\r\n /** Guild Daily Categories */\r\n daily_categories: DailyCategories[];\r\n match_count: number;\r\n bet_count: number;\r\n /** Guild Scores */\r\n scores: GuildScores;\r\n\r\n /** Guild Status */\r\n status: GuildStatus;\r\n\r\n channels: APIGuildGroupedChannel[];\r\n roulette_settings: RouletteSettings;\r\n /** Guild Prefix */\r\n prefix: string;\r\n prefixes: string[];\r\n\r\n /** Guild Creation Date */\r\n createdAt: Date;\r\n\r\n /** Guild Updated Date */\r\n updatedAt: Date;\r\n\r\n /** Guild Matches */\r\n matches: GuildMatchManager;\r\n\r\n /** Guild Prices Used */\r\n prices: GuildPrices;\r\n\r\n permissionsManager: GuildPermissionManager;\r\n buffer: BufferManager;\r\n vipMembers: VipMemberManager;\r\n users: GuildUserManager;\r\n logEntries: LogManager;\r\n shops: ShopManager;\r\n betusers: GuildBetUserManager;\r\n bets: GuildBetManager;\r\n mediators: GuildMediatorManager;\r\n automaticMessages: AutomaticMessageManager;\r\n tournaments: TournamentManager;\r\n webhook_urls: GuildLogsWebhookUrls;\r\n adverts: APIGuildAdvert[];\r\n ticket_panels: TicketPanelManager;\r\n\r\n codes: APICode[];\r\n coin_symbol: string;\r\n /**\r\n * The guild structure\r\n * @param data The guild's data\r\n * @param rest The rest client\r\n */\r\n constructor(data: APIGuild, rest: REST) {\r\n this.data = data;\r\n this.rest = rest;\r\n\r\n this.id = data?.id;\r\n this.client_key = data?.client_key;\r\n\r\n this.daily_categories = data?.daily_categories;\r\n this.permissions = data?.permissions;\r\n this.modes = data?.modes;\r\n this.prices = data?.prices;\r\n this.scores = data?.scores;\r\n this.codes = data?.codes;\r\n this.prefix = data?.prefix;\r\n this.prefixes = data?.prefixes;\r\n this.status = data?.status;\r\n this.tickets_configuration = data?.tickets_configuration;\r\n this.channels = data?.channels;\r\n\r\n this.coin_symbol = data?.coin_symbol;\r\n this.roulette_settings = data?.roulette_settings;\r\n this.webhook_urls = data?.webhook_urls || {\r\n queues: {\r\n closed: \"\",\r\n managed: \"\",\r\n shutted: \"\",\r\n started: \"\",\r\n },\r\n users: {\r\n punished: \"\",\r\n updated: \"\",\r\n },\r\n\r\n shop: {\r\n redeemed: \"\",\r\n },\r\n\r\n tickets: {\r\n closed: \"\",\r\n opened: \"\",\r\n },\r\n };\r\n this.match_count = data?.match_count;\r\n this.bet_count = data?.bet_count;\r\n\r\n this.createdAt = data?.createdAt ? new Date(data?.createdAt) : new Date();\r\n this.updatedAt = data?.updatedAt ? new Date(data?.updatedAt) : new Date();\r\n\r\n this.permissionsManager = new GuildPermissionManager(this);\r\n this.buffer = new BufferManager(this);\r\n this.shops = new ShopManager(this);\r\n this.users = new GuildUserManager(this);\r\n this.matches = new GuildMatchManager(this);\r\n this.tickets = new GuildTicketManager(this);\r\n this.vipMembers = new VipMemberManager(this);\r\n this.logEntries = new LogManager(this);\r\n this.betusers = new GuildBetUserManager(this);\r\n this.bets = new GuildBetManager(this);\r\n this.mediators = new GuildMediatorManager(this);\r\n this.automaticMessages = new AutomaticMessageManager(this);\r\n this.tournaments = new TournamentManager(this);\r\n this.ticket_panels = new TicketPanelManager(this);\r\n this.adverts = [];\r\n for (let _adv of data?.adverts || []) {\r\n this.adverts.push({\r\n _id: _adv._id,\r\n admin_id: _adv.admin_id,\r\n points_to_remove: _adv.points_to_remove,\r\n role_id: _adv.role_id,\r\n\r\n createdAt: _adv.createdAt ? new Date(_adv.createdAt) : new Date(),\r\n updatedAt: _adv.updatedAt ? new Date(_adv.updatedAt) : new Date(),\r\n });\r\n }\r\n this.codes = [];\r\n for (let _adv of data?.codes || []) {\r\n this.codes.push({\r\n _id: _adv._id,\r\n admin_id: _adv.admin_id,\r\n type: _adv.type,\r\n add: _adv.add,\r\n code: _adv.code,\r\n\r\n expire: _adv.expire ? new Date(_adv.expire) : new Date(),\r\n createdAt: _adv.createdAt ? new Date(_adv.createdAt) : new Date(),\r\n updatedAt: _adv.updatedAt ? new Date(_adv.updatedAt) : new Date(),\r\n });\r\n }\r\n }\r\n\r\n async _start() {\r\n await Promise.all([\r\n this.users.fetch(),\r\n this.matches.fetch(),\r\n this.tickets.fetch(),\r\n this.vipMembers.fetch(),\r\n this.logEntries.fetch(),\r\n this.betusers.fetch(),\r\n this.bets.fetch(),\r\n this.mediators.fetch(),\r\n this.tournaments.fetch(),\r\n this.shops.fetch(),\r\n this.automaticMessages.fetch(),\r\n this.ticket_panels.fetch(null),\r\n ]);\r\n return this;\r\n }\r\n\r\n async getChannel(type: GuildChannelsType): Promise<APIGuildGroupedChannel> {\r\n const channel = this.channels.find((c) => c.type === type);\r\n if (channel) return channel;\r\n else {\r\n const channels = [...this.channels, { type, ids: [] }];\r\n const url = Routes.guilds.get(this.id);\r\n const response = await this.rest.request<APIGuild, {}>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload: { channels },\r\n });\r\n this.#update(response);\r\n return response.channels.find((t) => t.type === type);\r\n }\r\n }\r\n async getPermission(type: GuildPermissionsTypes): Promise<Permission> {\r\n const permission = this.permissions.find((c) => c.type === type);\r\n if (permission) return permission;\r\n else {\r\n const permissions = [...this.permissions, { type, ids: [] }];\r\n const url = Routes.guilds.get(this.id);\r\n const response = await this.rest.request<APIGuild, {}>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload: { permissions },\r\n });\r\n this.#update(response);\r\n return response.permissions.find((t) => t.type === type);\r\n }\r\n }\r\n async createAdvert(data: Optional<APIGuildAdvert>) {\r\n this.adverts.push(data as APIGuildAdvert);\r\n const url = Routes.guilds.get(this.id);\r\n const payload: Optional<APIGuild> = { adverts: this.adverts, max_advert_per_user: this.adverts.length };\r\n const response = await this.rest.request<APIGuild, typeof payload>({ method: \"PATCH\", url: url, payload });\r\n return this.#update(response);\r\n }\r\n async updateAdvert(data: Optional<APIGuildAdvert>) {\r\n const advIndex = this.adverts.findIndex((a) => a._id === data._id);\r\n if (advIndex === -1) return this;\r\n\r\n this.adverts[advIndex] = { ...this.adverts[advIndex], ...data };\r\n const url = Routes.guilds.get(this.id);\r\n const payload = { adverts: this.adverts };\r\n const response = await this.rest.request<APIGuild, typeof payload>({ method: \"PATCH\", url: url, payload });\r\n return this.#update(response);\r\n }\r\n async removeAdvert(advertId: string) {\r\n const url = Routes.guilds.get(this.id);\r\n this.adverts = this.adverts.filter((a) => a._id !== advertId);\r\n const payload = {\r\n adverts: this.adverts,\r\n max_advert_per_user: this.adverts.length,\r\n };\r\n const response = await this.rest.request<APIGuild, typeof payload>({ method: \"PATCH\", url: url, payload });\r\n return this.#update(response);\r\n }\r\n async createCode(data: Optional<APICode>) {\r\n this.codes.push(data as APICode);\r\n const url = Routes.guilds.get(this.id);\r\n const payload = { codes: this.codes };\r\n const response = await this.rest.request<APIGuild, typeof payload>({ method: \"PATCH\", url: url, payload });\r\n return this.#update(response);\r\n }\r\n async removeCode(codeId: string) {\r\n const url = Routes.guilds.get(this.id);\r\n const payload = { codes: this.codes.filter((a) => a.code.toLowerCase() !== codeId.toLowerCase()) };\r\n const response = await this.rest.request<APIGuild, typeof payload>({ method: \"PATCH\", url: url, payload });\r\n return this.#update(response);\r\n }\r\n async addIdToChannel(type: GuildChannelsType, id: string | string[]) {\r\n const channel = this.channels.find((c) => c.type === type);\r\n const idsToAdd = Array.isArray(id) ? id : [id];\r\n\r\n if (!channel) {\r\n // create new channel if it doesn't exist\r\n this.channels.push({ type, ids: [...idsToAdd] });\r\n } else {\r\n // merge IDs, remove duplicates\r\n const chIndex = this.channels.findIndex((ch) => ch.type === type);\r\n const mergedIds = [...new Set([...(channel.ids || []), ...idsToAdd])];\r\n\r\n this.channels[chIndex] = { ...channel, ids: mergedIds };\r\n }\r\n\r\n const url = Routes.guilds.get(this.id);\r\n const payload = { channels: this.channels };\r\n const response = await this.rest.request<APIGuild, typeof payload>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n return this.#update(response);\r\n }\r\n async setChannelIds(type: GuildChannelsType, ...ids: string[]) {\r\n const channel = this.channels.find((c) => c.type === type);\r\n if (!ids || ids.length === 0) return;\r\n\r\n if (!channel) {\r\n // create new channel if it doesn't exist\r\n this.channels.push({ type, ids });\r\n } else {\r\n // merge IDs, remove duplicates\r\n const chIndex = this.channels.findIndex((ch) => ch.type === type);\r\n const mergedIds = [...new Set([...ids])];\r\n\r\n this.channels[chIndex] = { ...channel, ids: mergedIds };\r\n }\r\n\r\n const url = Routes.guilds.get(this.id);\r\n const payload = { channels: this.channels };\r\n const response = await this.rest.request<APIGuild, typeof payload>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n return this.#update(response);\r\n }\r\n async removeIdInChannel(type: GuildChannelsType, id: string | string[]) {\r\n const chIndex = this.channels.findIndex((c) => c.type === type);\r\n\r\n if (chIndex !== -1) {\r\n const existing = this.channels[chIndex];\r\n const idsToRemove = Array.isArray(id) ? id : [id];\r\n existing.ids = existing.ids.filter((i) => !idsToRemove.includes(i));\r\n this.channels[chIndex] = existing;\r\n } else {\r\n this.channels.push({\r\n type,\r\n ids: [],\r\n });\r\n }\r\n\r\n const url = Routes.guilds.get(this.id);\r\n const payload = { channels: this.channels };\r\n const response = await this.rest.request<APIGuild, typeof payload>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n return this.#update(response);\r\n }\r\n async updateRouletteSettings(data: Optional<RouletteSettings> & { default?: boolean }) {\r\n const _data: { roulette_settings: RouletteSettings } = {\r\n roulette_settings: {\r\n primary_color: !data.default\r\n ? data.primary_color || this.roulette_settings.primary_color || \"#161616\"\r\n : \"#161616\",\r\n secondary_color: !data.default\r\n ? data.secondary_color || this.roulette_settings.secondary_color || \"#1A1A1A\"\r\n : \"#1A1A1A\",\r\n tertiary_color: !data.default\r\n ? data.tertiary_color || this.roulette_settings.tertiary_color || \"#2D2D2D\"\r\n : \"#2D2D2D\",\r\n text_color: !data.default ? data.text_color || this.roulette_settings.text_color || \"#ffffff\" : \"#ffffff\",\r\n prizes: data.prizes || this.roulette_settings.prizes || [],\r\n },\r\n };\r\n\r\n return this.update(_data as { roulette_settings: RouletteSettings });\r\n }\r\n async updateLogWebhookUrls(data: Optional<GuildLogsWebhookUrls>) {\r\n const _data: { webhook_urls: GuildLogsWebhookUrls } = {\r\n webhook_urls: {\r\n queues: {\r\n closed: data?.queues?.closed || this.webhook_urls?.queues?.closed || \"\",\r\n managed: data?.queues?.managed || this.webhook_urls?.queues?.managed || \"\",\r\n shutted: data?.queues?.shutted || this.webhook_urls?.queues?.shutted || \"\",\r\n started: data?.queues?.started || this.webhook_urls?.queues?.started || \"\",\r\n },\r\n users: {\r\n punished: data?.users?.punished || this.webhook_urls?.users?.punished || \"\",\r\n updated: data?.users?.updated || this.webhook_urls?.users?.updated || \"\",\r\n },\r\n shop: {\r\n redeemed: data?.shop?.redeemed || this.webhook_urls?.shop?.redeemed || \"\",\r\n },\r\n tickets: {\r\n closed: data?.tickets?.closed || this.webhook_urls?.tickets?.closed || \"\",\r\n opened: data?.tickets?.opened || this.webhook_urls?.tickets?.opened || \"\",\r\n },\r\n },\r\n };\r\n\r\n return this.update(_data as { webhook_urls: GuildLogsWebhookUrls });\r\n }\r\n getActive(key: \"matches\" | \"tickets\" | \"bets\") {\r\n return this[key].cache.filter((o) => o.status === \"created\" || o.status === \"on\");\r\n }\r\n async addRoulettePrize(prize: Optional<RoulettePrize>) {\r\n if (!prize.label) {\r\n throw new Error(\"Prize label is required\");\r\n }\r\n\r\n const prizes: Optional<RoulettePrize>[] = this.roulette_settings.prizes;\r\n const prizeIndex = prize._id\r\n ? prizes.findIndex((p) => p._id === prize._id)\r\n : prizes.findIndex((p) => p.label === prize.label);\r\n\r\n const defaultProbability = prizes.length > 0 ? 1 / prizes.length : 0.1;\r\n\r\n if (prizeIndex !== -1) {\r\n const existing = prizes[prizeIndex];\r\n\r\n prizes[prizeIndex] = {\r\n label: prize.label,\r\n custom_color: prize.custom_color ?? existing.custom_color,\r\n custom_probability: prize.custom_probability ?? existing.custom_probability ?? defaultProbability,\r\n _id: existing._id,\r\n };\r\n } else {\r\n prizes.push({\r\n label: prize.label,\r\n custom_color: prize.custom_color ?? \"\",\r\n custom_probability: prize.custom_probability ?? defaultProbability,\r\n });\r\n }\r\n\r\n await this.updateRouletteSettings({ prizes: prizes as RoulettePrize[] });\r\n return this.roulette_settings.prizes.find((p) => p.label === prize.label);\r\n }\r\n async removeRoulettePrize(id: string) {\r\n let prizes = this.roulette_settings.prizes;\r\n if (!prizes.find((p) => p._id === id)) return this;\r\n\r\n prizes = prizes.filter((p) => p._id !== id);\r\n return this.updateRouletteSettings({ prizes });\r\n }\r\n\r\n #update(data: Optional<APIGuild>) {\r\n for (let key in data) {\r\n if (key === \"id\" || key === \"createdAt\" || key === \"shops\") continue;\r\n if (key in this) {\r\n (this as any)[key] = data[key as keyof APIGuild];\r\n }\r\n if (key === \"adverts\") {\r\n this.adverts = [];\r\n for (let _adv of data.adverts) {\r\n this.adverts.push({\r\n _id: _adv._id,\r\n admin_id: _adv.admin_id,\r\n points_to_remove: _adv.points_to_remove,\r\n role_id: _adv.role_id,\r\n\r\n createdAt: _adv.createdAt ? new Date(_adv.createdAt) : new Date(),\r\n updatedAt: _adv.updatedAt ? new Date(_adv.updatedAt) : new Date(),\r\n });\r\n }\r\n }\r\n if (key === \"code\") {\r\n this.codes = [];\r\n for (let _adv of data.codes) {\r\n this.codes.push({\r\n _id: _adv._id,\r\n admin_id: _adv.admin_id,\r\n type: _adv.type,\r\n add: _adv.add,\r\n code: _adv.code,\r\n expire: _adv.expire ? new Date(_adv.expire) : new Date(),\r\n createdAt: _adv.createdAt ? new Date(_adv.createdAt) : new Date(),\r\n updatedAt: _adv.updatedAt ? new Date(_adv.updatedAt) : new Date(),\r\n });\r\n }\r\n }\r\n }\r\n\r\n this.updatedAt = new Date();\r\n this.rest.guilds.cache.set(this.id, this);\r\n this.rest.emit(\"guildUpdate\", this);\r\n return this;\r\n }\r\n async fetch(): Promise<Guild> {\r\n const url = Routes.guilds.get(this.id);\r\n const response = await this.rest.request<APIGuild, {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n\r\n return this.#update(response);\r\n }\r\n async reset(): Promise<Guild> {\r\n return this.update({ reset: true });\r\n }\r\n async update(data: Optional<APIGuild> & { reset?: boolean }): Promise<Guild> {\r\n const url = Routes.guilds.get(this.id);\r\n const response = await this.rest.request<APIGuild, typeof data>({\r\n method: \"patch\",\r\n url: url,\r\n payload: data,\r\n });\r\n\r\n return this.#update(response);\r\n }\r\n async setStatus(key: keyof GuildStatus, status: \"on\" | \"off\") {\r\n Assertion.assertString(key);\r\n this.status[key] = status;\r\n const url = Routes.guilds.resource(this.id, \"status\");\r\n const payload = { set: this.status };\r\n const response = await this.rest.request<APIGuild, typeof payload>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n this.status = response.status;\r\n this.rest.guilds.cache.set(this.id, this);\r\n this.rest.emit(\"guildUpdate\", this);\r\n return this;\r\n }\r\n\r\n async togglePrice(price: number) {\r\n Assertion.assertNumber(price);\r\n const includesPrice = this.prices.includes(price);\r\n if (includesPrice) this.prices = this.prices.filter((p) => p !== price);\r\n else this.prices.push(price);\r\n\r\n await this.update({ prices: this.prices });\r\n return this;\r\n }\r\n async addPrefix(prefixes: string | string[]) {\r\n const url = Routes.fields(Routes.guilds.resource(this.id, \"prefixes\"));\r\n const _p = Array.isArray(prefixes) ? prefixes : [prefixes];\r\n\r\n const payload = { set: [...new Set([...this.prefixes, ..._p])] };\r\n const response = await this.rest.request<APIGuild, typeof payload>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n return this.#update(response);\r\n }\r\n async removePrefix(prefixes: string | string[]) {\r\n const url = Routes.fields(Routes.guilds.resource(this.id, \"prefixes\"));\r\n const _p = Array.isArray(prefixes) ? prefixes : [prefixes];\r\n const newPrefixes = [...new Set([...this.prefixes, ..._p])].filter((p) => !_p.some((o) => o === p));\r\n\r\n const payload = { set: newPrefixes };\r\n const response = await this.rest.request<APIGuild, typeof payload>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n return this.#update(response);\r\n }\r\n\r\n async setPrefixes(prefixes: string | string[]) {\r\n const url = Routes.fields(Routes.guilds.resource(this.id, \"prefixes\"));\r\n const payload = { set: Array.isArray(prefixes) ? prefixes : [prefixes] };\r\n const response = await this.rest.request<APIGuild, typeof payload>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n return this.#update(response);\r\n }\r\n async toggleDailyCategory(category: keyof Omit<Daily, \"date\">) {\r\n Assertion.assertString(category);\r\n let categories = this.daily_categories;\r\n\r\n const returnCategories = () => {\r\n const isCategoryOn = categories.includes(category);\r\n if (isCategoryOn) categories = categories.filter((m) => m !== category);\r\n else categories = [...categories, category];\r\n return categories;\r\n };\r\n\r\n const _categories = returnCategories();\r\n const payload = { daily_categories: _categories };\r\n const url = Routes.guilds.get(this.id);\r\n const response = await this.rest.request<APIGuild, typeof payload>({\r\n method: \"patch\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n return this.#update(response);\r\n }\r\n\r\n async setScores(name: AvailableScores, amount: number) {\r\n const url = Routes.guilds.get(this.id);\r\n\r\n let scores = this.scores;\r\n scores[name] = amount;\r\n\r\n const payload = { scores };\r\n const response = await this.rest.request<APIGuild, typeof payload>({\r\n method: \"patch\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n return this.#update(response);\r\n }\r\n async toggleMode(mode: \"1v1\" | \"2v2\" | \"3v3\" | \"4v4\" | \"5v5\" | \"6v6\") {\r\n const url = Routes.guilds.get(this.id);\r\n\r\n let modes = this.modes;\r\n\r\n const returnModes = () => {\r\n const isModeOn = modes.on.includes(mode);\r\n\r\n if (isModeOn) {\r\n modes.on = modes.on.filter((m) => m !== mode);\r\n modes.off.push(mode);\r\n return modes;\r\n } else {\r\n modes.off = modes.off.filter((m) => m !== mode);\r\n modes.on.push(mode);\r\n return modes;\r\n }\r\n };\r\n const md = returnModes();\r\n const payload = { modes: md };\r\n const response = await this.rest.request<APIGuild, typeof payload>({\r\n method: \"patch\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n return this.#update(response);\r\n }\r\n}\r\n\r\ntype AvailableScores = \"win\" | \"loss\" | \"mvp\" | \"creator\" | \"coin\";\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAWO;AACP,iCAAoC;AACpC,kCAAqC;AACrC,gCAAmC;AACnC,+BAAkC;AAElC,oBAAuB;AA0BvB,uBAA0B;AA3C1B;AA6CO,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0EjB,YAAY,MAAgB,MAAY;AA1EnC;AAEL;AAAA;AAGA;AAAA;AAGA;AAAA;AAEA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AACA;AACA;AAEA;AAAA;AAGA;AAAA;AAEA;AACA;AAEA;AAAA;AACA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAOE,SAAK,OAAO;AACZ,SAAK,OAAO;AAEZ,SAAK,KAAK,MAAM;AAChB,SAAK,aAAa,MAAM;AAExB,SAAK,mBAAmB,MAAM;AAC9B,SAAK,cAAc,MAAM;AACzB,SAAK,QAAQ,MAAM;AACnB,SAAK,SAAS,MAAM;AACpB,SAAK,SAAS,MAAM;AACpB,SAAK,QAAQ,MAAM;AACnB,SAAK,SAAS,MAAM;AACpB,SAAK,WAAW,MAAM;AACtB,SAAK,SAAS,MAAM;AACpB,SAAK,wBAAwB,MAAM;AACnC,SAAK,WAAW,MAAM;AAEtB,SAAK,cAAc,MAAM;AACzB,SAAK,oBAAoB,MAAM;AAC/B,SAAK,eAAe,MAAM,gBAAgB;AAAA,MACxC,QAAQ;AAAA,QACN,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,MACX;AAAA,MACA,OAAO;AAAA,QACL,UAAU;AAAA,QACV,SAAS;AAAA,MACX;AAAA,MAEA,MAAM;AAAA,QACJ,UAAU;AAAA,MACZ;AAAA,MAEA,SAAS;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,IACF;AACA,SAAK,cAAc,MAAM;AACzB,SAAK,YAAY,MAAM;AAEvB,SAAK,YAAY,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AACxE,SAAK,YAAY,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AAExE,SAAK,qBAAqB,IAAI,uCAAuB,IAAI;AACzD,SAAK,SAAS,IAAI,8BAAc,IAAI;AACpC,SAAK,QAAQ,IAAI,4BAAY,IAAI;AACjC,SAAK,QAAQ,IAAI,iCAAiB,IAAI;AACtC,SAAK,UAAU,IAAI,kCAAkB,IAAI;AACzC,SAAK,UAAU,IAAI,mCAAmB,IAAI;AAC1C,SAAK,aAAa,IAAI,iCAAiB,IAAI;AAC3C,SAAK,aAAa,IAAI,2BAAW,IAAI;AACrC,SAAK,WAAW,IAAI,+CAAoB,IAAI;AAC5C,SAAK,OAAO,IAAI,gCAAgB,IAAI;AACpC,SAAK,YAAY,IAAI,iDAAqB,IAAI;AAC9C,SAAK,oBAAoB,IAAI,wCAAwB,IAAI;AACzD,SAAK,cAAc,IAAI,2CAAkB,IAAI;AAC7C,SAAK,gBAAgB,IAAI,6CAAmB,IAAI;AAChD,SAAK,UAAU,CAAC;AAChB,aAAS,QAAQ,MAAM,WAAW,CAAC,GAAG;AACpC,WAAK,QAAQ,KAAK;AAAA,QAChB,KAAK,KAAK;AAAA,QACV,UAAU,KAAK;AAAA,QACf,kBAAkB,KAAK;AAAA,QACvB,SAAS,KAAK;AAAA,QAEd,WAAW,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,IAAI,oBAAI,KAAK;AAAA,QAChE,WAAW,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,IAAI,oBAAI,KAAK;AAAA,MAClE,CAAC;AAAA,IACH;AACA,SAAK,QAAQ,CAAC;AACd,aAAS,QAAQ,MAAM,SAAS,CAAC,GAAG;AAClC,WAAK,MAAM,KAAK;AAAA,QACd,KAAK,KAAK;AAAA,QACV,UAAU,KAAK;AAAA,QACf,MAAM,KAAK;AAAA,QACX,KAAK,KAAK;AAAA,QACV,MAAM,KAAK;AAAA,QAEX,QAAQ,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,IAAI,oBAAI,KAAK;AAAA,QACvD,WAAW,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,IAAI,oBAAI,KAAK;AAAA,QAChE,WAAW,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,IAAI,oBAAI,KAAK;AAAA,MAClE,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,MAAM,SAAS;AACb,UAAM,QAAQ,IAAI;AAAA,MAChB,KAAK,MAAM,MAAM;AAAA,MACjB,KAAK,QAAQ,MAAM;AAAA,MACnB,KAAK,QAAQ,MAAM;AAAA,MACnB,KAAK,WAAW,MAAM;AAAA,MACtB,KAAK,WAAW,MAAM;AAAA,MACtB,KAAK,SAAS,MAAM;AAAA,MACpB,KAAK,KAAK,MAAM;AAAA,MAChB,KAAK,UAAU,MAAM;AAAA,MACrB,KAAK,YAAY,MAAM;AAAA,MACvB,KAAK,MAAM,MAAM;AAAA,MACjB,KAAK,kBAAkB,MAAM;AAAA,MAC7B,KAAK,cAAc,MAAM,IAAI;AAAA,IAC/B,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,WAAW,MAA0D;AACzE,UAAM,UAAU,KAAK,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI;AACzD,QAAI,QAAS,QAAO;AAAA,SACf;AACH,YAAM,WAAW,CAAC,GAAG,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;AACrD,YAAM,MAAM,qBAAO,OAAO,IAAI,KAAK,EAAE;AACrC,YAAM,WAAW,MAAM,KAAK,KAAK,QAAsB;AAAA,QACrD,QAAQ;AAAA,QACR;AAAA,QACA,SAAS,EAAE,SAAS;AAAA,MACtB,CAAC;AACD,4BAAK,6BAAL,WAAa;AACb,aAAO,SAAS,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI;AAAA,IACtD;AAAA,EACF;AAAA,EACA,MAAM,cAAc,MAAkD;AACpE,UAAM,aAAa,KAAK,YAAY,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI;AAC/D,QAAI,WAAY,QAAO;AAAA,SAClB;AACH,YAAM,cAAc,CAAC,GAAG,KAAK,aAAa,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;AAC3D,YAAM,MAAM,qBAAO,OAAO,IAAI,KAAK,EAAE;AACrC,YAAM,WAAW,MAAM,KAAK,KAAK,QAAsB;AAAA,QACrD,QAAQ;AAAA,QACR;AAAA,QACA,SAAS,EAAE,YAAY;AAAA,MACzB,CAAC;AACD,4BAAK,6BAAL,WAAa;AACb,aAAO,SAAS,YAAY,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI;AAAA,IACzD;AAAA,EACF;AAAA,EACA,MAAM,aAAa,MAAgC;AACjD,SAAK,QAAQ,KAAK,IAAsB;AACxC,UAAM,MAAM,qBAAO,OAAO,IAAI,KAAK,EAAE;AACrC,UAAM,UAA8B,EAAE,SAAS,KAAK,SAAS,qBAAqB,KAAK,QAAQ,OAAO;AACtG,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkC,EAAE,QAAQ,SAAS,KAAU,QAAQ,CAAC;AACzG,WAAO,sBAAK,6BAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,aAAa,MAAgC;AACjD,UAAM,WAAW,KAAK,QAAQ,UAAU,CAAC,MAAM,EAAE,QAAQ,KAAK,GAAG;AACjE,QAAI,aAAa,GAAI,QAAO;AAE5B,SAAK,QAAQ,QAAQ,IAAI,EAAE,GAAG,KAAK,QAAQ,QAAQ,GAAG,GAAG,KAAK;AAC9D,UAAM,MAAM,qBAAO,OAAO,IAAI,KAAK,EAAE;AACrC,UAAM,UAAU,EAAE,SAAS,KAAK,QAAQ;AACxC,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkC,EAAE,QAAQ,SAAS,KAAU,QAAQ,CAAC;AACzG,WAAO,sBAAK,6BAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,aAAa,UAAkB;AACnC,UAAM,MAAM,qBAAO,OAAO,IAAI,KAAK,EAAE;AACrC,SAAK,UAAU,KAAK,QAAQ,OAAO,CAAC,MAAM,EAAE,QAAQ,QAAQ;AAC5D,UAAM,UAAU;AAAA,MACd,SAAS,KAAK;AAAA,MACd,qBAAqB,KAAK,QAAQ;AAAA,IACpC;AACA,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkC,EAAE,QAAQ,SAAS,KAAU,QAAQ,CAAC;AACzG,WAAO,sBAAK,6BAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,WAAW,MAAyB;AACxC,SAAK,MAAM,KAAK,IAAe;AAC/B,UAAM,MAAM,qBAAO,OAAO,IAAI,KAAK,EAAE;AACrC,UAAM,UAAU,EAAE,OAAO,KAAK,MAAM;AACpC,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkC,EAAE,QAAQ,SAAS,KAAU,QAAQ,CAAC;AACzG,WAAO,sBAAK,6BAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,WAAW,QAAgB;AAC/B,UAAM,MAAM,qBAAO,OAAO,IAAI,KAAK,EAAE;AACrC,UAAM,UAAU,EAAE,OAAO,KAAK,MAAM,OAAO,CAAC,MAAM,EAAE,KAAK,YAAY,MAAM,OAAO,YAAY,CAAC,EAAE;AACjG,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkC,EAAE,QAAQ,SAAS,KAAU,QAAQ,CAAC;AACzG,WAAO,sBAAK,6BAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,eAAe,MAAyB,IAAuB;AACnE,UAAM,UAAU,KAAK,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI;AACzD,UAAM,WAAW,MAAM,QAAQ,EAAE,IAAI,KAAK,CAAC,EAAE;AAE7C,QAAI,CAAC,SAAS;AAEZ,WAAK,SAAS,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,QAAQ,EAAE,CAAC;AAAA,IACjD,OAAO;AAEL,YAAM,UAAU,KAAK,SAAS,UAAU,CAAC,OAAO,GAAG,SAAS,IAAI;AAChE,YAAM,YAAY,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAI,QAAQ,OAAO,CAAC,GAAI,GAAG,QAAQ,CAAC,CAAC;AAEpE,WAAK,SAAS,OAAO,IAAI,EAAE,GAAG,SAAS,KAAK,UAAU;AAAA,IACxD;AAEA,UAAM,MAAM,qBAAO,OAAO,IAAI,KAAK,EAAE;AACrC,UAAM,UAAU,EAAE,UAAU,KAAK,SAAS;AAC1C,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkC;AAAA,MACjE,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AAED,WAAO,sBAAK,6BAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,cAAc,SAA4B,KAAe;AAC7D,UAAM,UAAU,KAAK,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI;AACzD,QAAI,CAAC,OAAO,IAAI,WAAW,EAAG;AAE9B,QAAI,CAAC,SAAS;AAEZ,WAAK,SAAS,KAAK,EAAE,MAAM,IAAI,CAAC;AAAA,IAClC,OAAO;AAEL,YAAM,UAAU,KAAK,SAAS,UAAU,CAAC,OAAO,GAAG,SAAS,IAAI;AAChE,YAAM,YAAY,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;AAEvC,WAAK,SAAS,OAAO,IAAI,EAAE,GAAG,SAAS,KAAK,UAAU;AAAA,IACxD;AAEA,UAAM,MAAM,qBAAO,OAAO,IAAI,KAAK,EAAE;AACrC,UAAM,UAAU,EAAE,UAAU,KAAK,SAAS;AAC1C,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkC;AAAA,MACjE,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AAED,WAAO,sBAAK,6BAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,kBAAkB,MAAyB,IAAuB;AACtE,UAAM,UAAU,KAAK,SAAS,UAAU,CAAC,MAAM,EAAE,SAAS,IAAI;AAE9D,QAAI,YAAY,IAAI;AAClB,YAAM,WAAW,KAAK,SAAS,OAAO;AACtC,YAAM,cAAc,MAAM,QAAQ,EAAE,IAAI,KAAK,CAAC,EAAE;AAChD,eAAS,MAAM,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,SAAS,CAAC,CAAC;AAClE,WAAK,SAAS,OAAO,IAAI;AAAA,IAC3B,OAAO;AACL,WAAK,SAAS,KAAK;AAAA,QACjB;AAAA,QACA,KAAK,CAAC;AAAA,MACR,CAAC;AAAA,IACH;AAEA,UAAM,MAAM,qBAAO,OAAO,IAAI,KAAK,EAAE;AACrC,UAAM,UAAU,EAAE,UAAU,KAAK,SAAS;AAC1C,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkC;AAAA,MACjE,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AAED,WAAO,sBAAK,6BAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,uBAAuB,MAA0D;AACrF,UAAM,QAAiD;AAAA,MACrD,mBAAmB;AAAA,QACjB,eAAe,CAAC,KAAK,UACjB,KAAK,iBAAiB,KAAK,kBAAkB,iBAAiB,YAC9D;AAAA,QACJ,iBAAiB,CAAC,KAAK,UACnB,KAAK,mBAAmB,KAAK,kBAAkB,mBAAmB,YAClE;AAAA,QACJ,gBAAgB,CAAC,KAAK,UAClB,KAAK,kBAAkB,KAAK,kBAAkB,kBAAkB,YAChE;AAAA,QACJ,YAAY,CAAC,KAAK,UAAU,KAAK,cAAc,KAAK,kBAAkB,cAAc,YAAY;AAAA,QAChG,QAAQ,KAAK,UAAU,KAAK,kBAAkB,UAAU,CAAC;AAAA,MAC3D;AAAA,IACF;AAEA,WAAO,KAAK,OAAO,KAAgD;AAAA,EACrE;AAAA,EACA,MAAM,qBAAqB,MAAsC;AAC/D,UAAM,QAAgD;AAAA,MACpD,cAAc;AAAA,QACZ,QAAQ;AAAA,UACN,QAAQ,MAAM,QAAQ,UAAU,KAAK,cAAc,QAAQ,UAAU;AAAA,UACrE,SAAS,MAAM,QAAQ,WAAW,KAAK,cAAc,QAAQ,WAAW;AAAA,UACxE,SAAS,MAAM,QAAQ,WAAW,KAAK,cAAc,QAAQ,WAAW;AAAA,UACxE,SAAS,MAAM,QAAQ,WAAW,KAAK,cAAc,QAAQ,WAAW;AAAA,QAC1E;AAAA,QACA,OAAO;AAAA,UACL,UAAU,MAAM,OAAO,YAAY,KAAK,cAAc,OAAO,YAAY;AAAA,UACzE,SAAS,MAAM,OAAO,WAAW,KAAK,cAAc,OAAO,WAAW;AAAA,QACxE;AAAA,QACA,MAAM;AAAA,UACJ,UAAU,MAAM,MAAM,YAAY,KAAK,cAAc,MAAM,YAAY;AAAA,QACzE;AAAA,QACA,SAAS;AAAA,UACP,QAAQ,MAAM,SAAS,UAAU,KAAK,cAAc,SAAS,UAAU;AAAA,UACvE,QAAQ,MAAM,SAAS,UAAU,KAAK,cAAc,SAAS,UAAU;AAAA,QACzE;AAAA,MACF;AAAA,IACF;AAEA,WAAO,KAAK,OAAO,KAA+C;AAAA,EACpE;AAAA,EACA,UAAU,KAAqC;AAC7C,WAAO,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,WAAW,aAAa,EAAE,WAAW,IAAI;AAAA,EAClF;AAAA,EACA,MAAM,iBAAiB,OAAgC;AACrD,QAAI,CAAC,MAAM,OAAO;AAChB,YAAM,IAAI,MAAM,yBAAyB;AAAA,IAC3C;AAEA,UAAM,SAAoC,KAAK,kBAAkB;AACjE,UAAM,aAAa,MAAM,MACrB,OAAO,UAAU,CAAC,MAAM,EAAE,QAAQ,MAAM,GAAG,IAC3C,OAAO,UAAU,CAAC,MAAM,EAAE,UAAU,MAAM,KAAK;AAEnD,UAAM,qBAAqB,OAAO,SAAS,IAAI,IAAI,OAAO,SAAS;AAEnE,QAAI,eAAe,IAAI;AACrB,YAAM,WAAW,OAAO,UAAU;AAElC,aAAO,UAAU,IAAI;AAAA,QACnB,OAAO,MAAM;AAAA,QACb,cAAc,MAAM,gBAAgB,SAAS;AAAA,QAC7C,oBAAoB,MAAM,sBAAsB,SAAS,sBAAsB;AAAA,QAC/E,KAAK,SAAS;AAAA,MAChB;AAAA,IACF,OAAO;AACL,aAAO,KAAK;AAAA,QACV,OAAO,MAAM;AAAA,QACb,cAAc,MAAM,gBAAgB;AAAA,QACpC,oBAAoB,MAAM,sBAAsB;AAAA,MAClD,CAAC;AAAA,IACH;AAEA,UAAM,KAAK,uBAAuB,EAAE,OAAkC,CAAC;AACvE,WAAO,KAAK,kBAAkB,OAAO,KAAK,CAAC,MAAM,EAAE,UAAU,MAAM,KAAK;AAAA,EAC1E;AAAA,EACA,MAAM,oBAAoB,IAAY;AACpC,QAAI,SAAS,KAAK,kBAAkB;AACpC,QAAI,CAAC,OAAO,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAG,QAAO;AAE9C,aAAS,OAAO,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE;AAC1C,WAAO,KAAK,uBAAuB,EAAE,OAAO,CAAC;AAAA,EAC/C;AAAA,EA4CA,MAAM,QAAwB;AAC5B,UAAM,MAAM,qBAAO,OAAO,IAAI,KAAK,EAAE;AACrC,UAAM,WAAW,MAAM,KAAK,KAAK,QAAsB;AAAA,MACrD,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAED,WAAO,sBAAK,6BAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,QAAwB;AAC5B,WAAO,KAAK,OAAO,EAAE,OAAO,KAAK,CAAC;AAAA,EACpC;AAAA,EACA,MAAM,OAAO,MAAgE;AAC3E,UAAM,MAAM,qBAAO,OAAO,IAAI,KAAK,EAAE;AACrC,UAAM,WAAW,MAAM,KAAK,KAAK,QAA+B;AAAA,MAC9D,QAAQ;AAAA,MACR;AAAA,MACA,SAAS;AAAA,IACX,CAAC;AAED,WAAO,sBAAK,6BAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,UAAU,KAAwB,QAAsB;AAC5D,+BAAU,aAAa,GAAG;AAC1B,SAAK,OAAO,GAAG,IAAI;AACnB,UAAM,MAAM,qBAAO,OAAO,SAAS,KAAK,IAAI,QAAQ;AACpD,UAAM,UAAU,EAAE,KAAK,KAAK,OAAO;AACnC,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkC;AAAA,MACjE,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AAED,SAAK,SAAS,SAAS;AACvB,SAAK,KAAK,OAAO,MAAM,IAAI,KAAK,IAAI,IAAI;AACxC,SAAK,KAAK,KAAK,eAAe,IAAI;AAClC,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,YAAY,OAAe;AAC/B,+BAAU,aAAa,KAAK;AAC5B,UAAM,gBAAgB,KAAK,OAAO,SAAS,KAAK;AAChD,QAAI,cAAe,MAAK,SAAS,KAAK,OAAO,OAAO,CAAC,MAAM,MAAM,KAAK;AAAA,QACjE,MAAK,OAAO,KAAK,KAAK;AAE3B,UAAM,KAAK,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC;AACzC,WAAO;AAAA,EACT;AAAA,EACA,MAAM,UAAU,UAA6B;AAC3C,UAAM,MAAM,qBAAO,OAAO,qBAAO,OAAO,SAAS,KAAK,IAAI,UAAU,CAAC;AACrE,UAAM,KAAK,MAAM,QAAQ,QAAQ,IAAI,WAAW,CAAC,QAAQ;AAEzD,UAAM,UAAU,EAAE,KAAK,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,KAAK,UAAU,GAAG,EAAE,CAAC,CAAC,EAAE;AAC/D,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkC;AAAA,MACjE,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AAED,WAAO,sBAAK,6BAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,aAAa,UAA6B;AAC9C,UAAM,MAAM,qBAAO,OAAO,qBAAO,OAAO,SAAS,KAAK,IAAI,UAAU,CAAC;AACrE,UAAM,KAAK,MAAM,QAAQ,QAAQ,IAAI,WAAW,CAAC,QAAQ;AACzD,UAAM,cAAc,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,KAAK,UAAU,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC;AAElG,UAAM,UAAU,EAAE,KAAK,YAAY;AACnC,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkC;AAAA,MACjE,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AAED,WAAO,sBAAK,6BAAL,WAAa;AAAA,EACtB;AAAA,EAEA,MAAM,YAAY,UAA6B;AAC7C,UAAM,MAAM,qBAAO,OAAO,qBAAO,OAAO,SAAS,KAAK,IAAI,UAAU,CAAC;AACrE,UAAM,UAAU,EAAE,KAAK,MAAM,QAAQ,QAAQ,IAAI,WAAW,CAAC,QAAQ,EAAE;AACvE,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkC;AAAA,MACjE,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AAED,WAAO,sBAAK,6BAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,oBAAoB,UAAqC;AAC7D,+BAAU,aAAa,QAAQ;AAC/B,QAAI,aAAa,KAAK;AAEtB,UAAM,mBAAmB,MAAM;AAC7B,YAAM,eAAe,WAAW,SAAS,QAAQ;AACjD,UAAI,aAAc,cAAa,WAAW,OAAO,CAAC,MAAM,MAAM,QAAQ;AAAA,UACjE,cAAa,CAAC,GAAG,YAAY,QAAQ;AAC1C,aAAO;AAAA,IACT;AAEA,UAAM,cAAc,iBAAiB;AACrC,UAAM,UAAU,EAAE,kBAAkB,YAAY;AAChD,UAAM,MAAM,qBAAO,OAAO,IAAI,KAAK,EAAE;AACrC,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkC;AAAA,MACjE,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AAED,WAAO,sBAAK,6BAAL,WAAa;AAAA,EACtB;AAAA,EAEA,MAAM,UAAU,MAAuB,QAAgB;AACrD,UAAM,MAAM,qBAAO,OAAO,IAAI,KAAK,EAAE;AAErC,QAAI,SAAS,KAAK;AAClB,WAAO,IAAI,IAAI;AAEf,UAAM,UAAU,EAAE,OAAO;AACzB,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkC;AAAA,MACjE,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AAED,WAAO,sBAAK,6BAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,WAAW,MAAqD;AACpE,UAAM,MAAM,qBAAO,OAAO,IAAI,KAAK,EAAE;AAErC,QAAI,QAAQ,KAAK;AAEjB,UAAM,cAAc,MAAM;AACxB,YAAM,WAAW,MAAM,GAAG,SAAS,IAAI;AAEvC,UAAI,UAAU;AACZ,cAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,MAAM,IAAI;AAC5C,cAAM,IAAI,KAAK,IAAI;AACnB,eAAO;AAAA,MACT,OAAO;AACL,cAAM,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,MAAM,IAAI;AAC9C,cAAM,GAAG,KAAK,IAAI;AAClB,eAAO;AAAA,MACT;AAAA,IACF;AACA,UAAM,KAAK,YAAY;AACvB,UAAM,UAAU,EAAE,OAAO,GAAG;AAC5B,UAAM,WAAW,MAAM,KAAK,KAAK,QAAkC;AAAA,MACjE,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AAED,WAAO,sBAAK,6BAAL,WAAa;AAAA,EACtB;AACF;AAjmBO;AA8ZL,YAAO,SAAC,MAA0B;AAChC,WAAS,OAAO,MAAM;AACpB,QAAI,QAAQ,QAAQ,QAAQ,eAAe,QAAQ,QAAS;AAC5D,QAAI,OAAO,MAAM;AACf,MAAC,KAAa,GAAG,IAAI,KAAK,GAAqB;AAAA,IACjD;AACA,QAAI,QAAQ,WAAW;AACrB,WAAK,UAAU,CAAC;AAChB,eAAS,QAAQ,KAAK,SAAS;AAC7B,aAAK,QAAQ,KAAK;AAAA,UAChB,KAAK,KAAK;AAAA,UACV,UAAU,KAAK;AAAA,UACf,kBAAkB,KAAK;AAAA,UACvB,SAAS,KAAK;AAAA,UAEd,WAAW,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,IAAI,oBAAI,KAAK;AAAA,UAChE,WAAW,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,IAAI,oBAAI,KAAK;AAAA,QAClE,CAAC;AAAA,MACH;AAAA,IACF;AACA,QAAI,QAAQ,QAAQ;AAClB,WAAK,QAAQ,CAAC;AACd,eAAS,QAAQ,KAAK,OAAO;AAC3B,aAAK,MAAM,KAAK;AAAA,UACd,KAAK,KAAK;AAAA,UACV,UAAU,KAAK;AAAA,UACf,MAAM,KAAK;AAAA,UACX,KAAK,KAAK;AAAA,UACV,MAAM,KAAK;AAAA,UACX,QAAQ,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,IAAI,oBAAI,KAAK;AAAA,UACvD,WAAW,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,IAAI,oBAAI,KAAK;AAAA,UAChE,WAAW,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,IAAI,oBAAI,KAAK;AAAA,QAClE,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAEA,OAAK,YAAY,oBAAI,KAAK;AAC1B,OAAK,KAAK,OAAO,MAAM,IAAI,KAAK,IAAI,IAAI;AACxC,OAAK,KAAK,KAAK,eAAe,IAAI;AAClC,SAAO;AACT;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/structures/index.ts"],"sourcesContent":["export * from \"./automaticmessage/AutomaticMessage\";\r\nexport * from \"./bet/GuildBet\";\r\nexport * from \"./betuser/GuildBetUser\";\r\nexport * from \"./guild/Guild\";\r\nexport * from \"./logentry/LogEntry\";\r\nexport * from \"./match/GuildMatch\";\r\nexport * from \"./mediator/GuildMediator\";\r\nexport * from \"./user/GuildUser\";\r\nexport * from \"./ticketpanel/TicketPanel\";\r\nexport * from \"./tournament/Tournament\";\r\nexport * from \"./vipmember/VipMember\";\r\nexport * from \"./ticket/Ticket\";\r\nexport * from \"./minesgame/MinesGame\";\r\nexport * from \"./product/Product\";\r\nexport * from \"./shop/Shop\";\r\nexport * from \"./Collection\";\r\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,+BAAc,gDAAd;AACA,+BAAc,2BADd;AAEA,+BAAc,mCAFd;AAGA,+BAAc,0BAHd;AAIA,+BAAc,gCAJd;AAKA,+BAAc,+BALd;AAMA,+BAAc,qCANd;AAOA,+BAAc,6BAPd;AAQA,+BAAc,sCARd;AASA,+BAAc,oCATd;AAUA,+BAAc,kCAVd;AAWA,+BAAc,4BAXd;AAYA,+BAAc,kCAZd;AAaA,+BAAc,8BAbd;AAcA,+BAAc,wBAdd;AAeA,+BAAc,yBAfd;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/structures/logentry/LogEntry.ts"],"sourcesContent":["import { LogManager } from \"../../managers\";\r\nimport { REST, Routes } from \"../../rest\";\r\nimport { APILogEntry, LogEntryTypes, Optional } from \"../../types\";\r\nimport { Guild } from \"../guild/Guild\";\r\n\r\nexport class LogEntry {\r\n _id: string;\r\n guild_id: string;\r\n user_id: string;\r\n admin_id: string;\r\n object_id: string;\r\n\r\n type: LogEntryTypes;\r\n description: string;\r\n change: string;\r\n\r\n before: any;\r\n after: any;\r\n logs_channel_id: string;\r\n\r\n createdAt: Date;\r\n updatedAt: Date;\r\n\r\n manager: LogManager;\r\n\r\n /** The given guild */\r\n readonly guild: Guild;\r\n\r\n /** The rest client */\r\n readonly rest: REST;\r\n\r\n constructor(data: APILogEntry, manager: LogManager) {\r\n this.manager = manager;\r\n this.guild = manager.guild;\r\n\r\n this._id = data?._id;\r\n this.guild_id = data?.guild_id;\r\n this.user_id = data?.user_id;\r\n this.admin_id = data?.admin_id;\r\n this.object_id = data?.object_id;\r\n\r\n this.type = data?.type;\r\n this.description = data?.description;\r\n this.change = data?.change;\r\n this.before = data?.before;\r\n this.after = data?.after;\r\n this.logs_channel_id = data?.logs_channel_id;\r\n\r\n this.createdAt = data?.createdAt ? new Date(data?.createdAt) : new Date();\r\n this.updatedAt = data?.updatedAt ? new Date(data?.updatedAt) : new Date();\r\n }\r\n\r\n async fetch(): Promise<LogEntry> {\r\n const url = Routes.fields(\"guilds\", this.guild.id, \"logentries\", this._id);\r\n const response = await this.rest.request<APILogEntry, {}>({ url: url, method: \"GET\" });\r\n\r\n return this.#update(response);\r\n }\r\n\r\n toJSON() {\r\n return {\r\n _id: this._id,\r\n guild_id: this.guild_id,\r\n user_id: this.user_id,\r\n admin_id: this.admin_id,\r\n object_id: this.object_id,\r\n\r\n type: this.type,\r\n description: this.description,\r\n change: this.change,\r\n logs_channel_id: this.logs_channel_id,\r\n\r\n before: this.before,\r\n after: this.after,\r\n\r\n createdAt: this.createdAt,\r\n updatedAt: this.updatedAt,\r\n };\r\n }\r\n\r\n #update(data: Optional<APILogEntry>) {\r\n for (let key in data) {\r\n if (key === \"id\" || key === \"createdAt\") continue;\r\n if (key in this) {\r\n (this as any)[key] = data[key as keyof APILogEntry];\r\n }\r\n }\r\n\r\n this.updatedAt = new Date();\r\n this.manager.set(this);\r\n return this;\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAA6B;AAD7B;AAKO,MAAM,SAAS;AAAA,EA0BpB,YAAY,MAAmB,SAAqB;AA1B/C;AACL;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AAGA;AAAA,wBAAS;AAGT;AAAA,wBAAS;AAGP,SAAK,UAAU;AACf,SAAK,QAAQ,QAAQ;AAErB,SAAK,MAAM,MAAM;AACjB,SAAK,WAAW,MAAM;AACtB,SAAK,UAAU,MAAM;AACrB,SAAK,WAAW,MAAM;AACtB,SAAK,YAAY,MAAM;AAEvB,SAAK,OAAO,MAAM;AAClB,SAAK,cAAc,MAAM;AACzB,SAAK,SAAS,MAAM;AACpB,SAAK,SAAS,MAAM;AACpB,SAAK,QAAQ,MAAM;AACnB,SAAK,kBAAkB,MAAM;AAE7B,SAAK,YAAY,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AACxE,SAAK,YAAY,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AAAA,EAC1E;AAAA,EAEA,MAAM,QAA2B;AAC/B,UAAM,MAAM,mBAAO,OAAO,UAAU,KAAK,MAAM,IAAI,cAAc,KAAK,GAAG;AACzE,UAAM,WAAW,MAAM,KAAK,KAAK,QAAyB,EAAE,KAAU,QAAQ,MAAM,CAAC;AAErF,WAAO,sBAAK,gCAAL,WAAa;AAAA,EACtB;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,KAAK,KAAK;AAAA,MACV,UAAU,KAAK;AAAA,MACf,SAAS,KAAK;AAAA,MACd,UAAU,KAAK;AAAA,MACf,WAAW,KAAK;AAAA,MAEhB,MAAM,KAAK;AAAA,MACX,aAAa,KAAK;AAAA,MAClB,QAAQ,KAAK;AAAA,MACb,iBAAiB,KAAK;AAAA,MAEtB,QAAQ,KAAK;AAAA,MACb,OAAO,KAAK;AAAA,MAEZ,WAAW,KAAK;AAAA,MAChB,WAAW,KAAK;AAAA,IAClB;AAAA,EACF;AAcF;AAvFO;AA2EL,YAAO,SAAC,MAA6B;AACnC,WAAS,OAAO,MAAM;AACpB,QAAI,QAAQ,QAAQ,QAAQ,YAAa;AACzC,QAAI,OAAO,MAAM;AACf,MAAC,KAAa,GAAG,IAAI,KAAK,GAAwB;AAAA,IACpD;AAAA,EACF;AAEA,OAAK,YAAY,oBAAI,KAAK;AAC1B,OAAK,QAAQ,IAAI,IAAI;AACrB,SAAO;AACT;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/structures/match/GuildMatch.ts"],"sourcesContent":["import { REST } from \"../../rest/REST\";\r\nimport { Routes } from \"../../rest/Routes\";\r\nimport { Assertion } from \"../../utils/Assertion\";\r\nimport {\r\n APIBaseChannel,\r\n APIGuildBet,\r\n APIGuildMatch,\r\n APIMessage,\r\n APIPlayer,\r\n BaseMatchModes,\r\n BaseMatchStatus,\r\n Confirm,\r\n MatchSelection,\r\n Optional,\r\n} from \"../../types\";\r\nimport { GuildMatchManager, MessagesManager } from \"../../managers\";\r\nimport { Guild } from \"../guild/Guild\";\r\nimport { GuildBet } from \"../bet/GuildBet\";\r\n\r\nexport class GuildMatch {\r\n _id: string;\r\n selections: MatchSelection[];\r\n /** Match's type */\r\n type: BaseMatchModes;\r\n channels: APIBaseChannel[];\r\n guild_id: string;\r\n /** Match's status */\r\n status: BaseMatchStatus;\r\n\r\n /** Match's challenge */\r\n challenge: boolean;\r\n\r\n /** Match's players */\r\n players: APIPlayer[];\r\n teams: APIPlayer[][];\r\n\r\n /** Match's winners */\r\n winners: APIPlayer[];\r\n\r\n /** Match's losers */\r\n losers: APIPlayer[];\r\n\r\n /** Match's maximum size */\r\n maximumSize: number;\r\n\r\n /** Match's kicked out */\r\n kickedOut: APIPlayer[];\r\n\r\n /** Match's confirmed */\r\n confirmed: Confirm[];\r\n\r\n /** Match's leaders */\r\n leaders: APIPlayer[];\r\n\r\n /** Match's creator id */\r\n creatorId: string;\r\n\r\n /** Match's room creator id */\r\n roomCreatorId: string;\r\n\r\n /** Creation Date */\r\n createdAt: Date;\r\n\r\n /** Updated Date */\r\n updatedAt: Date;\r\n messages: MessagesManager<GuildMatch>;\r\n mvps: string[];\r\n manager: GuildMatchManager;\r\n bet: GuildBet;\r\n admin_id: string;\r\n url: string;\r\n code: string;\r\n\r\n logs: {\r\n shutted: string;\r\n closed: string;\r\n managed: string;\r\n };\r\n betting: number;\r\n /** The given guild */\r\n readonly guild: Guild;\r\n\r\n /** The rest client */\r\n readonly rest: REST;\r\n readonly key: string;\r\n\r\n /**\r\n * GuildMatch match\r\n * @param data The match's data\r\n * @param guild The guild\r\n * @param rest The rest client\r\n */\r\n\r\n constructor(data: APIGuildMatch, manager: GuildMatchManager) {\r\n this._id = data?._id;\r\n this.guild_id = data?.guild_id;\r\n this.manager = manager;\r\n this.guild = manager.guild;\r\n this.rest = manager.rest;\r\n\r\n this.admin_id = data?.admin_id;\r\n this.challenge = data?.challenge;\r\n this.players = data?.players;\r\n\r\n this.messages = new MessagesManager(this, Routes.guilds.matches.resource(this.guild_id, this._id, \"messages\"));\r\n this.channels = data?.channels;\r\n\r\n this.type = data?.type;\r\n this.status = data?.status;\r\n this.bet = this.guild.bets.cache.get(data?.bet?._id);\r\n this.mvps = data?.mvps;\r\n this.betting = data?.betting;\r\n this.winners = data?.winners;\r\n this.losers = data?.losers;\r\n this.maximumSize = data?.maximumSize;\r\n this.kickedOut = data?.kickedOut;\r\n this.url = data?.url;\r\n this.logs = data?.logs;\r\n this.code = data?.code;\r\n\r\n this.confirmed = data?.confirmed;\r\n\r\n this.teams = data?.teams;\r\n this.leaders = data?.leaders;\r\n this.creatorId = data?.creatorId;\r\n this.roomCreatorId = data?.roomCreatorId;\r\n this.selections = data?.selections;\r\n\r\n this.key = \"matches\";\r\n this.createdAt = data?.createdAt ? new Date(data?.createdAt) : new Date();\r\n this.updatedAt = data?.updatedAt ? new Date(data?.updatedAt) : new Date();\r\n\r\n if (data?.messages?.length !== 0) this.messages.set(data.messages);\r\n }\r\n\r\n /**\r\n * Fetches the match\r\n * @returns New Instance of the match\r\n */\r\n async fetch(): Promise<GuildMatch> {\r\n const url = Routes.guilds.matches.get(this.guild.id, this._id);\r\n const response = await this.rest.request<APIGuildMatch, {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n\r\n return await this.#update(response);\r\n }\r\n\r\n async addConfirmed(type: string, id: string | string[]): Promise<GuildMatch> {\r\n const confirmed = this.confirmed.find((c) => c.type === type);\r\n const idsToAdd = Array.isArray(id) ? id : [id];\r\n\r\n if (!confirmed) {\r\n this.confirmed.push({ type, ids: [...idsToAdd], count: idsToAdd.length });\r\n } else {\r\n const chIndex = this.confirmed.findIndex((ch) => ch.type === type);\r\n const mergedIds = [...new Set([...(confirmed.ids || []), ...idsToAdd])];\r\n this.confirmed[chIndex] = { ...confirmed, ids: mergedIds, count: mergedIds.length };\r\n }\r\n return this.update({ confirmed: this.confirmed });\r\n }\r\n async setConfirmed(set: Confirm[]): Promise<GuildMatch> {\r\n Assertion.assertObject(set);\r\n const url = Routes.guilds.matches.resource(this.guild.id, this._id, \"confirmed\");\r\n\r\n const response = await this.rest.request<APIGuildMatch, typeof set>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload: set,\r\n });\r\n\r\n return await this.#update(response);\r\n }\r\n\r\n async setStatus(status: BaseMatchStatus): Promise<GuildMatch> {\r\n Assertion.assertString(status);\r\n\r\n const payload = { set: status.toLowerCase() };\r\n const url = Routes.guilds.matches.resource(this.guild.id, this._id, \"status\");\r\n const response = await this.rest.request<APIGuildMatch, typeof payload>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n return await this.#update(response);\r\n }\r\n async setWinners(players: Optional<APIPlayer>[] | Optional<APIPlayer>): Promise<GuildMatch> {\r\n if (!Array.isArray(players)) players = [players];\r\n\r\n const payload = { set: players };\r\n const url = Routes.guilds.matches.resource(this.guild.id, this._id, \"winners\");\r\n const response = await this.rest.request<APIGuildMatch, typeof payload>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n return await this.#update(response);\r\n }\r\n async setLoser(players: Optional<APIPlayer>[] | Optional<APIPlayer>): Promise<GuildMatch> {\r\n if (!Array.isArray(players)) players = [players];\r\n\r\n const payload = { set: players };\r\n const url = Routes.guilds.matches.resource(this.guild.id, this._id, \"losers\");\r\n const response = await this.rest.request<APIGuildMatch, {}>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n return await this.#update(response);\r\n }\r\n async setMvps(...usersId: string[]): Promise<GuildMatch> {\r\n const payload = { set: usersId };\r\n const url = Routes.guilds.matches.resource(this.guild.id, this._id, \"mvps\");\r\n const response = await this.rest.request<APIGuildMatch, {}>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n return await this.#update(response);\r\n }\r\n async setRoomCreatorId(userId: string): Promise<GuildMatch> {\r\n Assertion.assertString(userId);\r\n\r\n const payload = { set: userId };\r\n const url = Routes.guilds.matches.resource(this.guild.id, this._id, \"roomCreatorId\");\r\n const response = await this.rest.request<APIGuildMatch, {}>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n return await this.#update(response);\r\n }\r\n async setRoomAdminId(userId: string): Promise<GuildMatch> {\r\n Assertion.assertString(userId);\r\n\r\n const payload = { set: userId };\r\n const url = Routes.guilds.matches.resource(this.guild.id, this._id, \"admin_id\");\r\n const response = await this.rest.request<APIGuildMatch, {}>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n return await this.#update(response);\r\n }\r\n async kick(player: Optional<APIPlayer>) {\r\n this.players = this.players.filter((p) => p.id !== player.id);\r\n this.leaders = this.leaders.filter((p) => p.id !== player.id);\r\n\r\n const teamIndex = this.teams.findIndex((t) => t.some((p) => p.id === player.id));\r\n if (teamIndex !== -1) {\r\n let team = this.teams.find((t) => t.some((p) => p.id === player.id));\r\n team = team.filter((p) => p.id === player.id);\r\n this.teams[teamIndex] = team;\r\n }\r\n\r\n return await this.update(this.toJSON());\r\n }\r\n\r\n async update(data: Optional<APIGuildMatch>): Promise<GuildMatch> {\r\n const url = Routes.guilds.matches.get(this.guild.id, this._id);\r\n if (data?.bet && data?.bet instanceof GuildBet) {\r\n data.bet = data.bet.toJSON() as APIGuildBet;\r\n }\r\n const response = await this.rest.request<APIGuildMatch, typeof data>({\r\n method: \"patch\",\r\n url: url,\r\n payload: data,\r\n });\r\n this.rest.emit(\"matchUpdate\", this, new GuildMatch(response, this.manager));\r\n return await this.#update(response);\r\n }\r\n async delete() {\r\n const url = Routes.guilds.matches.resource(this.guild.id, this._id);\r\n const response = await this.rest.request<boolean, {}>({\r\n method: \"DELETE\",\r\n url: url,\r\n });\r\n\r\n this.manager.cache.delete(this?._id);\r\n this.rest.matches.delete(this?._id);\r\n return response;\r\n }\r\n toJSON(): Optional<APIGuildMatch> {\r\n let json: { [K in keyof GuildMatch]?: GuildMatch[K] } = {};\r\n\r\n for (const [key, value] of Object.entries(this)) {\r\n const exclude = [\"rest\", \"guilds\", \"guild\", \"manager\"];\r\n if (exclude.includes(key)) continue;\r\n\r\n if (typeof value !== \"function\") {\r\n (json as any)[key] = value;\r\n }\r\n }\r\n return {\r\n ...json,\r\n messages: this?.messages instanceof MessagesManager ? this.messages?.cache?.toArray() : [],\r\n };\r\n }\r\n\r\n async #update(data: Optional<APIGuildMatch>) {\r\n if (!data) return;\r\n\r\n for (let key in data) {\r\n if (key === \"id\" || key === \"createdAt\" || key === \"messages\") continue;\r\n if (key in this) {\r\n (this as any)[key] = data[key as keyof APIGuildMatch];\r\n }\r\n if (key === \"bet\") {\r\n this.bet = this.guild.bets.set(data.bet) as GuildBet;\r\n }\r\n }\r\n\r\n if (data?.messages?.length !== 0) {\r\n if (this?.messages instanceof MessagesManager) this.messages.set(data.messages);\r\n else {\r\n this.messages = new MessagesManager(this, Routes.guilds.matches.resource(this.guild_id, this._id, \"messages\"));\r\n this.messages.set(data.messages);\r\n }\r\n }\r\n\r\n if (!(this.bet instanceof GuildBet) && data?.bet) {\r\n this.bet =\r\n this.guild.bets.cache.get(data._id) ?? ((await this.guild.bets.fetch({ betId: data?.bet?._id })) as GuildBet);\r\n }\r\n\r\n this.updatedAt = new Date();\r\n this.manager.set(this);\r\n return this;\r\n }\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/structures/mediator/GuildMediator.ts"],"sourcesContent":["import { GuildMediatorManager } from \"../../managers/mediator/GuildMediatorManager\";\r\nimport { REST } from \"../../rest/REST\";\r\nimport { Routes } from \"../../rest/Routes\";\r\nimport { Accessory, APIAdvert, Daily, Optional, OriginalChannel, OriginalChannels, Profile } from \"../../types/api\";\r\nimport { APIGuildMediator } from \"../../types/api/APIGuildMediator\";\r\nimport { Guild } from \"../guild/Guild\";\r\n\r\nexport class GuildMediator implements APIGuildMediator {\r\n /** User's name */\r\n id: string;\r\n guild_id: string;\r\n\r\n /** User's games */\r\n games: number;\r\n\r\n paypal: string;\r\n revolut: string;\r\n mbway: string;\r\n external_links: string[];\r\n /** Creation Date */\r\n createdAt: Date;\r\n\r\n /** Updated Date */\r\n updatedAt: Date;\r\n /** The given manager */\r\n readonly manager: GuildMediatorManager;\r\n\r\n /** The rest client */\r\n readonly rest: REST;\r\n readonly guild: Guild;\r\n\r\n /**\r\n * Bet user\r\n * @param data The user's data\r\n * @param manager The manager\r\n * @param rest The rest client\r\n */\r\n constructor(data: APIGuildMediator, manager: GuildMediatorManager) {\r\n this.id = data?.id;\r\n this.guild_id = data?.guild_id;\r\n this.manager = manager;\r\n this.rest = manager.rest;\r\n this.guild = manager.guild;\r\n\r\n this.games = data?.games;\r\n this.paypal = data?.paypal;\r\n this.revolut = data?.revolut;\r\n this.mbway = data?.mbway;\r\n this.external_links = data?.external_links;\r\n\r\n this.createdAt = data?.createdAt ? new Date(data?.createdAt) : new Date();\r\n this.updatedAt = data?.updatedAt ? new Date(data?.updatedAt) : new Date();\r\n }\r\n /** String representation of this user */\r\n toString() {\r\n return `<@${this.id}>`;\r\n }\r\n /**\r\n * Fetches the user\r\n * @returns New Instance of the user\r\n */\r\n async fetch() {\r\n const url = Routes.guilds.mediators.get(this.manager.guild.id, this.id);\r\n const response = await this.rest.request<APIGuildMediator, {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n const user = new GuildMediator(response, this.manager);\r\n\r\n this.manager.cache.set(user.id, user);\r\n this.rest.mediators.set(user.id, user);\r\n return user;\r\n }\r\n\r\n async reset() {\r\n const url = Routes.guilds.mediators.get(this.manager.guild.id, this.id);\r\n const payload = { reset: true };\r\n const response = await this.rest.request<APIGuildMediator, typeof payload>({\r\n method: \"DELETE\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n return this.#update(response);\r\n }\r\n\r\n #update(data: Optional<APIGuildMediator>) {\r\n for (let key in data) {\r\n if (key === \"id\" || key === \"createdAt\") continue;\r\n if (key in this) {\r\n (this as any)[key] = data[key as keyof APIGuildMediator];\r\n }\r\n }\r\n\r\n this.updatedAt = new Date();\r\n this.createdAt = new Date(data.createdAt);\r\n\r\n this.manager.set(this);\r\n return this;\r\n }\r\n\r\n /**\r\n * Update certain property\r\n * @param data The new data to update with\r\n * @returns\r\n */\r\n async update(data: Optional<APIGuildMediator>) {\r\n const url = Routes.guilds.mediators.get(this.manager.guild.id, this.id);\r\n let payload: Record<string, any> = data;\r\n\r\n const response = await this.rest.request<APIGuildMediator, typeof payload>({\r\n method: \"patch\",\r\n url: url,\r\n payload,\r\n });\r\n return this.#update(response);\r\n }\r\n async setPaymentlink(type: string, link: string) {\r\n const url = Routes.guilds.mediators.get(this.manager.guild.id, this.id);\r\n let payload: Record<string, any> = { [type]: link };\r\n\r\n const response = await this.rest.request<APIGuildMediator, typeof payload>({\r\n method: \"patch\",\r\n url: url,\r\n payload,\r\n });\r\n return this.#update(response);\r\n }\r\n async delete() {\r\n const url = Routes.guilds.mediators.delete(this.manager.guild.id, this.id);\r\n const response = await this.rest.request<boolean, {}>({\r\n method: \"DELETE\",\r\n url: url,\r\n });\r\n\r\n this.manager.cache.delete(this.id);\r\n\r\n return response;\r\n }\r\n toJSON(): Optional<APIGuildMediator> {\r\n let json: { [K in keyof GuildMediator]?: GuildMediator[K] } = {};\r\n\r\n for (const [key, value] of Object.entries(this)) {\r\n const exclude = [\"rest\", \"guilds\", \"guild\", \"manager\"];\r\n if (exclude.includes(key)) continue;\r\n\r\n if (typeof value !== \"function\") {\r\n (json as any)[key] = value;\r\n }\r\n }\r\n return json;\r\n }\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/structures/minesgame/MinesGame.ts"],"sourcesContent":["import { MinesGameManager } from \"../../managers/minesgame/MinesGameManager\";\r\nimport { REST, Routes } from \"../../rest\";\r\nimport { APIMinesGame, Optional } from \"../../types\";\r\n\r\nexport class MinesGame {\r\n guild_id: string;\r\n _id: string;\r\n creatorId: string;\r\n maxMines: number;\r\n bombs: number;\r\n\r\n bombsPosition: number[];\r\n bet: number;\r\n multiplier: number;\r\n status: \"created\" | \"won\" | \"lost\" | \"expired\";\r\n\r\n createdAt: Date;\r\n updatedAt: Date;\r\n readonly rest: REST;\r\n readonly manager: MinesGameManager;\r\n\r\n constructor(data: APIMinesGame, manager: MinesGameManager) {\r\n this.manager = manager;\r\n this.rest = manager.rest;\r\n\r\n this.guild_id = data?.guild_id;\r\n this.bombsPosition = data?.bombsPosition;\r\n this._id = data?._id;\r\n this.multiplier = data?.multiplier;\r\n this.creatorId = data?.creatorId;\r\n this.maxMines = data?.maxMines;\r\n this.bombs = data?.bombs;\r\n this.bet = data?.bet;\r\n this.status = data?.status;\r\n\r\n this.createdAt = data?.createdAt ? new Date(data?.createdAt) : new Date();\r\n this.updatedAt = data?.updatedAt ? new Date(data?.updatedAt) : new Date();\r\n }\r\n\r\n async fetch() {\r\n const url = `/${Routes.fields(\"minesgames\", this._id)}`;\r\n const response = await this.rest.request<APIMinesGame, {}>({\r\n method: \"GET\",\r\n url: url,\r\n });\r\n return this.#update(response);\r\n }\r\n async delete() {\r\n const url = `/${Routes.fields(\"minesgames\", this._id)}`;\r\n const response = await this.rest.request<APIMinesGame, {}>({\r\n method: \"delete\",\r\n url: url,\r\n });\r\n return this.#update(response);\r\n }\r\n async update(data: Optional<APIMinesGame>) {\r\n const url = `/${Routes.fields(\"minesgames\", this._id)}`;\r\n const response = await this.rest.request<APIMinesGame, {}>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload: data,\r\n });\r\n return this.#update(response);\r\n }\r\n #update(data: Optional<APIMinesGame>) {\r\n for (let key in data) {\r\n if (key === \"id\" || key === \"createdAt\") continue;\r\n if (key in this) {\r\n (this as any)[key] = data[key as keyof APIMinesGame];\r\n }\r\n }\r\n this.updatedAt = new Date();\r\n this.manager.set(this);\r\n return this;\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAA6B;AAD7B;AAIO,MAAM,UAAU;AAAA,EAiBrB,YAAY,MAAoB,SAA2B;AAjBtD;AACL;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA,wBAAS;AACT,wBAAS;AAGP,SAAK,UAAU;AACf,SAAK,OAAO,QAAQ;AAEpB,SAAK,WAAW,MAAM;AACtB,SAAK,gBAAgB,MAAM;AAC3B,SAAK,MAAM,MAAM;AACjB,SAAK,aAAa,MAAM;AACxB,SAAK,YAAY,MAAM;AACvB,SAAK,WAAW,MAAM;AACtB,SAAK,QAAQ,MAAM;AACnB,SAAK,MAAM,MAAM;AACjB,SAAK,SAAS,MAAM;AAEpB,SAAK,YAAY,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AACxE,SAAK,YAAY,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AAAA,EAC1E;AAAA,EAEA,MAAM,QAAQ;AACZ,UAAM,MAAM,IAAI,mBAAO,OAAO,cAAc,KAAK,GAAG,CAAC;AACrD,UAAM,WAAW,MAAM,KAAK,KAAK,QAA0B;AAAA,MACzD,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AACD,WAAO,sBAAK,iCAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,SAAS;AACb,UAAM,MAAM,IAAI,mBAAO,OAAO,cAAc,KAAK,GAAG,CAAC;AACrD,UAAM,WAAW,MAAM,KAAK,KAAK,QAA0B;AAAA,MACzD,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AACD,WAAO,sBAAK,iCAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,OAAO,MAA8B;AACzC,UAAM,MAAM,IAAI,mBAAO,OAAO,cAAc,KAAK,GAAG,CAAC;AACrD,UAAM,WAAW,MAAM,KAAK,KAAK,QAA0B;AAAA,MACzD,QAAQ;AAAA,MACR;AAAA,MACA,SAAS;AAAA,IACX,CAAC;AACD,WAAO,sBAAK,iCAAL,WAAa;AAAA,EACtB;AAYF;AAvEO;AA4DL,YAAO,SAAC,MAA8B;AACpC,WAAS,OAAO,MAAM;AACpB,QAAI,QAAQ,QAAQ,QAAQ,YAAa;AACzC,QAAI,OAAO,MAAM;AACf,MAAC,KAAa,GAAG,IAAI,KAAK,GAAyB;AAAA,IACrD;AAAA,EACF;AACA,OAAK,YAAY,oBAAI,KAAK;AAC1B,OAAK,QAAQ,IAAI,IAAI;AACrB,SAAO;AACT;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/structures/product/Product.ts"],"sourcesContent":["import { ProductManager } from \"../../managers/product/ProductManager\";\r\nimport { REST, Routes } from \"../../rest\";\r\nimport { APIPlayer, APIProduct, Optional } from \"../../types\";\r\nimport { Guild } from \"../guild/Guild\";\r\nimport { Shop } from \"../shop/Shop\";\r\n\r\nexport class Product implements APIProduct {\r\n /** Product's name */\r\n name: string;\r\n\r\n /** Product's description */\r\n description: string;\r\n\r\n /** Product's id */\r\n _id: string;\r\n\r\n /** Product's price */\r\n price: number;\r\n\r\n /** Product's buyers */\r\n buyers: APIPlayer[];\r\n\r\n /** Product's emoji */\r\n emoji: string;\r\n\r\n /** Creation Date */\r\n createdAt: Date;\r\n\r\n /** Updated Date */\r\n updatedAt: Date;\r\n\r\n readonly shop: Shop;\r\n readonly manager: ProductManager;\r\n\r\n readonly data: APIProduct;\r\n constructor(data: APIProduct, manager: ProductManager) {\r\n this.data = data;\r\n this.manager = manager;\r\n this.shop = manager.shop;\r\n\r\n this._id = data?._id;\r\n this.name = data?.name;\r\n this.description = data?.description;\r\n this.buyers = data?.buyers;\r\n this.emoji = data?.emoji;\r\n this.price = data?.price;\r\n\r\n this.createdAt = data?.createdAt ? new Date(data?.createdAt) : new Date();\r\n this.updatedAt = data?.updatedAt ? new Date(data?.updatedAt) : new Date();\r\n }\r\n\r\n async fetch() {\r\n const shop = await this.shop.fetch();\r\n\r\n this.manager.set(shop.products.toJSON());\r\n return shop.products.cache.find((p) => p._id === this._id);\r\n }\r\n\r\n async update(data: Optional<APIProduct>) {\r\n data = {\r\n _id: this._id,\r\n name: data.name || this.name,\r\n description: data.description || this.description,\r\n buyers: data.buyers || this.buyers,\r\n emoji: data.emoji || this.emoji,\r\n price: data.price || this.price,\r\n \r\n createdAt: this.createdAt,\r\n updatedAt: data.updatedAt || this.updatedAt,\r\n };\r\n return await this.#update(data);\r\n }\r\n async delete() {\r\n this.manager.cache.delete(this._id);\r\n return await this.shop.update({ products: this.manager.toJSON() });\r\n }\r\n\r\n async #update(data: Optional<APIProduct>) {\r\n for (let key in data) {\r\n if (key === \"id\" || key === \"createdAt\") continue;\r\n if (key in this) {\r\n (this as any)[key] = data[key as keyof APIProduct];\r\n }\r\n }\r\n\r\n this.updatedAt = new Date();\r\n this.createdAt = new Date(data.createdAt);\r\n\r\n await this.shop.update({ products: this.manager.toJSON() });\r\n this.manager.set(this);\r\n return this;\r\n }\r\n\r\n toJSON(): APIProduct {\r\n return {\r\n _id: this._id,\r\n buyers: this.buyers,\r\n description: this.description,\r\n emoji: this.emoji,\r\n name: this.name,\r\n price: this.price,\r\n\r\n createdAt: this.createdAt,\r\n updatedAt: this.updatedAt,\r\n };\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,MAAM,QAA8B;AAAA,EA6BzC,YAAY,MAAkB,SAAyB;AA7BlD;AAEL;AAAA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAEA,wBAAS;AACT,wBAAS;AAET,wBAAS;AAEP,SAAK,OAAO;AACZ,SAAK,UAAU;AACf,SAAK,OAAO,QAAQ;AAEpB,SAAK,MAAM,MAAM;AACjB,SAAK,OAAO,MAAM;AAClB,SAAK,cAAc,MAAM;AACzB,SAAK,SAAS,MAAM;AACpB,SAAK,QAAQ,MAAM;AACnB,SAAK,QAAQ,MAAM;AAEnB,SAAK,YAAY,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AACxE,SAAK,YAAY,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AAAA,EAC1E;AAAA,EAEA,MAAM,QAAQ;AACZ,UAAM,OAAO,MAAM,KAAK,KAAK,MAAM;AAEnC,SAAK,QAAQ,IAAI,KAAK,SAAS,OAAO,CAAC;AACvC,WAAO,KAAK,SAAS,MAAM,KAAK,CAAC,MAAM,EAAE,QAAQ,KAAK,GAAG;AAAA,EAC3D;AAAA,EAEA,MAAM,OAAO,MAA4B;AACvC,WAAO;AAAA,MACL,KAAK,KAAK;AAAA,MACV,MAAM,KAAK,QAAQ,KAAK;AAAA,MACxB,aAAa,KAAK,eAAe,KAAK;AAAA,MACtC,QAAQ,KAAK,UAAU,KAAK;AAAA,MAC5B,OAAO,KAAK,SAAS,KAAK;AAAA,MAC1B,OAAO,KAAK,SAAS,KAAK;AAAA,MAE1B,WAAW,KAAK;AAAA,MAChB,WAAW,KAAK,aAAa,KAAK;AAAA,IACpC;AACA,WAAO,MAAM,sBAAK,+BAAL,WAAa;AAAA,EAC5B;AAAA,EACA,MAAM,SAAS;AACb,SAAK,QAAQ,MAAM,OAAO,KAAK,GAAG;AAClC,WAAO,MAAM,KAAK,KAAK,OAAO,EAAE,UAAU,KAAK,QAAQ,OAAO,EAAE,CAAC;AAAA,EACnE;AAAA,EAkBA,SAAqB;AACnB,WAAO;AAAA,MACL,KAAK,KAAK;AAAA,MACV,QAAQ,KAAK;AAAA,MACb,aAAa,KAAK;AAAA,MAClB,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK;AAAA,MACX,OAAO,KAAK;AAAA,MAEZ,WAAW,KAAK;AAAA,MAChB,WAAW,KAAK;AAAA,IAClB;AAAA,EACF;AACF;AApGO;AAuEC,YAAO,eAAC,MAA4B;AACxC,WAAS,OAAO,MAAM;AACpB,QAAI,QAAQ,QAAQ,QAAQ,YAAa;AACzC,QAAI,OAAO,MAAM;AACf,MAAC,KAAa,GAAG,IAAI,KAAK,GAAuB;AAAA,IACnD;AAAA,EACF;AAEA,OAAK,YAAY,oBAAI,KAAK;AAC1B,OAAK,YAAY,IAAI,KAAK,KAAK,SAAS;AAExC,QAAM,KAAK,KAAK,OAAO,EAAE,UAAU,KAAK,QAAQ,OAAO,EAAE,CAAC;AAC1D,OAAK,QAAQ,IAAI,IAAI;AACrB,SAAO;AACT;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/structures/shop/Shop.ts"],"sourcesContent":["import { APIEmbed } from \"discord-api-types/v10\";\r\nimport { ShopManager } from \"../../managers\";\r\nimport { REST, Routes } from \"../../rest\";\r\nimport { APIGuildShop, APIProduct, Optional } from \"../../types\";\r\nimport { Guild } from \"../guild/Guild\";\r\nimport { ProductManager } from \"../../managers/product/ProductManager\";\r\n\r\nexport class Shop {\r\n _id: string;\r\n name: string;\r\n\r\n guild_id: string;\r\n\r\n embeds: APIEmbed[];\r\n\r\n /** Shop's products */\r\n products: ProductManager;\r\n\r\n /** Bought count */\r\n bought_count: number;\r\n\r\n /** Creation Date */\r\n createdAt: Date;\r\n\r\n /** Updated Date */\r\n updatedAt: Date;\r\n\r\n readonly manager: ShopManager;\r\n readonly rest: REST;\r\n readonly guild: Guild;\r\n\r\n constructor(data: APIGuildShop, manager: ShopManager) {\r\n this.manager = manager;\r\n this.guild = manager.guild;\r\n this.rest = manager.rest;\r\n\r\n this._id = data?._id;\r\n this.name = data?.name;\r\n this.guild_id = data?.guild_id;\r\n this.embeds = data?.embeds;\r\n this.products = new ProductManager(this);\r\n this.bought_count = data?.bought_count;\r\n\r\n this._id = data?._id;\r\n this._id = data?._id;\r\n\r\n this.createdAt = data?.createdAt ? new Date(data?.createdAt) : new Date();\r\n this.updatedAt = data?.updatedAt ? new Date(data?.updatedAt) : new Date();\r\n\r\n this.products.set(data.products);\r\n }\r\n\r\n async fetch() {\r\n const url = Routes.guilds.shop.get(this.guild.id, this._id);\r\n const response = await this.rest.request<APIGuildShop, {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n return this.#update(response);\r\n }\r\n async delete() {\r\n const url = Routes.guilds.shop.delete(this.guild.id, this._id);\r\n await this.rest.request<APIGuildShop, {}>({\r\n method: \"delete\",\r\n url: url,\r\n });\r\n\r\n this.manager.cache.delete(this._id);\r\n }\r\n async update(data: Optional<APIGuildShop>) {\r\n const url = Routes.guilds.shop.get(this.guild.id, this._id);\r\n const response = await this.rest.request<APIGuildShop, {}>({\r\n method: \"patch\",\r\n url: url,\r\n payload: data,\r\n });\r\n return this.#update(response);\r\n }\r\n\r\n #update(data: Optional<APIGuildShop>) {\r\n for (let key in data) {\r\n if (key === \"id\" || key === \"createdAt\") continue;\r\n if (key in this) {\r\n (this as any)[key] = data[key as keyof APIGuildShop];\r\n }\r\n }\r\n\r\n this.products = new ProductManager(this);\r\n if (data.products) this.products.set(data.products);\r\n\r\n this.updatedAt = new Date();\r\n this.createdAt = new Date(data.createdAt);\r\n\r\n this.manager.set(this);\r\n return this;\r\n }\r\n\r\n toJSON(): Optional<APIGuildShop> {\r\n return {\r\n _id: this._id,\r\n name: this.name,\r\n products: this.products.toJSON(),\r\n bought_count: this.bought_count,\r\n embeds: this.embeds,\r\n guild_id: this.guild_id,\r\n createdAt: this.createdAt,\r\n updatedAt: this.updatedAt,\r\n };\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,kBAA6B;AAG7B,4BAA+B;AAL/B;AAOO,MAAM,KAAK;AAAA,EAwBhB,YAAY,MAAoB,SAAsB;AAxBjD;AACL;AACA;AAEA;AAEA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAEA,wBAAS;AACT,wBAAS;AACT,wBAAS;AAGP,SAAK,UAAU;AACf,SAAK,QAAQ,QAAQ;AACrB,SAAK,OAAO,QAAQ;AAEpB,SAAK,MAAM,MAAM;AACjB,SAAK,OAAO,MAAM;AAClB,SAAK,WAAW,MAAM;AACtB,SAAK,SAAS,MAAM;AACpB,SAAK,WAAW,IAAI,qCAAe,IAAI;AACvC,SAAK,eAAe,MAAM;AAE1B,SAAK,MAAM,MAAM;AACjB,SAAK,MAAM,MAAM;AAEjB,SAAK,YAAY,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AACxE,SAAK,YAAY,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AAExE,SAAK,SAAS,IAAI,KAAK,QAAQ;AAAA,EACjC;AAAA,EAEA,MAAM,QAAQ;AACZ,UAAM,MAAM,mBAAO,OAAO,KAAK,IAAI,KAAK,MAAM,IAAI,KAAK,GAAG;AAC1D,UAAM,WAAW,MAAM,KAAK,KAAK,QAA0B;AAAA,MACzD,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AACD,WAAO,sBAAK,4BAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,SAAS;AACb,UAAM,MAAM,mBAAO,OAAO,KAAK,OAAO,KAAK,MAAM,IAAI,KAAK,GAAG;AAC7D,UAAM,KAAK,KAAK,QAA0B;AAAA,MACxC,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAED,SAAK,QAAQ,MAAM,OAAO,KAAK,GAAG;AAAA,EACpC;AAAA,EACA,MAAM,OAAO,MAA8B;AACzC,UAAM,MAAM,mBAAO,OAAO,KAAK,IAAI,KAAK,MAAM,IAAI,KAAK,GAAG;AAC1D,UAAM,WAAW,MAAM,KAAK,KAAK,QAA0B;AAAA,MACzD,QAAQ;AAAA,MACR;AAAA,MACA,SAAS;AAAA,IACX,CAAC;AACD,WAAO,sBAAK,4BAAL,WAAa;AAAA,EACtB;AAAA,EAoBA,SAAiC;AAC/B,WAAO;AAAA,MACL,KAAK,KAAK;AAAA,MACV,MAAM,KAAK;AAAA,MACX,UAAU,KAAK,SAAS,OAAO;AAAA,MAC/B,cAAc,KAAK;AAAA,MACnB,QAAQ,KAAK;AAAA,MACb,UAAU,KAAK;AAAA,MACf,WAAW,KAAK;AAAA,MAChB,WAAW,KAAK;AAAA,IAClB;AAAA,EACF;AACF;AAtGO;AAwEL,YAAO,SAAC,MAA8B;AACpC,WAAS,OAAO,MAAM;AACpB,QAAI,QAAQ,QAAQ,QAAQ,YAAa;AACzC,QAAI,OAAO,MAAM;AACf,MAAC,KAAa,GAAG,IAAI,KAAK,GAAyB;AAAA,IACrD;AAAA,EACF;AAEA,OAAK,WAAW,IAAI,qCAAe,IAAI;AACvC,MAAI,KAAK,SAAU,MAAK,SAAS,IAAI,KAAK,QAAQ;AAElD,OAAK,YAAY,oBAAI,KAAK;AAC1B,OAAK,YAAY,IAAI,KAAK,KAAK,SAAS;AAExC,OAAK,QAAQ,IAAI,IAAI;AACrB,SAAO;AACT;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/structures/ticket/Ticket.ts"],"sourcesContent":["import { GuildTicketManager, MessagesManager } from \"../../managers\";\r\nimport { REST, Routes } from \"../../rest\";\r\nimport { APIGuildTicket, APIMessage, Optional } from \"../../types\";\r\nimport { Guild } from \"../\";\r\n\r\nexport class GuildTicket {\r\n _id: string;\r\n guild_id: string;\r\n type: string;\r\n status: \"on\" | \"off\";\r\n\r\n admin_id: string;\r\n channel_id: string;\r\n closed_by_id: string;\r\n creator_id: string;\r\n customer_rating: number;\r\n messages: MessagesManager<GuildTicket>;\r\n\r\n createdAt: Date;\r\n updatedAt: Date;\r\n\r\n readonly rest: REST;\r\n readonly guild: Guild;\r\n readonly manager: GuildTicketManager;\r\n\r\n constructor(data: APIGuildTicket, manager: any) {\r\n this.manager = manager;\r\n\r\n this.guild = manager.guild;\r\n this.rest = manager.rest;\r\n\r\n this._id = data?._id;\r\n this.type = data?.type;\r\n\r\n this.admin_id = data?.admin_id;\r\n this.guild_id = data?.guild_id;\r\n this.channel_id = data?.channel_id;\r\n this.creator_id = data?.creator_id;\r\n this.status = data?.status;\r\n this.customer_rating = data?.customer_rating;\r\n this.createdAt = data?.createdAt ? new Date(data?.createdAt) : new Date();\r\n this.updatedAt = data?.updatedAt ? new Date(data?.updatedAt) : new Date();\r\n\r\n this.messages = new MessagesManager(this, Routes.guilds.tickets.resource(this.guild_id, this._id, \"messages\"));\r\n if (data?.messages?.length !== 0) this.messages.set(data.messages);\r\n }\r\n\r\n async fetch(): Promise<GuildTicket> {\r\n const url = Routes.guilds.tickets.get(this.guild.id, this._id);\r\n const response = await this.rest.request<APIGuildTicket, {}>({\r\n method: \"GET\",\r\n url: url,\r\n });\r\n return this.#update(response);\r\n }\r\n async setCustomerRating(rating: number): Promise<GuildTicket> {\r\n const url = Routes.guilds.tickets.resource(this.guild.id, this._id, \"customer_rating\");\r\n const payload = { set: rating };\r\n\r\n const response = await this.rest.request<APIGuildTicket, typeof payload>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n return this.#update(response);\r\n }\r\n async setAdminId(id: string): Promise<GuildTicket> {\r\n const url = Routes.guilds.tickets.resource(this.guild.id, this._id, \"admin_id\");\r\n const payload = { set: id };\r\n\r\n const response = await this.rest.request<APIGuildTicket, typeof payload>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n return this.#update(response);\r\n }\r\n async setChannelId(id: string): Promise<GuildTicket> {\r\n const url = Routes.guilds.tickets.resource(this.guild.id, this._id, \"channel_id\");\r\n const payload = { set: id };\r\n\r\n const response = await this.rest.request<APIGuildTicket, typeof payload>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n return this.#update(response);\r\n }\r\n async setClosedById(id: string): Promise<GuildTicket> {\r\n const url = Routes.guilds.tickets.resource(this.guild.id, this._id, \"closed_by_id\");\r\n const payload = { set: id };\r\n\r\n const response = await this.rest.request<APIGuildTicket, typeof payload>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n return this.#update(response);\r\n }\r\n async setStatus(status: \"on\" | \"off\"): Promise<GuildTicket> {\r\n const url = Routes.guilds.tickets.resource(this.guild.id, this._id, \"status\");\r\n const payload = { set: status };\r\n\r\n const response = await this.rest.request<APIGuildTicket, typeof payload>({\r\n method: \"PATCH\",\r\n url: url,\r\n payload,\r\n });\r\n return this.#update(response);\r\n }\r\n\r\n #update(data: Optional<APIGuildTicket>) {\r\n for (let key in data) {\r\n if (key === \"id\" || key === \"createdAt\") continue;\r\n if (key in this) {\r\n (this as any)[key] = data[key as keyof APIGuildTicket];\r\n }\r\n }\r\n\r\n this.messages = new MessagesManager(this, Routes.guilds.tickets.resource(this.guild_id, this._id, \"messages\"));\r\n this.messages.set(data.messages);\r\n\r\n this.updatedAt = new Date();\r\n this.createdAt = data.createdAt ? new Date(data.createdAt) : new Date();\r\n\r\n this.manager.set(this);\r\n return this;\r\n }\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/structures/ticketpanel/TicketPanel.ts"],"sourcesContent":["import { APIEmbed } from \"discord-api-types/v10\";\r\nimport { APITicketCategory, APITicketPanel, Optional } from \"../../types\";\r\nimport { REST, Routes } from \"../../rest\";\r\nimport { Guild } from \"../guild/Guild\";\r\nimport { TicketPanelManager } from \"../../managers/ticketpanel/TicketPanelManager\";\r\n\r\nexport class TicketPanel implements APITicketPanel {\r\n _id: string;\r\n guild_id: string;\r\n name: string;\r\n categories: APITicketCategory[];\r\n components_type: \"button\" | \"stringselect\";\r\n createdAt: Date;\r\n message: { embeds: APIEmbed[] };\r\n updatedAt: Date;\r\n\r\n readonly rest: REST;\r\n readonly guild: Guild;\r\n readonly data: APITicketPanel;\r\n readonly manager: TicketPanelManager;\r\n\r\n constructor(data: APITicketPanel, manager: TicketPanelManager) {\r\n this.manager = manager;\r\n this.rest = manager.rest;\r\n this.guild = manager.guild;\r\n this.data = data;\r\n\r\n this._id = data?._id;\r\n this.guild_id = data?.guild_id;\r\n this.name = data?.name;\r\n\r\n this.categories = data?.categories;\r\n this.components_type = data?.components_type;\r\n this.message = data?.message;\r\n\r\n this.createdAt = data?.createdAt ? new Date(data?.createdAt) : new Date();\r\n this.updatedAt = data?.updatedAt ? new Date(data?.updatedAt) : new Date();\r\n }\r\n async addCategory(data: Optional<APITicketCategory>) {\r\n if (!data.name) return;\r\n\r\n this.categories.push(data as APITicketCategory);\r\n await this.update({ categories: this.categories });\r\n return this.categories.find((a) => a.name === data.name);\r\n }\r\n async deleteCategory(id: string) {\r\n this.categories = this.categories.filter((a) => a._id !== id);\r\n return await this.update({ categories: this.categories });\r\n }\r\n async updateCategory(id: string, data: Optional<APITicketCategory>) {\r\n const index = this.categories.findIndex((a) => a._id === id);\r\n let aa: Optional<APITicketCategory>;\r\n if (index === -1) aa = { _id: id, ...data };\r\n else aa = { ...this.categories[index], ...data };\r\n this.categories[index] = aa as APITicketCategory;\r\n return await this.update({ categories: this.categories });\r\n }\r\n async addRoleIdToCategory(id: string, ...roles: string[]) {\r\n let cat = this.categories.find((a) => a._id === id);\r\n if (!cat) {\r\n this.categories.push({\r\n name: \"Configure o nome desta categoria\",\r\n description: \"Configure a descrição desta categoria\",\r\n emoji: \"📦\",\r\n role_ids: roles,\r\n } as any);\r\n } else {\r\n const index = this.categories.findIndex((a) => a._id === id);\r\n cat.role_ids = [...new Set([...(cat.role_ids || []), ...roles])];\r\n this.categories[index] = cat;\r\n }\r\n return await this.update({ categories: this.categories });\r\n }\r\n async setRoleIdsToCategory(id: string, ...roles: string[]) {\r\n let cat = this.categories.find((a) => a._id === id);\r\n if (!cat) {\r\n this.categories.push({\r\n name: \"Configure o nome desta categoria\",\r\n description: \"Configure a descrição desta categoria\",\r\n emoji: \"📦\",\r\n role_ids: roles,\r\n } as any);\r\n } else {\r\n const index = this.categories.findIndex((a) => a._id === id);\r\n cat.role_ids = [...new Set([...roles])];\r\n this.categories[index] = cat;\r\n }\r\n console.dir({ categories: this.categories }, { depth: null });\r\n return await this.update({ categories: this.categories });\r\n }\r\n async removeRoleIdToCategory(id: string, ...roles: string[]) {\r\n let cat = this.categories.find((a) => a._id === id);\r\n if (!cat) {\r\n this.categories.push({\r\n name: \"Configure o nome desta categoria\",\r\n description: \"Configure a descrição desta categoria\",\r\n emoji: \"📦\",\r\n } as any);\r\n } else {\r\n const index = this.categories.findIndex((a) => a._id === id);\r\n cat.role_ids = [...new Set([...(cat.role_ids || []), ...roles])];\r\n cat.role_ids = cat.role_ids.filter((a) => !roles.some((b) => a === b));\r\n\r\n this.categories[index] = cat;\r\n }\r\n return await this.update({ categories: this.categories });\r\n }\r\n async update(data: Optional<APITicketPanel>) {\r\n const url = Routes.fields(\"/guilds\", this.guild.id, \"ticket_panels\", this._id);\r\n const response = await this.rest.request<APITicketPanel, {}>({\r\n method: \"patch\",\r\n url,\r\n payload: data,\r\n });\r\n return this.#update(response);\r\n }\r\n async delete() {\r\n const url = Routes.fields(\"/guilds\", this.guild.id, \"ticket_panels\", this._id);\r\n const response = await this.rest.request<APITicketPanel, {}>({\r\n method: \"delete\",\r\n url,\r\n });\r\n\r\n this.manager.cache.delete(this._id);\r\n return response;\r\n }\r\n\r\n #update(data: Optional<APITicketPanel>) {\r\n for (let key in data) {\r\n if (key === \"createdAt\") continue;\r\n if (key in this) {\r\n (this as any)[key] = data[key as keyof APITicketPanel];\r\n }\r\n }\r\n this.updatedAt = new Date();\r\n this.createdAt = new Date(data.createdAt);\r\n\r\n this.manager.set(this);\r\n return this;\r\n }\r\n toJSON(): APITicketPanel {\r\n return {\r\n _id: this._id,\r\n name: this.name,\r\n guild_id: this.guild_id,\r\n categories: this.categories,\r\n components_type: this.components_type,\r\n message: this?.message,\r\n\r\n createdAt: this.createdAt,\r\n updatedAt: this.updatedAt,\r\n };\r\n }\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/structures/tournament/Tournament.ts"],"sourcesContent":["import { TournamentManager } from \"../../managers/tournament/TournamentManager\";\r\nimport { REST, Routes } from \"../../rest\";\r\nimport { APIPlayer, Optional } from \"../../types\";\r\nimport { APITournament } from \"../../types/api/APITournament\";\r\nimport { Guild } from \"../guild/Guild\";\r\n\r\nexport class Tournament {\r\n _id: string;\r\n guild_id: string;\r\n\r\n type: \"1v1\" | \"2v2\" | \"3v3\" | \"4v4\";\r\n\r\n max_teams: number;\r\n\r\n teams: APIPlayer[][];\r\n logs_url: {\r\n cancelled: string;\r\n started: string;\r\n finished: string;\r\n };\r\n message: any;\r\n\r\n message_id: string;\r\n\r\n status: \"created\" | \"on\" | \"off\";\r\n\r\n createdAt: Date;\r\n updatedAt: Date;\r\n\r\n readonly guild: Guild;\r\n readonly rest: REST;\r\n readonly manager: TournamentManager;\r\n readonly data: APITournament;\r\n\r\n constructor(data: APITournament, manager: TournamentManager) {\r\n this.manager = manager;\r\n this.guild = manager.guild;\r\n this.rest = manager.rest;\r\n\r\n this.guild_id = data?.guild_id;\r\n this.type = data?.type;\r\n this.max_teams = data?.max_teams;\r\n this.teams = data?.teams;\r\n this.message = data?.message;\r\n this.message_id = data?.message_id;\r\n this.status = data?.status;\r\n\r\n this.createdAt = data?.createdAt ? new Date(data?.createdAt) : new Date();\r\n this.updatedAt = data?.updatedAt ? new Date(data?.updatedAt) : new Date();\r\n\r\n this.data = data;\r\n }\r\n async fetch() {\r\n const url = Routes.fields(\"guilds\", this.guild.id, \"tournaments\", this._id);\r\n const response = await this.rest.request<APITournament, {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n return this.#update(response);\r\n }\r\n async update(data: Optional<APITournament>) {\r\n const url = Routes.fields(\"guilds\", this.guild.id, \"tournaments\", this._id);\r\n const response = await this.rest.request<APITournament, typeof data>({\r\n method: \"patch\",\r\n url: url,\r\n payload: data,\r\n });\r\n\r\n return this.#update(response);\r\n }\r\n #update(data: Optional<APITournament>) {\r\n for (let key in data) {\r\n if (key === \"id\" || key === \"createdAt\") continue;\r\n if (key in this) {\r\n (this as any)[key] = data[key as keyof APITournament];\r\n }\r\n }\r\n\r\n this.updatedAt = new Date();\r\n this.createdAt = new Date(data.createdAt);\r\n\r\n this.manager._add(this);\r\n return this;\r\n }\r\n\r\n toJSON() {\r\n return {\r\n guild_id: this.guild_id,\r\n type: this.type,\r\n max_teams: this.max_teams,\r\n teams: this.teams,\r\n message: this.message,\r\n message_id: this.message_id,\r\n status: this.status,\r\n\r\n createdAt: this.createdAt ? new Date(this?.createdAt) : new Date(),\r\n updatedAt: this.updatedAt ? new Date(this?.updatedAt) : new Date(),\r\n };\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAA6B;AAD7B;AAMO,MAAM,WAAW;AAAA,EA4BtB,YAAY,MAAqB,SAA4B;AA5BxD;AACL;AACA;AAEA;AAEA;AAEA;AACA;AAKA;AAEA;AAEA;AAEA;AACA;AAEA,wBAAS;AACT,wBAAS;AACT,wBAAS;AACT,wBAAS;AAGP,SAAK,UAAU;AACf,SAAK,QAAQ,QAAQ;AACrB,SAAK,OAAO,QAAQ;AAEpB,SAAK,WAAW,MAAM;AACtB,SAAK,OAAO,MAAM;AAClB,SAAK,YAAY,MAAM;AACvB,SAAK,QAAQ,MAAM;AACnB,SAAK,UAAU,MAAM;AACrB,SAAK,aAAa,MAAM;AACxB,SAAK,SAAS,MAAM;AAEpB,SAAK,YAAY,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AACxE,SAAK,YAAY,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AAExE,SAAK,OAAO;AAAA,EACd;AAAA,EACA,MAAM,QAAQ;AACZ,UAAM,MAAM,mBAAO,OAAO,UAAU,KAAK,MAAM,IAAI,eAAe,KAAK,GAAG;AAC1E,UAAM,WAAW,MAAM,KAAK,KAAK,QAA2B;AAAA,MAC1D,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AACD,WAAO,sBAAK,kCAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,OAAO,MAA+B;AAC1C,UAAM,MAAM,mBAAO,OAAO,UAAU,KAAK,MAAM,IAAI,eAAe,KAAK,GAAG;AAC1E,UAAM,WAAW,MAAM,KAAK,KAAK,QAAoC;AAAA,MACnE,QAAQ;AAAA,MACR;AAAA,MACA,SAAS;AAAA,IACX,CAAC;AAED,WAAO,sBAAK,kCAAL,WAAa;AAAA,EACtB;AAAA,EAgBA,SAAS;AACP,WAAO;AAAA,MACL,UAAU,KAAK;AAAA,MACf,MAAM,KAAK;AAAA,MACX,WAAW,KAAK;AAAA,MAChB,OAAO,KAAK;AAAA,MACZ,SAAS,KAAK;AAAA,MACd,YAAY,KAAK;AAAA,MACjB,QAAQ,KAAK;AAAA,MAEb,WAAW,KAAK,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AAAA,MACjE,WAAW,KAAK,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AAAA,IACnE;AAAA,EACF;AACF;AA7FO;AAgEL,YAAO,SAAC,MAA+B;AACrC,WAAS,OAAO,MAAM;AACpB,QAAI,QAAQ,QAAQ,QAAQ,YAAa;AACzC,QAAI,OAAO,MAAM;AACf,MAAC,KAAa,GAAG,IAAI,KAAK,GAA0B;AAAA,IACtD;AAAA,EACF;AAEA,OAAK,YAAY,oBAAI,KAAK;AAC1B,OAAK,YAAY,IAAI,KAAK,KAAK,SAAS;AAExC,OAAK,QAAQ,KAAK,IAAI;AACtB,SAAO;AACT;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/structures/user/GuildUser.ts"],"sourcesContent":["import { REST } from \"../../rest/REST\";\r\nimport { Routes } from \"../../rest/Routes\";\r\nimport {\r\n Accessory,\r\n APIAdvert,\r\n Daily,\r\n Optional,\r\n OriginalChannel,\r\n OriginalChannels,\r\n UserAcessoryType,\r\n} from \"../../types/api\";\r\nimport { APIGuildUser, Profile } from \"../../types/api/APIGuildUser\";\r\nimport { GuildUserManager } from \"../../managers/user/GuildUserManager\";\r\nimport { isSameDateUTC } from \"../../utils/isSameDayUTC\";\r\nimport { randomKeyGenerator } from \"../../utils/randomKeyGenerator\";\r\n\r\nexport type AccReturn<T extends UserAcessoryType> = T extends UserAcessoryType.Active ? string : number;\r\n\r\nexport class GuildUser implements APIGuildUser {\r\n /** User's id */\r\n id: string;\r\n guild_id: string;\r\n\r\n /** User's daily */\r\n daily: Omit<Daily, \"credit\">;\r\n\r\n /** User's points */\r\n points: number;\r\n\r\n /** User's wins */\r\n wins: number;\r\n\r\n /** User's mvps */\r\n mvps: number;\r\n\r\n /** User's losses */\r\n losses: number;\r\n\r\n /** User's games */\r\n games: number;\r\n\r\n /** If user is blacklisted */\r\n blacklist: boolean;\r\n\r\n /** User's accessories such as double point */\r\n accessories: Accessory[];\r\n\r\n /** User's original channels */\r\n original_channels: OriginalChannels;\r\n profile: Profile;\r\n creations: number;\r\n /** User's items */\r\n adverts: APIAdvert[];\r\n spins: number;\r\n coins: number;\r\n consecutive_wins: number;\r\n used_codes: string[];\r\n /** Creation Date */\r\n createdAt: Date;\r\n\r\n /** Updated Date */\r\n updatedAt: Date;\r\n\r\n /** The given manager */\r\n readonly manager: GuildUserManager;\r\n\r\n /** The rest client */\r\n readonly rest: REST;\r\n\r\n /**\r\n * Bet user\r\n * @param data The user's data\r\n * @param manager The manager\r\n * @param rest The rest client\r\n */\r\n constructor(data: APIGuildUser, manager: GuildUserManager) {\r\n this.id = data?.id;\r\n this.guild_id = data?.guild_id;\r\n this.manager = manager;\r\n this.rest = manager.rest;\r\n\r\n this.wins = data?.wins;\r\n this.losses = data?.losses;\r\n this.mvps = data?.mvps;\r\n this.coins = data?.coins;\r\n this.points = data?.points;\r\n this.creations = data?.creations;\r\n this.spins = data?.spins;\r\n this.used_codes = data?.used_codes;\r\n this.consecutive_wins = data?.consecutive_wins;\r\n this.daily = data?.daily;\r\n this.games = data?.games;\r\n\r\n this.blacklist = data?.blacklist;\r\n\r\n this.accessories = data?.accessories;\r\n this.original_channels = data?.original_channels;\r\n this.profile = data?.profile;\r\n\r\n this.createdAt = data?.createdAt ? new Date(data?.createdAt) : new Date();\r\n this.updatedAt = data?.updatedAt ? new Date(data?.updatedAt) : new Date();\r\n\r\n this.adverts = [];\r\n for (let _adv of data?.adverts || []) {\r\n this.adverts.push({\r\n _id: _adv._id,\r\n admin_id: _adv.admin_id,\r\n role_id: _adv.role_id,\r\n reason: _adv.reason,\r\n points_removed: _adv.points_removed,\r\n proof: _adv.proof,\r\n proof_ext: _adv.proof_ext,\r\n\r\n createdAt: _adv.createdAt ? new Date(_adv.createdAt) : new Date(),\r\n updatedAt: _adv.updatedAt ? new Date(_adv.updatedAt) : new Date(),\r\n });\r\n }\r\n }\r\n /** String representation of this user */\r\n toString() {\r\n return `<@${this.id}>`;\r\n }\r\n /**\r\n * Fetches the user\r\n * @returns New Instance of the user\r\n */\r\n async fetch() {\r\n const url = Routes.guilds.users.get(this.manager.guild.id, this.id);\r\n const response = await this.rest.request<APIGuildUser, {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n const user = new GuildUser(response, this.manager);\r\n\r\n this.manager.cache.set(user.id, user);\r\n this.rest.users.set(user.id, user);\r\n return user;\r\n }\r\n\r\n /**\r\n * Set the user blacklist\r\n * @param value Value to set to\r\n * @returns GuildUser\r\n */\r\n async setBlacklist(value: boolean) {\r\n const url = Routes.guilds.users.resource(this.manager.guild.id, this.id, \"blacklist\");\r\n const payload = { set: value };\r\n await this.rest.request<APIGuildUser, typeof payload>({\r\n method: \"patch\",\r\n url: url,\r\n payload,\r\n });\r\n this.blacklist = value;\r\n this.manager.cache.set(this.id, this);\r\n this.rest.users.set(this.id, this);\r\n return this;\r\n }\r\n async reset() {\r\n const url = Routes.guilds.users.get(this.manager.guild.id, this.id);\r\n const payload = { reset: true };\r\n const response = await this.rest.request<APIGuildUser, typeof payload>({\r\n method: \"DELETE\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n this.#update(response);\r\n return this;\r\n }\r\n async updateProfile(data: Optional<Profile> & { default?: boolean }) {\r\n let _data: { profile: Profile } = {\r\n profile: {\r\n avatarUrl: data.avatarUrl || this.profile.avatarUrl || \"\",\r\n bannerUrl: data.bannerUrl || this.profile.bannerUrl || \"\",\r\n bio: data.bio || this.profile.bio || \"Melhor da minha aldeia (use !bio para alterar)\",\r\n name: data.name || this.profile.name || \"\",\r\n\r\n textColor: data.textColor || this.profile.textColor || \"#ffffff\",\r\n primaryColor: data.primaryColor || this.profile.primaryColor || \"#272727\",\r\n secondaryColor: data.secondaryColor || this.profile.secondaryColor || \"#151515\",\r\n\r\n booster: {\r\n expires: data?.booster?.expires || this.profile.booster.expires,\r\n status: data?.booster?.status || this.profile.booster.status || \"off\",\r\n },\r\n },\r\n };\r\n if (data.default === true) {\r\n _data = {\r\n profile: {\r\n booster: {\r\n expires: 0,\r\n status: \"off\",\r\n },\r\n avatarUrl: \"\",\r\n bannerUrl: \"\",\r\n bio: \"Melhorzin(a) do momento!\",\r\n name: \"\",\r\n textColor: \"#ffffff\",\r\n primaryColor: \"#272727\",\r\n secondaryColor: \"#151515\",\r\n },\r\n };\r\n }\r\n const url = Routes.guilds.users.update(this.manager.guild.id, this.id);\r\n const response = await this.rest.request<APIGuildUser, {}>({\r\n method: \"patch\",\r\n url: url,\r\n payload: _data,\r\n });\r\n\r\n this.#update(response);\r\n return this;\r\n }\r\n async getAccessory<T extends UserAcessoryType>(type: T) {\r\n let acc = this.accessories.find((a) => a.type === type);\r\n if (acc) return acc;\r\n else\r\n acc = {\r\n type,\r\n time: 0,\r\n units: 0,\r\n };\r\n this.accessories.push(acc);\r\n await this.update({ accessories: this.accessories });\r\n return acc;\r\n }\r\n async addAccessory<T extends UserAcessoryType>(type: T, data: { units: number; time: number }) {\r\n const { units, time } = data;\r\n\r\n let acc = this.accessories.find((a) => a.type === type);\r\n\r\n if (!acc) acc = { type, units, time };\r\n else\r\n acc = {\r\n type,\r\n time: Math.max(0, acc.time + time),\r\n units: Math.max(0, acc.units + units),\r\n };\r\n const index = this.accessories.findIndex((a) => a.type === type);\r\n this.accessories[index] = acc;\r\n return await this.update({ accessories: this.accessories });\r\n }\r\n async removeAccessory<T extends UserAcessoryType>(type: T, data: { units: number; time: number }) {\r\n const { units, time } = data;\r\n\r\n let acc = this.accessories.find((a) => a.type === type);\r\n\r\n if (!acc) acc = { type, units, time };\r\n else\r\n acc = {\r\n type,\r\n time: Math.max(0, acc.time - time),\r\n units: Math.max(0, acc.units - units),\r\n };\r\n const index = this.accessories.findIndex((a) => a.type === type);\r\n this.accessories[index] = acc;\r\n return await this.update({ accessories: this.accessories });\r\n }\r\n #update(data: Optional<APIGuildUser>) {\r\n for (let key in data) {\r\n if (key === \"id\" || key === \"createdAt\") continue;\r\n if (key in this) {\r\n (this as any)[key] = data[key as keyof APIGuildUser];\r\n }\r\n if (key === \"adverts\") {\r\n this.adverts = [];\r\n\r\n for (let _adv of data.adverts) {\r\n this.adverts.push({\r\n _id: _adv._id,\r\n admin_id: _adv.admin_id,\r\n role_id: _adv.role_id,\r\n reason: _adv.reason,\r\n points_removed: _adv.points_removed,\r\n proof: _adv.proof,\r\n proof_ext: _adv.proof_ext,\r\n\r\n createdAt: _adv.createdAt ? new Date(_adv.createdAt) : new Date(),\r\n updatedAt: _adv.updatedAt ? new Date(_adv.updatedAt) : new Date(),\r\n });\r\n }\r\n }\r\n }\r\n\r\n this.updatedAt = new Date();\r\n this.createdAt = new Date(data.createdAt);\r\n\r\n this.manager.set(this);\r\n this.rest.emit(\"userUpdate\", this);\r\n return this;\r\n }\r\n\r\n async addAdvert(data: Optional<Omit<APIAdvert, \"_id\">>): Promise<GuildUser> {\r\n const url = Routes.guilds.users.resource(this.manager.guild.id, this.id, \"adverts\");\r\n const payload = data;\r\n const response = await this.rest.request<APIGuildUser, typeof payload>({ method: \"POST\", url: url, payload });\r\n return this.#update(response);\r\n }\r\n async removeAdvert(advertId?: string): Promise<GuildUser> {\r\n let advs = this.adverts;\r\n\r\n if (advertId) advs = advs.filter((a) => a._id !== advertId);\r\n else advs.pop();\r\n\r\n const payload = { adverts: advs };\r\n const url = Routes.guilds.users.update(this.manager.guild.id, this.id);\r\n const response = await this.rest.request<APIGuildUser, typeof payload>({ method: \"PATCH\", url: url, payload });\r\n return this.#update(response);\r\n }\r\n /**\r\n * Update certain property\r\n * @param data The new data to update with\r\n * @returns\r\n */\r\n async update(data: Optional<APIGuildUser> & { type?: \"add\" | \"remove\" }) {\r\n if (!data?.type) data.type = \"add\";\r\n\r\n const url = Routes.guilds.users.get(this.manager.guild.id, this.id);\r\n let payload: Record<string, any> = {};\r\n\r\n const numericFields = [\r\n \"wins\",\r\n \"points\",\r\n \"losses\",\r\n \"mvps\",\r\n \"games\",\r\n \"creations\",\r\n \"spins\",\r\n \"coins\",\r\n \"consecutive_wins\",\r\n ] as const;\r\n const arrayFields = [\"items\", \"original_channels\", \"adverts\", \"accessories\", \"used_codes\"] as const;\r\n if (data?.type === \"add\" || data?.type === \"remove\") {\r\n for (const key in data) {\r\n if (key === \"type\") continue;\r\n\r\n const value = data[key as keyof typeof data];\r\n\r\n if (numericFields.includes(key as any)) {\r\n const current = (this[key as keyof typeof this] || 0) as number;\r\n const num = (value || 0) as number;\r\n payload[key] = Math.max(0, data?.type === \"add\" ? current + num : current - num);\r\n } else if (key === \"blacklist\") {\r\n payload[\"blacklist\"] = value;\r\n } else if (key === \"profile\") {\r\n payload[\"profile\"] = value;\r\n } else if (arrayFields.includes(key as any)) {\r\n if (key === \"original_channels\") {\r\n const current = this.original_channels;\r\n const fromData = data[\"original_channels\"];\r\n let channels: OriginalChannels = [];\r\n\r\n if (data?.type === \"add\") {\r\n const existingIds = new Set(current.map((ch) => ch.matchId));\r\n channels = [...current, ...fromData.filter((ch: OriginalChannel) => !existingIds.has(ch.matchId))];\r\n } else if (data?.type === \"remove\") {\r\n const idsToRemove = new Set(fromData.map((ch: OriginalChannel) => ch.matchId));\r\n channels = current.filter((ch) => !idsToRemove.has(ch.matchId));\r\n }\r\n\r\n payload[\"original_channels\"] = channels;\r\n continue;\r\n }\r\n\r\n const current = this[key as keyof typeof this] as any[];\r\n const incoming = value as any[];\r\n\r\n payload[key] =\r\n data?.type === \"add\"\r\n ? [...new Set([...current, ...incoming])]\r\n : current.filter((x) => !incoming.includes(x));\r\n }\r\n }\r\n }\r\n\r\n payload[\"daily\"] = this.userDailyWrapper(data).daily;\r\n payload[\"consecutive_wins\"] = this.userDailyWrapper(data).consecutive_wins;\r\n\r\n const response = await this.rest.request<APIGuildUser, typeof payload>({\r\n method: \"patch\",\r\n url: url,\r\n payload,\r\n });\r\n this.#update(response);\r\n return this;\r\n }\r\n async setUpdate(data: Optional<APIGuildUser>) {\r\n const url = Routes.guilds.users.get(this.manager.guild.id, this.id);\r\n let payload: Record<string, any> = data;\r\n const response = await this.rest.request<APIGuildUser, typeof payload>({\r\n method: \"put\",\r\n url: url,\r\n payload,\r\n });\r\n return this.#update(response);\r\n }\r\n async delete() {\r\n const url = Routes.guilds.users.delete(this.manager.guild.id, this.id);\r\n const response = await this.rest.request<boolean, {}>({\r\n method: \"DELETE\",\r\n url: url,\r\n });\r\n\r\n this.rest.emit(\"userDelete\", this);\r\n this.manager.cache.delete(this.id);\r\n\r\n return response;\r\n }\r\n toJSON(): APIGuildUser {\r\n let json: { [K in keyof GuildUser]?: GuildUser[K] } = {};\r\n\r\n for (const [key, value] of Object.entries(this)) {\r\n const exclude = [\"rest\", \"guilds\", \"guild\", \"manager\"];\r\n if (exclude.includes(key)) continue;\r\n\r\n if (typeof value !== \"function\") {\r\n (json as any)[key] = value;\r\n }\r\n }\r\n return json as APIGuildUser;\r\n }\r\n\r\n userDailyWrapper(user: Optional<APIGuildUser>) {\r\n const now = new Date();\r\n const sameDay = !!this.daily?.date && isSameDateUTC(this.daily.date, now);\r\n\r\n const clamp0 = (n: number) => Math.max(0, n);\r\n\r\n const prev = this.daily ?? { points: 0, wins: 0, coins: 0, losses: 0, mvps: 0 };\r\n const inc = {\r\n points: user?.points || 0,\r\n wins: user?.wins || 0,\r\n coins: user?.coins || 0,\r\n losses: user?.losses || 0,\r\n mvps: user?.mvps || 0,\r\n };\r\n\r\n user.daily = {\r\n points: clamp0((sameDay ? prev.points : 0) + inc.points),\r\n wins: clamp0((sameDay ? prev.wins : 0) + inc.wins),\r\n coins: clamp0((sameDay ? prev.coins : 0) + inc.coins),\r\n losses: clamp0((sameDay ? prev.losses : 0) + inc.losses),\r\n mvps: clamp0((sameDay ? prev.mvps : 0) + inc.mvps),\r\n date: now,\r\n };\r\n\r\n const gainedWins = inc.wins;\r\n const hasLostToday = inc.losses > 0;\r\n user.consecutive_wins = hasLostToday ? 0 : (this.consecutive_wins || 0) + gainedWins;\r\n\r\n return user;\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAAuB;AAYvB,0BAA8B;AAb9B;AAkBO,MAAM,aAAN,MAAM,WAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAyD7C,YAAY,MAAoB,SAA2B;AAzDtD;AAEL;AAAA;AACA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AAGA;AAAA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAGA;AAAA;AAGA;AAAA,wBAAS;AAGT;AAAA,wBAAS;AASP,SAAK,KAAK,MAAM;AAChB,SAAK,WAAW,MAAM;AACtB,SAAK,UAAU;AACf,SAAK,OAAO,QAAQ;AAEpB,SAAK,OAAO,MAAM;AAClB,SAAK,SAAS,MAAM;AACpB,SAAK,OAAO,MAAM;AAClB,SAAK,QAAQ,MAAM;AACnB,SAAK,SAAS,MAAM;AACpB,SAAK,YAAY,MAAM;AACvB,SAAK,QAAQ,MAAM;AACnB,SAAK,aAAa,MAAM;AACxB,SAAK,mBAAmB,MAAM;AAC9B,SAAK,QAAQ,MAAM;AACnB,SAAK,QAAQ,MAAM;AAEnB,SAAK,YAAY,MAAM;AAEvB,SAAK,cAAc,MAAM;AACzB,SAAK,oBAAoB,MAAM;AAC/B,SAAK,UAAU,MAAM;AAErB,SAAK,YAAY,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AACxE,SAAK,YAAY,MAAM,YAAY,IAAI,KAAK,MAAM,SAAS,IAAI,oBAAI,KAAK;AAExE,SAAK,UAAU,CAAC;AAChB,aAAS,QAAQ,MAAM,WAAW,CAAC,GAAG;AACpC,WAAK,QAAQ,KAAK;AAAA,QAChB,KAAK,KAAK;AAAA,QACV,UAAU,KAAK;AAAA,QACf,SAAS,KAAK;AAAA,QACd,QAAQ,KAAK;AAAA,QACb,gBAAgB,KAAK;AAAA,QACrB,OAAO,KAAK;AAAA,QACZ,WAAW,KAAK;AAAA,QAEhB,WAAW,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,IAAI,oBAAI,KAAK;AAAA,QAChE,WAAW,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,IAAI,oBAAI,KAAK;AAAA,MAClE,CAAC;AAAA,IACH;AAAA,EACF;AAAA;AAAA,EAEA,WAAW;AACT,WAAO,KAAK,KAAK,EAAE;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,QAAQ;AACZ,UAAM,MAAM,qBAAO,OAAO,MAAM,IAAI,KAAK,QAAQ,MAAM,IAAI,KAAK,EAAE;AAClE,UAAM,WAAW,MAAM,KAAK,KAAK,QAA0B;AAAA,MACzD,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AACD,UAAM,OAAO,IAAI,WAAU,UAAU,KAAK,OAAO;AAEjD,SAAK,QAAQ,MAAM,IAAI,KAAK,IAAI,IAAI;AACpC,SAAK,KAAK,MAAM,IAAI,KAAK,IAAI,IAAI;AACjC,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,aAAa,OAAgB;AACjC,UAAM,MAAM,qBAAO,OAAO,MAAM,SAAS,KAAK,QAAQ,MAAM,IAAI,KAAK,IAAI,WAAW;AACpF,UAAM,UAAU,EAAE,KAAK,MAAM;AAC7B,UAAM,KAAK,KAAK,QAAsC;AAAA,MACpD,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AACD,SAAK,YAAY;AACjB,SAAK,QAAQ,MAAM,IAAI,KAAK,IAAI,IAAI;AACpC,SAAK,KAAK,MAAM,IAAI,KAAK,IAAI,IAAI;AACjC,WAAO;AAAA,EACT;AAAA,EACA,MAAM,QAAQ;AACZ,UAAM,MAAM,qBAAO,OAAO,MAAM,IAAI,KAAK,QAAQ,MAAM,IAAI,KAAK,EAAE;AAClE,UAAM,UAAU,EAAE,OAAO,KAAK;AAC9B,UAAM,WAAW,MAAM,KAAK,KAAK,QAAsC;AAAA,MACrE,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AAED,0BAAK,iCAAL,WAAa;AACb,WAAO;AAAA,EACT;AAAA,EACA,MAAM,cAAc,MAAiD;AACnE,QAAI,QAA8B;AAAA,MAChC,SAAS;AAAA,QACP,WAAW,KAAK,aAAa,KAAK,QAAQ,aAAa;AAAA,QACvD,WAAW,KAAK,aAAa,KAAK,QAAQ,aAAa;AAAA,QACvD,KAAK,KAAK,OAAO,KAAK,QAAQ,OAAO;AAAA,QACrC,MAAM,KAAK,QAAQ,KAAK,QAAQ,QAAQ;AAAA,QAExC,WAAW,KAAK,aAAa,KAAK,QAAQ,aAAa;AAAA,QACvD,cAAc,KAAK,gBAAgB,KAAK,QAAQ,gBAAgB;AAAA,QAChE,gBAAgB,KAAK,kBAAkB,KAAK,QAAQ,kBAAkB;AAAA,QAEtE,SAAS;AAAA,UACP,SAAS,MAAM,SAAS,WAAW,KAAK,QAAQ,QAAQ;AAAA,UACxD,QAAQ,MAAM,SAAS,UAAU,KAAK,QAAQ,QAAQ,UAAU;AAAA,QAClE;AAAA,MACF;AAAA,IACF;AACA,QAAI,KAAK,YAAY,MAAM;AACzB,cAAQ;AAAA,QACN,SAAS;AAAA,UACP,SAAS;AAAA,YACP,SAAS;AAAA,YACT,QAAQ;AAAA,UACV;AAAA,UACA,WAAW;AAAA,UACX,WAAW;AAAA,UACX,KAAK;AAAA,UACL,MAAM;AAAA,UACN,WAAW;AAAA,UACX,cAAc;AAAA,UACd,gBAAgB;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AACA,UAAM,MAAM,qBAAO,OAAO,MAAM,OAAO,KAAK,QAAQ,MAAM,IAAI,KAAK,EAAE;AACrE,UAAM,WAAW,MAAM,KAAK,KAAK,QAA0B;AAAA,MACzD,QAAQ;AAAA,MACR;AAAA,MACA,SAAS;AAAA,IACX,CAAC;AAED,0BAAK,iCAAL,WAAa;AACb,WAAO;AAAA,EACT;AAAA,EACA,MAAM,aAAyC,MAAS;AACtD,QAAI,MAAM,KAAK,YAAY,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI;AACtD,QAAI,IAAK,QAAO;AAAA;AAEd,YAAM;AAAA,QACJ;AAAA,QACA,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AACF,SAAK,YAAY,KAAK,GAAG;AACzB,UAAM,KAAK,OAAO,EAAE,aAAa,KAAK,YAAY,CAAC;AACnD,WAAO;AAAA,EACT;AAAA,EACA,MAAM,aAAyC,MAAS,MAAuC;AAC7F,UAAM,EAAE,OAAO,KAAK,IAAI;AAExB,QAAI,MAAM,KAAK,YAAY,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI;AAEtD,QAAI,CAAC,IAAK,OAAM,EAAE,MAAM,OAAO,KAAK;AAAA;AAElC,YAAM;AAAA,QACJ;AAAA,QACA,MAAM,KAAK,IAAI,GAAG,IAAI,OAAO,IAAI;AAAA,QACjC,OAAO,KAAK,IAAI,GAAG,IAAI,QAAQ,KAAK;AAAA,MACtC;AACF,UAAM,QAAQ,KAAK,YAAY,UAAU,CAAC,MAAM,EAAE,SAAS,IAAI;AAC/D,SAAK,YAAY,KAAK,IAAI;AAC1B,WAAO,MAAM,KAAK,OAAO,EAAE,aAAa,KAAK,YAAY,CAAC;AAAA,EAC5D;AAAA,EACA,MAAM,gBAA4C,MAAS,MAAuC;AAChG,UAAM,EAAE,OAAO,KAAK,IAAI;AAExB,QAAI,MAAM,KAAK,YAAY,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI;AAEtD,QAAI,CAAC,IAAK,OAAM,EAAE,MAAM,OAAO,KAAK;AAAA;AAElC,YAAM;AAAA,QACJ;AAAA,QACA,MAAM,KAAK,IAAI,GAAG,IAAI,OAAO,IAAI;AAAA,QACjC,OAAO,KAAK,IAAI,GAAG,IAAI,QAAQ,KAAK;AAAA,MACtC;AACF,UAAM,QAAQ,KAAK,YAAY,UAAU,CAAC,MAAM,EAAE,SAAS,IAAI;AAC/D,SAAK,YAAY,KAAK,IAAI;AAC1B,WAAO,MAAM,KAAK,OAAO,EAAE,aAAa,KAAK,YAAY,CAAC;AAAA,EAC5D;AAAA,EAmCA,MAAM,UAAU,MAA4D;AAC1E,UAAM,MAAM,qBAAO,OAAO,MAAM,SAAS,KAAK,QAAQ,MAAM,IAAI,KAAK,IAAI,SAAS;AAClF,UAAM,UAAU;AAChB,UAAM,WAAW,MAAM,KAAK,KAAK,QAAsC,EAAE,QAAQ,QAAQ,KAAU,QAAQ,CAAC;AAC5G,WAAO,sBAAK,iCAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,aAAa,UAAuC;AACxD,QAAI,OAAO,KAAK;AAEhB,QAAI,SAAU,QAAO,KAAK,OAAO,CAAC,MAAM,EAAE,QAAQ,QAAQ;AAAA,QACrD,MAAK,IAAI;AAEd,UAAM,UAAU,EAAE,SAAS,KAAK;AAChC,UAAM,MAAM,qBAAO,OAAO,MAAM,OAAO,KAAK,QAAQ,MAAM,IAAI,KAAK,EAAE;AACrE,UAAM,WAAW,MAAM,KAAK,KAAK,QAAsC,EAAE,QAAQ,SAAS,KAAU,QAAQ,CAAC;AAC7G,WAAO,sBAAK,iCAAL,WAAa;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,OAAO,MAA4D;AACvE,QAAI,CAAC,MAAM,KAAM,MAAK,OAAO;AAE7B,UAAM,MAAM,qBAAO,OAAO,MAAM,IAAI,KAAK,QAAQ,MAAM,IAAI,KAAK,EAAE;AAClE,QAAI,UAA+B,CAAC;AAEpC,UAAM,gBAAgB;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,cAAc,CAAC,SAAS,qBAAqB,WAAW,eAAe,YAAY;AACzF,QAAI,MAAM,SAAS,SAAS,MAAM,SAAS,UAAU;AACnD,iBAAW,OAAO,MAAM;AACtB,YAAI,QAAQ,OAAQ;AAEpB,cAAM,QAAQ,KAAK,GAAwB;AAE3C,YAAI,cAAc,SAAS,GAAU,GAAG;AACtC,gBAAM,UAAW,KAAK,GAAwB,KAAK;AACnD,gBAAM,MAAO,SAAS;AACtB,kBAAQ,GAAG,IAAI,KAAK,IAAI,GAAG,MAAM,SAAS,QAAQ,UAAU,MAAM,UAAU,GAAG;AAAA,QACjF,WAAW,QAAQ,aAAa;AAC9B,kBAAQ,WAAW,IAAI;AAAA,QACzB,WAAW,QAAQ,WAAW;AAC5B,kBAAQ,SAAS,IAAI;AAAA,QACvB,WAAW,YAAY,SAAS,GAAU,GAAG;AAC3C,cAAI,QAAQ,qBAAqB;AAC/B,kBAAMA,WAAU,KAAK;AACrB,kBAAM,WAAW,KAAK,mBAAmB;AACzC,gBAAI,WAA6B,CAAC;AAElC,gBAAI,MAAM,SAAS,OAAO;AACxB,oBAAM,cAAc,IAAI,IAAIA,SAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC3D,yBAAW,CAAC,GAAGA,UAAS,GAAG,SAAS,OAAO,CAAC,OAAwB,CAAC,YAAY,IAAI,GAAG,OAAO,CAAC,CAAC;AAAA,YACnG,WAAW,MAAM,SAAS,UAAU;AAClC,oBAAM,cAAc,IAAI,IAAI,SAAS,IAAI,CAAC,OAAwB,GAAG,OAAO,CAAC;AAC7E,yBAAWA,SAAQ,OAAO,CAAC,OAAO,CAAC,YAAY,IAAI,GAAG,OAAO,CAAC;AAAA,YAChE;AAEA,oBAAQ,mBAAmB,IAAI;AAC/B;AAAA,UACF;AAEA,gBAAM,UAAU,KAAK,GAAwB;AAC7C,gBAAM,WAAW;AAEjB,kBAAQ,GAAG,IACT,MAAM,SAAS,QACX,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC,IACtC,QAAQ,OAAO,CAAC,MAAM,CAAC,SAAS,SAAS,CAAC,CAAC;AAAA,QACnD;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,OAAO,IAAI,KAAK,iBAAiB,IAAI,EAAE;AAC/C,YAAQ,kBAAkB,IAAI,KAAK,iBAAiB,IAAI,EAAE;AAE1D,UAAM,WAAW,MAAM,KAAK,KAAK,QAAsC;AAAA,MACrE,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AACD,0BAAK,iCAAL,WAAa;AACb,WAAO;AAAA,EACT;AAAA,EACA,MAAM,UAAU,MAA8B;AAC5C,UAAM,MAAM,qBAAO,OAAO,MAAM,IAAI,KAAK,QAAQ,MAAM,IAAI,KAAK,EAAE;AAClE,QAAI,UAA+B;AACnC,UAAM,WAAW,MAAM,KAAK,KAAK,QAAsC;AAAA,MACrE,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AACD,WAAO,sBAAK,iCAAL,WAAa;AAAA,EACtB;AAAA,EACA,MAAM,SAAS;AACb,UAAM,MAAM,qBAAO,OAAO,MAAM,OAAO,KAAK,QAAQ,MAAM,IAAI,KAAK,EAAE;AACrE,UAAM,WAAW,MAAM,KAAK,KAAK,QAAqB;AAAA,MACpD,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAED,SAAK,KAAK,KAAK,cAAc,IAAI;AACjC,SAAK,QAAQ,MAAM,OAAO,KAAK,EAAE;AAEjC,WAAO;AAAA,EACT;AAAA,EACA,SAAuB;AACrB,QAAI,OAAkD,CAAC;AAEvD,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,IAAI,GAAG;AAC/C,YAAM,UAAU,CAAC,QAAQ,UAAU,SAAS,SAAS;AACrD,UAAI,QAAQ,SAAS,GAAG,EAAG;AAE3B,UAAI,OAAO,UAAU,YAAY;AAC/B,QAAC,KAAa,GAAG,IAAI;AAAA,MACvB;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,iBAAiB,MAA8B;AAC7C,UAAM,MAAM,oBAAI,KAAK;AACrB,UAAM,UAAU,CAAC,CAAC,KAAK,OAAO,YAAQ,mCAAc,KAAK,MAAM,MAAM,GAAG;AAExE,UAAM,SAAS,CAAC,MAAc,KAAK,IAAI,GAAG,CAAC;AAE3C,UAAM,OAAO,KAAK,SAAS,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,EAAE;AAC9E,UAAM,MAAM;AAAA,MACV,QAAQ,MAAM,UAAU;AAAA,MACxB,MAAM,MAAM,QAAQ;AAAA,MACpB,OAAO,MAAM,SAAS;AAAA,MACtB,QAAQ,MAAM,UAAU;AAAA,MACxB,MAAM,MAAM,QAAQ;AAAA,IACtB;AAEA,SAAK,QAAQ;AAAA,MACX,QAAQ,QAAQ,UAAU,KAAK,SAAS,KAAK,IAAI,MAAM;AAAA,MACvD,MAAM,QAAQ,UAAU,KAAK,OAAO,KAAK,IAAI,IAAI;AAAA,MACjD,OAAO,QAAQ,UAAU,KAAK,QAAQ,KAAK,IAAI,KAAK;AAAA,MACpD,QAAQ,QAAQ,UAAU,KAAK,SAAS,KAAK,IAAI,MAAM;AAAA,MACvD,MAAM,QAAQ,UAAU,KAAK,OAAO,KAAK,IAAI,IAAI;AAAA,MACjD,MAAM;AAAA,IACR;AAEA,UAAM,aAAa,IAAI;AACvB,UAAM,eAAe,IAAI,SAAS;AAClC,SAAK,mBAAmB,eAAe,KAAK,KAAK,oBAAoB,KAAK;AAE1E,WAAO;AAAA,EACT;AACF;AAnbO;AAiPL,YAAO,SAAC,MAA8B;AACpC,WAAS,OAAO,MAAM;AACpB,QAAI,QAAQ,QAAQ,QAAQ,YAAa;AACzC,QAAI,OAAO,MAAM;AACf,MAAC,KAAa,GAAG,IAAI,KAAK,GAAyB;AAAA,IACrD;AACA,QAAI,QAAQ,WAAW;AACrB,WAAK,UAAU,CAAC;AAEhB,eAAS,QAAQ,KAAK,SAAS;AAC7B,aAAK,QAAQ,KAAK;AAAA,UAChB,KAAK,KAAK;AAAA,UACV,UAAU,KAAK;AAAA,UACf,SAAS,KAAK;AAAA,UACd,QAAQ,KAAK;AAAA,UACb,gBAAgB,KAAK;AAAA,UACrB,OAAO,KAAK;AAAA,UACZ,WAAW,KAAK;AAAA,UAEhB,WAAW,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,IAAI,oBAAI,KAAK;AAAA,UAChE,WAAW,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,IAAI,oBAAI,KAAK;AAAA,QAClE,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAEA,OAAK,YAAY,oBAAI,KAAK;AAC1B,OAAK,YAAY,IAAI,KAAK,KAAK,SAAS;AAExC,OAAK,QAAQ,IAAI,IAAI;AACrB,OAAK,KAAK,KAAK,cAAc,IAAI;AACjC,SAAO;AACT;AAjRK,IAAM,YAAN;","names":["current"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/structures/vipmember/VipMember.ts"],"sourcesContent":["import { REST } from \"../../rest/REST\";\r\nimport { Routes } from \"../../rest/Routes\";\r\nimport { Optional } from \"../../types/api\";\r\nimport { APIVipMember } from \"../../types/api/APIVipMember\";\r\nimport { VipMemberManager } from \"../../managers/vipmember/VipMemberManager\";\r\nimport { Guild } from \"../guild/Guild\";\r\n\r\nexport class VipMember implements APIVipMember {\r\n /** member's id */\r\n id: string;\r\n\r\n /** member name */\r\n name: string;\r\n\r\n /** Members's roleId */\r\n roleId: string;\r\n\r\n /** Members's voiceChannelId */\r\n voiceChannelId: string;\r\n\r\n /** Vip's type */\r\n type: \"both\" | \"role\" | \"channel\";\r\n\r\n /** Member's Guild Id */\r\n guild_id: string;\r\n duration: Date;\r\n status: \"on\" | \"off\";\r\n /** member's daily */\r\n createdAt: Date;\r\n\r\n /** Updated Date */\r\n updatedAt: Date;\r\n\r\n /** The given manager */\r\n readonly manager: VipMemberManager;\r\n\r\n /** The rest client */\r\n readonly rest: REST;\r\n readonly guild: Guild;\r\n\r\n /**\r\n * Bet member\r\n * @param data The member's data\r\n * @param manager The manager\r\n * @param rest The rest client\r\n */\r\n constructor(data: APIVipMember, manager: VipMemberManager) {\r\n this.name = data?.name;\r\n this.id = data?.id;\r\n this.manager = manager;\r\n this.rest = manager.rest;\r\n this.guild = manager.guild;\r\n\r\n this.duration = data?.duration ? new Date(data?.duration) : new Date();\r\n this.status = data?.status;\r\n this.type = data?.type;\r\n\r\n this.roleId = data?.roleId;\r\n this.voiceChannelId = data?.voiceChannelId;\r\n this.guild_id = data?.guild_id;\r\n\r\n this.createdAt = data?.createdAt ? new Date(data?.createdAt) : new Date();\r\n this.updatedAt = data?.updatedAt ? new Date(data?.updatedAt) : new Date();\r\n }\r\n /** String representation of this member */\r\n toString() {\r\n return `<@${this.id}>`;\r\n }\r\n /**\r\n * Fetches the member\r\n * @returns New Instance of the member\r\n */\r\n async fetch() {\r\n const url = Routes.vipmembers.get(this.guild_id, this.id);\r\n const response = await this.rest.request<APIVipMember, {}>({\r\n method: \"get\",\r\n url: url,\r\n });\r\n const member = new VipMember(response, this.manager);\r\n\r\n this.manager.cache.set(member.id, member);\r\n return member;\r\n }\r\n\r\n async reset() {\r\n const url = Routes.vipmembers.get(this.guild_id, this.id);\r\n const payload = { reset: true };\r\n const response = await this.rest.request<APIVipMember, typeof payload>({\r\n method: \"DELETE\",\r\n url: url,\r\n payload,\r\n });\r\n\r\n this.#updateData(response);\r\n this.type = response.type;\r\n this.manager.set(response);\r\n\r\n return this;\r\n }\r\n #updateData(data: Optional<APIVipMember | VipMember>) {\r\n for (const k in data) {\r\n if (k === \"id\") continue;\r\n if (Object.hasOwn(this, k)) {\r\n (this as any)[k] = data[k as keyof APIVipMember];\r\n (this as any).data[k] = data[k as keyof APIVipMember];\r\n }\r\n }\r\n }\r\n /**\r\n * Update certain property\r\n * @param data The new data to update with\r\n * @returns\r\n */\r\n async update(data: Optional<APIVipMember>) {\r\n const url = Routes.vipmembers.get(this.guild.id, this.id);\r\n const payload: Record<string, any> = data;\r\n\r\n const response = await this.rest.request<APIVipMember, typeof payload>({\r\n method: \"patch\",\r\n url: url,\r\n payload,\r\n });\r\n for (const k in response) {\r\n if (k === \"id\") continue;\r\n if (Object.hasOwn(this, k)) {\r\n (this as any)[k] = response[k as keyof APIVipMember];\r\n }\r\n }\r\n\r\n this.updatedAt = response?.updatedAt ? new Date(response?.updatedAt) : new Date();\r\n this.duration = response?.duration ? new Date(response?.duration) : new Date();\r\n this.createdAt = response?.createdAt ? new Date(response?.createdAt) : new Date();\r\n this.type = response.type;\r\n\r\n this.manager.cache.set(this.id, this);\r\n\r\n return this;\r\n }\r\n\r\n async delete() {\r\n const url = Routes.vipmembers.delete(this.guild_id, this.id);\r\n const response = await this.rest.request<boolean, {}>({\r\n method: \"DELETE\",\r\n url: url,\r\n });\r\n\r\n this.manager.cache.delete(this.id);\r\n return response;\r\n }\r\n toJSON() {\r\n let json: Record<keyof APIVipMember, unknown>;\r\n for (const [key, value] of Object.entries(this)) {\r\n if (typeof value !== \"function\") {\r\n (json as any)[key] = value;\r\n }\r\n }\r\n return json;\r\n }\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/types/RestTypes.ts"],"sourcesContent":["//import { Channel } from \"../structures/channel/Channel\";\r\nimport { GuildBet, GuildTicket, LogEntry } from \"../structures\";\r\nimport { GuildBetUser } from \"../structures/betuser/GuildBetUser\";\r\nimport { Collection } from \"../structures/Collection\";\r\n//import { GroupedChannel } from \"../structures/groupedchannel/GroupedChannel\";\r\nimport { Guild } from \"../structures/guild/Guild\";\r\nimport { GuildMatch } from \"../structures/match/GuildMatch\";\r\n//import { GuildTicket } from \"../structures/ticket/GuildTicket\";\r\nimport { GuildUser } from \"../structures/user/GuildUser\";\r\nimport { APILogEntry } from \"./api\";\r\n\r\nexport interface RequestOptions<Payload> {\r\n /** The request's method */\r\n method:\r\n | \"patch\"\r\n | \"get\"\r\n | \"put\"\r\n | \"post\"\r\n | \"delete\"\r\n | \"options\"\r\n | \"head\"\r\n | \"PATCH\"\r\n | \"GET\"\r\n | \"PUT\"\r\n | \"POST\"\r\n | \"DELETE\"\r\n | \"OPTIONS\"\r\n | \"HEAD\";\r\n\r\n /** The request's url */\r\n url: string;\r\n\r\n /** The request payload */\r\n payload?: Payload;\r\n}\r\nexport interface RestEvents {\r\n request: [{ url: string; method: string }];\r\n response: [{ status: number; body: unknown }];\r\n error: [Error];\r\n debug: [string];\r\n\r\n ticketCreate: [GuildTicket];\r\n ticketDelete: [GuildTicket];\r\n ticketsDelete: [Collection<string, GuildTicket>];\r\n\r\n matchCreate: [GuildMatch];\r\n matchUpdate: [GuildMatch, GuildMatch];\r\n matchDelete: [GuildMatch];\r\n matchesDelete: [Collection<string, GuildMatch>];\r\n\r\n betCreate: [GuildBet];\r\n betUpdate: [GuildBet, GuildBet];\r\n betDelete: [GuildBet];\r\n betsDelete: [Collection<string, GuildBet>];\r\n\r\n guildUpdate: [Guild];\r\n guildDelete: [Guild];\r\n guildsDelete: [Collection<string, Guild>];\r\n\r\n //groupedChannelUpdate: [GroupedChannel, GroupedChannel];\r\n\r\n userDelete: [GuildUser];\r\n userUpdate: [GuildUser];\r\n usersDelete: [Collection<string, GuildUser>];\r\n\r\n betuserDelete: [GuildBetUser];\r\n betuserUpdate: [GuildBetUser];\r\n betusersDelete: [Collection<string, GuildBetUser>];\r\n\r\n logEntryCreate: [LogEntry, Guild];\r\n // channelCreate: [Channel<any>];\r\n // channelUpdate: [Channel<any>];\r\n // channelBulkCreate: [Collection<string, Channel<any>>];\r\n // channelBulkDelete: [Collection<string, Channel<any>>];\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/types/api/APIAdvert.ts"],"sourcesContent":["export interface APIAdvert {\r\n _id: string;\r\n\r\n points_removed: number;\r\n admin_id: string;\r\n\r\n proof: any;\r\n proof_ext: string;\r\n reason: string;\r\n role_id: string;\r\n\r\n createdAt: Date;\r\n updatedAt: Date;\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/types/api/APIAutomaticMessage.ts"],"sourcesContent":["import { APIEmbed } from \"discord-api-types/v10\";\r\nimport { AutomaticMessagesTypes } from \"./APIGuild\";\r\n\r\nexport interface APIAutomaticMessage {\r\n id: string;\r\n _id: string;\r\n name: string;\r\n\r\n admin_id: string;\r\n channel_ids: string[];\r\n type: AutomaticMessagesTypes;\r\n guild_id: string;\r\n\r\n message: {\r\n content: string;\r\n embeds: APIEmbed[];\r\n components: any[];\r\n attachments: any[];\r\n flags: number;\r\n };\r\n\r\n interval_ms: number;\r\n\r\n createdAt: Date;\r\n updatedAt: Date;\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/types/api/APIBaseChannel.ts"],"sourcesContent":["export interface APIBaseChannel {\r\n /** Channel's type */\r\n type: string;\r\n\r\n /** Channel's id */\r\n id: string;\r\n\r\n /** Creation Date */\r\n createdAt?: Date;\r\n\r\n /** Updated Date */\r\n updatedAt?: Date;\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/types/api/APIBetChannel.ts"],"sourcesContent":["export interface APIBetChannel {\r\n /** Channel's type */\r\n type: string;\r\n\r\n /** Channel's id */\r\n id: string;\r\n\r\n /** Creation Date */\r\n createdAt: Date;\r\n\r\n /** Updated Date */\r\n updatedAt: Date;\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/types/api/APICode.ts"],"sourcesContent":["export interface APICode {\r\n type: string;\r\n add: string;\r\n admin_id: string;\r\n code: string;\r\n\r\n expire: Date;\r\n\r\n _id: string;\r\n\r\n createdAt: Date;\r\n updatedAt: Date;\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/types/api/APIGiveaway.ts"],"sourcesContent":["export interface GiveawayMessage {\r\n id: string;\r\n content: string;\r\n type: \"embed\" | \"text\";\r\n}\r\n\r\nexport interface GiveawayWinners {\r\n count: number;\r\n selected: string[];\r\n}\r\n\r\nexport interface APIGiveaway {\r\n _id: string;\r\n host_id: string;\r\n channel_id: string;\r\n guild_id: string;\r\n\r\n /** Duration of giveaway in sec */\r\n duration: number;\r\n\r\n prizes: string[];\r\n participants: string[];\r\n allowed_roles: string[];\r\n blacklisted_roles: string[];\r\n\r\n message: GiveawayMessage;\r\n winners: GiveawayWinners;\r\n\r\n rerolls: string[];\r\n\r\n status: \"created\" | \"off\" | \"on\";\r\n \r\n createdAt: Date;\r\n updatedAt: Date;\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/types/api/APIGuild.ts"],"sourcesContent":["import { APICode, APIGuildAdvert, APITicketCategory } from \".\";\r\nimport { APIAutomaticMessage } from \"./APIAutomaticMessage\";\r\nimport { APIGuildGroupedChannel } from \"./APIGuildGroupedChannel\";\r\nimport { APIGuildPermissions } from \"./APIGuildPermissions\";\r\n\r\n/** Ticket's configuration */\r\nexport interface GuildTicketConfiguration {\r\n /** Guild's categories */\r\n categories: APITicketCategory[];\r\n creationCategory: string;\r\n deletionCategory: string;\r\n rating_channel_id: string;\r\n}\r\nexport interface GuildStatus {\r\n /** Matches status */\r\n matches: \"on\" | \"off\";\r\n /** Bets status */\r\n bets: \"on\" | \"off\";\r\n /** Daily Ranking status */\r\n daily_rank: \"on\" | \"off\";\r\n /** Voice Channels for a bet */\r\n create_voice_channels: \"on\" | \"off\";\r\n two_mvps: \"on\" | \"off\";\r\n ranking_name: \"on\" | \"off\";\r\n\r\n logs_queues: \"on\" | \"off\";\r\n logs_users: \"on\" | \"off\";\r\n logs_managing: \"on\" | \"off\";\r\n\r\n name_hidden: \"on\" | \"off\";\r\n}\r\nexport enum GuildStatusEnum {\r\n /** Matches status */\r\n Matches = \"matches\",\r\n /** Bets status */\r\n Bets = \"bets\",\r\n /** Daily Ranking status */\r\n DailyRank = \"daily_rank\",\r\n /** Voice Channels for a bet */\r\n CreateVoiceChannels = \"create_voice_channels\",\r\n TwoMvps = \"two_mvps\",\r\n RankingName = \"ranking_name\",\r\n\r\n LogsQueues = \"logs_queues\",\r\n LogsUsers = \"logs_users\",\r\n LogsManaging = \"logs_managing\",\r\n\r\n NameHidden = \"name_hidden\",\r\n}\r\nexport interface GuildModes {\r\n on: string[];\r\n off: string[];\r\n}\r\nexport type DailyCategories = \"coins\" | \"credit\" | \"wins\" | \"points\" | \"losses\" | \"mvps\";\r\n\r\nexport type GuildPrices = number[];\r\n\r\nexport interface GuildScores {\r\n /** Win */\r\n win: number;\r\n\r\n /** Loss */\r\n loss: number;\r\n\r\n /** Mvp */\r\n mvp: number;\r\n\r\n /** Coin */\r\n coin: number;\r\n\r\n /** Creator */\r\n creator: number;\r\n}\r\n\r\nexport interface RoulettePrize {\r\n label: string;\r\n custom_color: string;\r\n custom_probability: number;\r\n _id: string;\r\n}\r\nexport interface RouletteSettings {\r\n primary_color: string;\r\n secondary_color: string;\r\n tertiary_color: string;\r\n text_color: string;\r\n prizes: RoulettePrize[];\r\n}\r\nexport enum AutomaticMessagesTypes {\r\n MatchStarted = \"match_started\",\r\n Miscellaneous = \"miscellaneous\",\r\n}\r\nexport enum GuildChannelsType {\r\n DailyRank = \"daily_rank\",\r\n Commands = \"command\",\r\n Blacklist = \"blacklist\",\r\n Queues = \"queue\",\r\n VipMemebers = \"vipmembers_category\",\r\n QueueLogs = \"queue_logs\",\r\n UserLogs = \"user_logs\",\r\n TicketLogs = \"ticket_logs\",\r\n ManagingLogs = \"managing_logs\",\r\n NormalQueue = \"normal_queue\",\r\n ChallengeQueue = \"challenge_queue\",\r\n MatchTextChannelParent = \"match_text_channel_parent\",\r\n VoiceChannelMatchCreation = \"voice_channel_match_creation\",\r\n WaitingVC = \"waiting_vc\",\r\n BetMobileCategory = \"bet_mobile_category\",\r\n BetEmulatorCategory = \"bet_emulator_category\",\r\n BetMixCategory = \"bet_mix_category\",\r\n RouletteLogs = \"roulette_logs\",\r\n Rules = \"rules\",\r\n BettingChannel = \"betting\",\r\n}\r\n\r\nexport interface APIGuild {\r\n /** Guild's id */\r\n id: string;\r\n /** Guild's client key */\r\n client_key: string;\r\n\r\n modes: GuildModes;\r\n\r\n /** Guild Permissions */\r\n permissions: APIGuildPermissions;\r\n\r\n /** Guild Ticket Configuration */\r\n tickets_configuration: GuildTicketConfiguration;\r\n\r\n /** Guild Daily Categories */\r\n daily_categories: DailyCategories[];\r\n\r\n /** Guild Scores */\r\n scores: GuildScores;\r\n\r\n /** Guild Status */\r\n status: GuildStatus;\r\n\r\n /** Guild Channel */\r\n channels: APIGuildGroupedChannel[];\r\n\r\n /** Guild Categories */\r\n categories: APIGuildGroupedChannel[];\r\n\r\n /** Guild Prefix */\r\n prefix: string;\r\n prefixes: string[];\r\n\r\n /** Guild Prices Used */\r\n prices: GuildPrices;\r\n\r\n /** Guild Creation Date */\r\n createdAt: Date;\r\n\r\n /** Guild Updated Date */\r\n updatedAt: Date;\r\n\r\n adverts: APIGuildAdvert[];\r\n\r\n max_advert_per_user: number;\r\n\r\n codes: APICode[];\r\n\r\n coin_symbol: string;\r\n\r\n roulette_settings: RouletteSettings;\r\n webhook_urls: GuildLogsWebhookUrls;\r\n autorole_config: {\r\n role: string;\r\n };\r\n\r\n match_count: number;\r\n bet_count: number;\r\n}\r\nexport interface GuildLogsWebhookUrls {\r\n queues: {\r\n closed: string;\r\n shutted: string;\r\n managed: string;\r\n started: string;\r\n };\r\n\r\n users: {\r\n punished: string;\r\n updated: string;\r\n };\r\n\r\n shop: {\r\n redeemed: string;\r\n };\r\n\r\n tickets: {\r\n closed: string,\r\n opened: string,\r\n },\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BO,IAAK,kBAAL,kBAAKA,qBAAL;AAEL,EAAAA,iBAAA,aAAU;AAEV,EAAAA,iBAAA,UAAO;AAEP,EAAAA,iBAAA,eAAY;AAEZ,EAAAA,iBAAA,yBAAsB;AACtB,EAAAA,iBAAA,aAAU;AACV,EAAAA,iBAAA,iBAAc;AAEd,EAAAA,iBAAA,gBAAa;AACb,EAAAA,iBAAA,eAAY;AACZ,EAAAA,iBAAA,kBAAe;AAEf,EAAAA,iBAAA,gBAAa;AAhBH,SAAAA;AAAA,GAAA;AAwDL,IAAK,yBAAL,kBAAKC,4BAAL;AACL,EAAAA,wBAAA,kBAAe;AACf,EAAAA,wBAAA,mBAAgB;AAFN,SAAAA;AAAA,GAAA;AAIL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,mBAAA,eAAY;AACZ,EAAAA,mBAAA,cAAW;AACX,EAAAA,mBAAA,eAAY;AACZ,EAAAA,mBAAA,YAAS;AACT,EAAAA,mBAAA,iBAAc;AACd,EAAAA,mBAAA,eAAY;AACZ,EAAAA,mBAAA,cAAW;AACX,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,kBAAe;AACf,EAAAA,mBAAA,iBAAc;AACd,EAAAA,mBAAA,oBAAiB;AACjB,EAAAA,mBAAA,4BAAyB;AACzB,EAAAA,mBAAA,+BAA4B;AAC5B,EAAAA,mBAAA,eAAY;AACZ,EAAAA,mBAAA,uBAAoB;AACpB,EAAAA,mBAAA,yBAAsB;AACtB,EAAAA,mBAAA,oBAAiB;AACjB,EAAAA,mBAAA,kBAAe;AACf,EAAAA,mBAAA,WAAQ;AACR,EAAAA,mBAAA,oBAAiB;AApBP,SAAAA;AAAA,GAAA;","names":["GuildStatusEnum","AutomaticMessagesTypes","GuildChannelsType"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/types/api/APIGuildAdvert.ts"],"sourcesContent":["export interface APIGuildAdvert {\r\n _id: string;\r\n\r\n points_to_remove: number;\r\n admin_id: string;\r\n\r\n role_id: string;\r\n\r\n createdAt: Date;\r\n updatedAt: Date;\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/types/api/APIGuildBet.ts"],"sourcesContent":["import { BaseMatchModes, Confirm, Logs } from \".\";\r\nimport { APIBetChannel } from \"./APIBetChannel\";\r\nimport { APIMessage } from \"./APIMessage\";\r\nimport { APIPlayer } from \"./APIPlayer\";\r\n\r\nexport interface BetQueue {\r\n _id: string;\r\n type: string;\r\n players: APIPlayer[];\r\n\r\n createdAt: Date;\r\n updatedAt: Date;\r\n}\r\n\r\nexport enum BetChannelTypes {\r\n CreationChannel = \"creation_channel\",\r\n}\r\n\r\nexport interface APIGuildBet {\r\n /** The bet's type */\r\n type: Omit<BaseMatchModes, \"5x5\" | \"6x6\" | \"5v5\" | \"6v6\">;\r\n\r\n /** The bet's mode */\r\n mode: \"misto\" | \"emu\" | \"mob\" | \"MISTO\" | \"EMU\" | \"MOB\";\r\n\r\n /** The bet's status */\r\n status: \"off\" | \"created\" | \"on\" | \"shutted\" | \"waiting\";\r\n\r\n /** The bet's maximum size */\r\n maximumSize: number;\r\n\r\n /** The bet's price */\r\n price: number;\r\n guild_id: string;\r\n \r\n /** The bet's players */\r\n players: APIPlayer[];\r\n\r\n teams: APIPlayer[][];\r\n\r\n /** The bet's channel */\r\n channels: APIBetChannel[];\r\n\r\n /** The bet's messages */\r\n messages: APIMessage[];\r\n\r\n /** The id of the winner */\r\n winners: APIPlayer[];\r\n\r\n /** The id of the loser */\r\n losers: APIPlayer[];\r\n\r\n /** The bet's creator id */\r\n creatorId: string;\r\n\r\n /** The bet's mediator */\r\n mediatorId: string;\r\n\r\n /** The bet's confirmers */\r\n confirmed: Confirm[];\r\n\r\n /** Creation Date */\r\n createdAt: Date;\r\n\r\n /** Updated Date */\r\n updatedAt: Date;\r\n\r\n /** Bet's id */\r\n _id: string;\r\n\r\n queues: BetQueue[];\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAcO,IAAK,kBAAL,kBAAKA,qBAAL;AACL,EAAAA,iBAAA,qBAAkB;AADR,SAAAA;AAAA,GAAA;","names":["BetChannelTypes"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/types/api/APIGuildBetUser.ts"],"sourcesContent":["import { Daily, Profile } from \".\";\r\n\r\n/** Bet user */\r\nexport interface APIGuildBetUser {\r\n /** User daily */\r\n daily: Omit<Daily, \"points\">;\r\n\r\n profile: Profile;\r\n consecutive_wins: number;\r\n /** User's name */\r\n id: string;\r\n guild_id: string;\r\n\r\n /** User's credit */\r\n credit: number;\r\n\r\n /** User's wins */\r\n wins: number;\r\n\r\n /** User's losses */\r\n losses: number;\r\n\r\n /** User's games */\r\n games: number;\r\n\r\n /** User's blacklist */\r\n blacklist: boolean;\r\n\r\n /** User's coins */\r\n coins: number;\r\n\r\n spins: number;\r\n used_codes: string[];\r\n /** Creation Date */\r\n createdAt: Date;\r\n\r\n /** Updated Date */\r\n updatedAt: Date;\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/types/api/APIGuildChannel.ts"],"sourcesContent":["export interface APIGuildChannel {\r\n /** Channel's type */\r\n type: string;\r\n\r\n /** Channel's ids */\r\n ids: string[];\r\n\r\n /** Creation Date */\r\n createdAt: Date;\r\n\r\n /** Updated Date */\r\n updatedAt: Date;\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/types/api/APIGuildGroupedChannel.ts"],"sourcesContent":["import { GuildChannelsType } from \"./APIGuild\";\r\n\r\nexport interface APIGuildGroupedChannel {\r\n /** Channel's type */\r\n type: string & GuildChannelsType\r\n\r\n /** Channel's ids */\r\n ids: string[];\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|