From bf5f4c7f70b97ac96e6e90892e4c40f6e2b5d484 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 3 Aug 2025 04:09:45 +0200 Subject: [PATCH 01/87] Init ForgeGiveaways --- .gitignore | 1 + dist/commit.d.ts | 2 + dist/commit.d.ts.map | 1 + dist/commit.js | 48 + dist/commit.js.map | 1 + dist/docgen.d.ts | 2 + dist/docgen.d.ts.map | 1 + dist/docgen.js | 5 + dist/docgen.js.map | 1 + dist/events/databaseConnect.d.ts | 4 + dist/events/databaseConnect.d.ts.map | 1 + dist/events/databaseConnect.js | 23 + dist/events/databaseConnect.js.map | 1 + dist/events/giveawayEdit.d.ts | 4 + dist/events/giveawayEdit.d.ts.map | 1 + dist/events/giveawayEdit.js | 23 + dist/events/giveawayEdit.js.map | 1 + dist/events/giveawayEnd.d.ts | 4 + dist/events/giveawayEnd.d.ts.map | 1 + dist/events/giveawayEnd.js | 23 + dist/events/giveawayEnd.js.map | 1 + dist/events/giveawayReroll.d.ts | 4 + dist/events/giveawayReroll.d.ts.map | 1 + dist/events/giveawayReroll.js | 23 + dist/events/giveawayReroll.js.map | 1 + dist/events/giveawayRestart.d.ts | 4 + dist/events/giveawayRestart.d.ts.map | 1 + dist/events/giveawayRestart.js | 23 + dist/events/giveawayRestart.js.map | 1 + dist/events/giveawayStart.d.ts | 4 + dist/events/giveawayStart.d.ts.map | 1 + dist/events/giveawayStart.js | 23 + dist/events/giveawayStart.js.map | 1 + dist/functions/prompt.d.ts | 2 + dist/functions/prompt.d.ts.map | 1 + dist/functions/prompt.js | 15 + dist/functions/prompt.js.map | 1 + dist/index.d.ts | 20 + dist/index.d.ts.map | 1 + dist/index.js | 38 + dist/index.js.map | 1 + dist/managers/GiveawaysCommandManager.d.ts | 6 + .../managers/GiveawaysCommandManager.d.ts.map | 1 + dist/managers/GiveawaysCommandManager.js | 9 + dist/managers/GiveawaysCommandManager.js.map | 1 + dist/managers/GiveawaysEventManager.d.ts | 7 + dist/managers/GiveawaysEventManager.d.ts.map | 1 + dist/managers/GiveawaysEventManager.js | 13 + dist/managers/GiveawaysEventManager.js.map | 1 + dist/native/startGiveaway.d.ts | 38 + dist/native/startGiveaway.d.ts.map | 1 + dist/native/startGiveaway.js | 64 + dist/native/startGiveaway.js.map | 1 + docs/.nojekyll | 1 + docs/assets/highlight.css | 22 + docs/assets/icons.js | 18 + docs/assets/icons.svg | 1 + docs/assets/main.js | 60 + docs/assets/navigation.js | 1 + docs/assets/search.js | 1 + docs/assets/style.css | 1493 ++++++++ docs/classes/ForgeGiveaways.html | 16 + docs/index.html | 1 + docs/interfaces/IGiveawayOptions.html | 3 + docs/modules.html | 3 + metadata/changelogs.json | 1 + metadata/enums.json | 1 + metadata/events.json | 1 + metadata/functions.json | 1 + package-lock.json | 3283 +++++++++++++++++ package.json | 27 + src/commit.ts | 55 + src/docgen.ts | 3 + src/events/databaseConnect.ts | 24 + src/events/giveawayEdit.ts | 24 + src/events/giveawayEnd.ts | 24 + src/events/giveawayReroll.ts | 24 + src/events/giveawayRestart.ts | 24 + src/events/giveawayStart.ts | 24 + src/functions/prompt.ts | 12 + src/index.ts | 43 + src/managers/GiveawaysCommandManager.ts | 6 + src/managers/GiveawaysEventManager.ts | 12 + src/native/startGiveaway.ts | 66 + tsconfig.json | 109 + 85 files changed, 5842 insertions(+) create mode 100644 .gitignore create mode 100644 dist/commit.d.ts create mode 100644 dist/commit.d.ts.map create mode 100644 dist/commit.js create mode 100644 dist/commit.js.map create mode 100644 dist/docgen.d.ts create mode 100644 dist/docgen.d.ts.map create mode 100644 dist/docgen.js create mode 100644 dist/docgen.js.map create mode 100644 dist/events/databaseConnect.d.ts create mode 100644 dist/events/databaseConnect.d.ts.map create mode 100644 dist/events/databaseConnect.js create mode 100644 dist/events/databaseConnect.js.map create mode 100644 dist/events/giveawayEdit.d.ts create mode 100644 dist/events/giveawayEdit.d.ts.map create mode 100644 dist/events/giveawayEdit.js create mode 100644 dist/events/giveawayEdit.js.map create mode 100644 dist/events/giveawayEnd.d.ts create mode 100644 dist/events/giveawayEnd.d.ts.map create mode 100644 dist/events/giveawayEnd.js create mode 100644 dist/events/giveawayEnd.js.map create mode 100644 dist/events/giveawayReroll.d.ts create mode 100644 dist/events/giveawayReroll.d.ts.map create mode 100644 dist/events/giveawayReroll.js create mode 100644 dist/events/giveawayReroll.js.map create mode 100644 dist/events/giveawayRestart.d.ts create mode 100644 dist/events/giveawayRestart.d.ts.map create mode 100644 dist/events/giveawayRestart.js create mode 100644 dist/events/giveawayRestart.js.map create mode 100644 dist/events/giveawayStart.d.ts create mode 100644 dist/events/giveawayStart.d.ts.map create mode 100644 dist/events/giveawayStart.js create mode 100644 dist/events/giveawayStart.js.map create mode 100644 dist/functions/prompt.d.ts create mode 100644 dist/functions/prompt.d.ts.map create mode 100644 dist/functions/prompt.js create mode 100644 dist/functions/prompt.js.map create mode 100644 dist/index.d.ts create mode 100644 dist/index.d.ts.map create mode 100644 dist/index.js create mode 100644 dist/index.js.map create mode 100644 dist/managers/GiveawaysCommandManager.d.ts create mode 100644 dist/managers/GiveawaysCommandManager.d.ts.map create mode 100644 dist/managers/GiveawaysCommandManager.js create mode 100644 dist/managers/GiveawaysCommandManager.js.map create mode 100644 dist/managers/GiveawaysEventManager.d.ts create mode 100644 dist/managers/GiveawaysEventManager.d.ts.map create mode 100644 dist/managers/GiveawaysEventManager.js create mode 100644 dist/managers/GiveawaysEventManager.js.map create mode 100644 dist/native/startGiveaway.d.ts create mode 100644 dist/native/startGiveaway.d.ts.map create mode 100644 dist/native/startGiveaway.js create mode 100644 dist/native/startGiveaway.js.map create mode 100644 docs/.nojekyll create mode 100644 docs/assets/highlight.css create mode 100644 docs/assets/icons.js create mode 100644 docs/assets/icons.svg create mode 100644 docs/assets/main.js create mode 100644 docs/assets/navigation.js create mode 100644 docs/assets/search.js create mode 100644 docs/assets/style.css create mode 100644 docs/classes/ForgeGiveaways.html create mode 100644 docs/index.html create mode 100644 docs/interfaces/IGiveawayOptions.html create mode 100644 docs/modules.html create mode 100644 metadata/changelogs.json create mode 100644 metadata/enums.json create mode 100644 metadata/events.json create mode 100644 metadata/functions.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/commit.ts create mode 100644 src/docgen.ts create mode 100644 src/events/databaseConnect.ts create mode 100644 src/events/giveawayEdit.ts create mode 100644 src/events/giveawayEnd.ts create mode 100644 src/events/giveawayReroll.ts create mode 100644 src/events/giveawayRestart.ts create mode 100644 src/events/giveawayStart.ts create mode 100644 src/functions/prompt.ts create mode 100644 src/index.ts create mode 100644 src/managers/GiveawaysCommandManager.ts create mode 100644 src/managers/GiveawaysEventManager.ts create mode 100644 src/native/startGiveaway.ts create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/dist/commit.d.ts b/dist/commit.d.ts new file mode 100644 index 0000000..c908711 --- /dev/null +++ b/dist/commit.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=commit.d.ts.map \ No newline at end of file diff --git a/dist/commit.d.ts.map b/dist/commit.d.ts.map new file mode 100644 index 0000000..28cfb67 --- /dev/null +++ b/dist/commit.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../src/commit.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/commit.js b/dist/commit.js new file mode 100644 index 0000000..146ca42 --- /dev/null +++ b/dist/commit.js @@ -0,0 +1,48 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const child_process_1 = require("child_process"); +const fs_1 = require("fs"); +const prompt_1 = __importDefault(require("./functions/prompt")); +const path_1 = require("path"); +const path = "./metadata"; +if (!(0, fs_1.existsSync)(path)) + (0, fs_1.mkdirSync)(path); +const version = require("../package.json").version; +async function main() { + let skip = false; + const msg = (await (0, prompt_1.default)("Please write the commit message: ")).replace(/(--?(\w+))/gim, (match) => { + const name = /(\w+)/.exec(match)[1].toLowerCase(); + switch (name) { + case "hide": { + skip = true; + break; + } + default: { + throw new Error(`--${name} is not a valid flag.`); + } + } + return ""; + }).trim(); + const fileName = (0, path_1.join)(path, "changelogs.json"); + const json = (0, fs_1.existsSync)(fileName) ? JSON.parse((0, fs_1.readFileSync)(fileName, "utf-8")) : {}; + json[version] ??= []; + if (!skip) { + json[version].unshift({ + message: msg, + timestamp: new Date(), + author: (0, child_process_1.execSync)("git config user.name").toString().trim() + }); + (0, fs_1.writeFileSync)(fileName, JSON.stringify(json), "utf-8"); + } + const branch = await (0, prompt_1.default)("Write the branch name to push to (defaults to dev): ") || "dev"; + const escapedMsg = msg.replace(/\$/g, "\\$"); + (0, child_process_1.execSync)("git branch -M " + branch + " && git add . && git commit -m \"" + escapedMsg + "\" && git push -u origin " + branch, { + stdio: "inherit" + }); +} +// Nothing +main(); +//# sourceMappingURL=commit.js.map \ No newline at end of file diff --git a/dist/commit.js.map b/dist/commit.js.map new file mode 100644 index 0000000..1241549 --- /dev/null +++ b/dist/commit.js.map @@ -0,0 +1 @@ +{"version":3,"file":"commit.js","sourceRoot":"","sources":["../src/commit.ts"],"names":[],"mappings":";;;;;AAAA,iDAAwC;AACxC,2BAAuE;AACvE,gEAAuC;AACvC,+BAA2B;AAE3B,MAAM,IAAI,GAAG,YAAY,CAAA;AACzB,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC;IAAE,IAAA,cAAS,EAAC,IAAI,CAAC,CAAA;AAEtC,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;AAElD,KAAK,UAAU,IAAI;IACf,IAAI,IAAI,GAAG,KAAK,CAAA;IAEhB,MAAM,GAAG,GAAG,CAAC,MAAM,IAAA,gBAAM,EAAC,mCAAmC,CAAC,CAAC,CAAC,OAAO,CACnE,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QAElD,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,IAAI,GAAG,IAAI,CAAA;gBACX,MAAK;YACT,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAA;YACrD,CAAC;QACL,CAAC;QAED,OAAO,EAAE,CAAA;IACb,CAAC,CACJ,CAAC,IAAI,EAAE,CAAA;IAER,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;IAC9C,MAAM,IAAI,GAA6B,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9G,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IAEpB,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YAClB,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,MAAM,EAAE,IAAA,wBAAQ,EAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;SAC7D,CAAC,CAAA;QACF,IAAA,kBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAM,EAAC,sDAAsD,CAAC,IAAI,KAAK,CAAA;IAC5F,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAE5C,IAAA,wBAAQ,EAAC,gBAAgB,GAAG,MAAM,GAAG,mCAAmC,GAAG,UAAU,GAAG,2BAA2B,GAAG,MAAM,EAAE;QAC1H,KAAK,EAAE,SAAS;KACnB,CAAC,CAAA;AACN,CAAC;AAED,UAAU;AACV,IAAI,EAAE,CAAA"} \ No newline at end of file diff --git a/dist/docgen.d.ts b/dist/docgen.d.ts new file mode 100644 index 0000000..1728a83 --- /dev/null +++ b/dist/docgen.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=docgen.d.ts.map \ No newline at end of file diff --git a/dist/docgen.d.ts.map b/dist/docgen.d.ts.map new file mode 100644 index 0000000..5468df5 --- /dev/null +++ b/dist/docgen.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"docgen.d.ts","sourceRoot":"","sources":["../src/docgen.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/docgen.js b/dist/docgen.js new file mode 100644 index 0000000..63cc968 --- /dev/null +++ b/dist/docgen.js @@ -0,0 +1,5 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +(0, forgescript_1.generateMetadata)(`${__dirname}/native`, "native", "ForgeGiveawaysEvents", undefined, undefined, `${__dirname}/events`); +//# sourceMappingURL=docgen.js.map \ No newline at end of file diff --git a/dist/docgen.js.map b/dist/docgen.js.map new file mode 100644 index 0000000..673de67 --- /dev/null +++ b/dist/docgen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"docgen.js","sourceRoot":"","sources":["../src/docgen.ts"],"names":[],"mappings":";;AAAA,uDAAwD;AAExD,IAAA,8BAAgB,EAAC,GAAG,SAAS,SAAS,EAAE,QAAQ,EAAE,sBAAsB,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,SAAS,SAAS,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/databaseConnect.d.ts b/dist/events/databaseConnect.d.ts new file mode 100644 index 0000000..788ddb3 --- /dev/null +++ b/dist/events/databaseConnect.d.ts @@ -0,0 +1,4 @@ +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; +declare const _default: GiveawaysEventHandler<"databaseConnect">; +export default _default; +//# sourceMappingURL=databaseConnect.d.ts.map \ No newline at end of file diff --git a/dist/events/databaseConnect.d.ts.map b/dist/events/databaseConnect.d.ts.map new file mode 100644 index 0000000..6320992 --- /dev/null +++ b/dist/events/databaseConnect.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"databaseConnect.d.ts","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAkBE"} \ No newline at end of file diff --git a/dist/events/databaseConnect.js b/dist/events/databaseConnect.js new file mode 100644 index 0000000..016d18a --- /dev/null +++ b/dist/events/databaseConnect.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); +const __1 = require(".."); +exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ + name: "databaseConnect", + description: "This event is fired when the client connected to the giveaway database", + listener: async function () { + const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("databaseConnect"); + if (commands?.length) { + for (const command of commands) { + forgescript_1.Interpreter.run({ + obj: {}, + command, + client: this, + data: command.compiled.code, + }); + } + } + }, +}); +//# sourceMappingURL=databaseConnect.js.map \ No newline at end of file diff --git a/dist/events/databaseConnect.js.map b/dist/events/databaseConnect.js.map new file mode 100644 index 0000000..dfb0f47 --- /dev/null +++ b/dist/events/databaseConnect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"databaseConnect.js","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,wEAAwE;IACrF,QAAQ,EAAE,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAEzF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEdit.d.ts b/dist/events/giveawayEdit.d.ts new file mode 100644 index 0000000..df8d711 --- /dev/null +++ b/dist/events/giveawayEdit.d.ts @@ -0,0 +1,4 @@ +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; +declare const _default: GiveawaysEventHandler<"giveawayEdit">; +export default _default; +//# sourceMappingURL=giveawayEdit.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayEdit.d.ts.map b/dist/events/giveawayEdit.d.ts.map new file mode 100644 index 0000000..8fff248 --- /dev/null +++ b/dist/events/giveawayEdit.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayEdit.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAkBE"} \ No newline at end of file diff --git a/dist/events/giveawayEdit.js b/dist/events/giveawayEdit.js new file mode 100644 index 0000000..2c18115 --- /dev/null +++ b/dist/events/giveawayEdit.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); +const __1 = require(".."); +exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ + name: "giveawayEdit", + description: "This event is fired when a giveaway was edited", + listener: async function (gw) { + const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEdit"); + if (commands?.length) { + for (const command of commands) { + forgescript_1.Interpreter.run({ + obj: gw, + command, + client: this, + data: command.compiled.code, + }); + } + } + }, +}); +//# sourceMappingURL=giveawayEdit.js.map \ No newline at end of file diff --git a/dist/events/giveawayEdit.js.map b/dist/events/giveawayEdit.js.map new file mode 100644 index 0000000..3450e91 --- /dev/null +++ b/dist/events/giveawayEdit.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;QAEtF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEnd.d.ts b/dist/events/giveawayEnd.d.ts new file mode 100644 index 0000000..8c6b341 --- /dev/null +++ b/dist/events/giveawayEnd.d.ts @@ -0,0 +1,4 @@ +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; +declare const _default: GiveawaysEventHandler<"giveawayEnd">; +export default _default; +//# sourceMappingURL=giveawayEnd.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayEnd.d.ts.map b/dist/events/giveawayEnd.d.ts.map new file mode 100644 index 0000000..72ff7bc --- /dev/null +++ b/dist/events/giveawayEnd.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayEnd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAkBE"} \ No newline at end of file diff --git a/dist/events/giveawayEnd.js b/dist/events/giveawayEnd.js new file mode 100644 index 0000000..c71a108 --- /dev/null +++ b/dist/events/giveawayEnd.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); +const __1 = require(".."); +exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ + name: "giveawayEnd", + description: "This event is fired when a giveaway ended", + listener: async function (gw) { + const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEnd"); + if (commands?.length) { + for (const command of commands) { + forgescript_1.Interpreter.run({ + obj: gw, + command, + client: this, + data: command.compiled.code, + }); + } + } + }, +}); +//# sourceMappingURL=giveawayEnd.js.map \ No newline at end of file diff --git a/dist/events/giveawayEnd.js.map b/dist/events/giveawayEnd.js.map new file mode 100644 index 0000000..dfc85fd --- /dev/null +++ b/dist/events/giveawayEnd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayEnd.js","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,2CAA2C;IACxD,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;QAErF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayReroll.d.ts b/dist/events/giveawayReroll.d.ts new file mode 100644 index 0000000..cecf22f --- /dev/null +++ b/dist/events/giveawayReroll.d.ts @@ -0,0 +1,4 @@ +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; +declare const _default: GiveawaysEventHandler<"giveawayReroll">; +export default _default; +//# sourceMappingURL=giveawayReroll.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayReroll.d.ts.map b/dist/events/giveawayReroll.d.ts.map new file mode 100644 index 0000000..5628dad --- /dev/null +++ b/dist/events/giveawayReroll.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayReroll.d.ts","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAkBE"} \ No newline at end of file diff --git a/dist/events/giveawayReroll.js b/dist/events/giveawayReroll.js new file mode 100644 index 0000000..e7f6b09 --- /dev/null +++ b/dist/events/giveawayReroll.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); +const __1 = require(".."); +exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ + name: "giveawayReroll", + description: "This event is fired when a giveaway was rerolled", + listener: async function (gw) { + const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayReroll"); + if (commands?.length) { + for (const command of commands) { + forgescript_1.Interpreter.run({ + obj: gw, + command, + client: this, + data: command.compiled.code, + }); + } + } + }, +}); +//# sourceMappingURL=giveawayReroll.js.map \ No newline at end of file diff --git a/dist/events/giveawayReroll.js.map b/dist/events/giveawayReroll.js.map new file mode 100644 index 0000000..de90e63 --- /dev/null +++ b/dist/events/giveawayReroll.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAExF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayRestart.d.ts b/dist/events/giveawayRestart.d.ts new file mode 100644 index 0000000..94d717d --- /dev/null +++ b/dist/events/giveawayRestart.d.ts @@ -0,0 +1,4 @@ +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; +declare const _default: GiveawaysEventHandler<"giveawayRestart">; +export default _default; +//# sourceMappingURL=giveawayRestart.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayRestart.d.ts.map b/dist/events/giveawayRestart.d.ts.map new file mode 100644 index 0000000..a6e059a --- /dev/null +++ b/dist/events/giveawayRestart.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayRestart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayRestart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAkBE"} \ No newline at end of file diff --git a/dist/events/giveawayRestart.js b/dist/events/giveawayRestart.js new file mode 100644 index 0000000..baeee94 --- /dev/null +++ b/dist/events/giveawayRestart.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); +const __1 = require(".."); +exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ + name: "giveawayRestart", + description: "This event is fired when a giveaway was restarted", + listener: async function (gw) { + const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayRestart"); + if (commands?.length) { + for (const command of commands) { + forgescript_1.Interpreter.run({ + obj: gw, + command, + client: this, + data: command.compiled.code, + }); + } + } + }, +}); +//# sourceMappingURL=giveawayRestart.js.map \ No newline at end of file diff --git a/dist/events/giveawayRestart.js.map b/dist/events/giveawayRestart.js.map new file mode 100644 index 0000000..a0658ce --- /dev/null +++ b/dist/events/giveawayRestart.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayRestart.js","sourceRoot":"","sources":["../../src/events/giveawayRestart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,mDAAmD;IAChE,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAEzF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayStart.d.ts b/dist/events/giveawayStart.d.ts new file mode 100644 index 0000000..4a2884a --- /dev/null +++ b/dist/events/giveawayStart.d.ts @@ -0,0 +1,4 @@ +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; +declare const _default: GiveawaysEventHandler<"giveawayStart">; +export default _default; +//# sourceMappingURL=giveawayStart.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayStart.d.ts.map b/dist/events/giveawayStart.d.ts.map new file mode 100644 index 0000000..0c4fcba --- /dev/null +++ b/dist/events/giveawayStart.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAkBE"} \ No newline at end of file diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js new file mode 100644 index 0000000..000e735 --- /dev/null +++ b/dist/events/giveawayStart.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); +const __1 = require(".."); +exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ + name: "giveawayStart", + description: "This event is fired when a giveaway started", + listener: async function (gw) { + const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayStart"); + if (commands?.length) { + for (const command of commands) { + forgescript_1.Interpreter.run({ + obj: gw, + command, + client: this, + data: command.compiled.code, + }); + } + } + }, +}); +//# sourceMappingURL=giveawayStart.js.map \ No newline at end of file diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map new file mode 100644 index 0000000..cb77dfd --- /dev/null +++ b/dist/events/giveawayStart.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEvF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/functions/prompt.d.ts b/dist/functions/prompt.d.ts new file mode 100644 index 0000000..e4733fd --- /dev/null +++ b/dist/functions/prompt.d.ts @@ -0,0 +1,2 @@ +export default function (q: string): Promise; +//# sourceMappingURL=prompt.d.ts.map \ No newline at end of file diff --git a/dist/functions/prompt.d.ts.map b/dist/functions/prompt.d.ts.map new file mode 100644 index 0000000..4401cf7 --- /dev/null +++ b/dist/functions/prompt.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/functions/prompt.ts"],"names":[],"mappings":"AAGA,yBAA8B,CAAC,EAAE,MAAM,mBAQtC"} \ No newline at end of file diff --git a/dist/functions/prompt.js b/dist/functions/prompt.js new file mode 100644 index 0000000..4af3f55 --- /dev/null +++ b/dist/functions/prompt.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = default_1; +const process_1 = require("process"); +const readline_1 = require("readline"); +async function default_1(q) { + const itf = (0, readline_1.createInterface)(process_1.stdin, process_1.stdout); + return new Promise(r => { + itf.question(q, input => { + itf.close(); + r(input); + }); + }); +} +//# sourceMappingURL=prompt.js.map \ No newline at end of file diff --git a/dist/functions/prompt.js.map b/dist/functions/prompt.js.map new file mode 100644 index 0000000..a96c996 --- /dev/null +++ b/dist/functions/prompt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/functions/prompt.ts"],"names":[],"mappings":";;AAGA,4BAQC;AAXD,qCAAuC;AACvC,uCAA0C;AAE3B,KAAK,oBAAU,CAAS;IACnC,MAAM,GAAG,GAAG,IAAA,0BAAe,EAAC,eAAK,EAAE,gBAAM,CAAC,CAAA;IAC1C,OAAO,IAAI,OAAO,CAAS,CAAC,CAAC,EAAE;QAC3B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;YACpB,GAAG,CAAC,KAAK,EAAE,CAAA;YACX,CAAC,CAAC,KAAK,CAAC,CAAA;QACZ,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts new file mode 100644 index 0000000..c16c71e --- /dev/null +++ b/dist/index.d.ts @@ -0,0 +1,20 @@ +import { ForgeClient, ForgeExtension } from "@tryforge/forgescript"; +import { GiveawaysEvents } from "./managers/GiveawaysEventManager"; +import { GiveawaysCommandManager } from "./managers/GiveawaysCommandManager"; +import { DatabaseType, Giveaways } from "discord-giveaways-super"; +export interface IGiveawayOptions { + path: `${string}.json`; + events?: keyof GiveawaysEvents; +} +export declare class ForgeGiveaways extends ForgeExtension { + #private; + readonly options: IGiveawayOptions; + name: string; + description: string; + version: any; + commands: GiveawaysCommandManager | null; + giveawayManager: Giveaways | null; + constructor(options: IGiveawayOptions); + init(client: ForgeClient): void; +} +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map new file mode 100644 index 0000000..6e117d0 --- /dev/null +++ b/dist/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEjE,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;CACjC;AAED,qBAAa,cAAe,SAAQ,cAAc;;aASV,OAAO,EAAE,gBAAgB;IAR7D,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAE5C,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACxC,eAAe,EAAE,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,GAAG,IAAI,CAAA;gBAGlC,OAAO,EAAE,gBAAgB;IAOtD,IAAI,CAAE,MAAM,EAAE,WAAW;CAgBnC"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..8a2048e --- /dev/null +++ b/dist/index.js @@ -0,0 +1,38 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ForgeGiveaways = void 0; +const forgescript_1 = require("@tryforge/forgescript"); +const GiveawaysCommandManager_1 = require("./managers/GiveawaysCommandManager"); +const discord_giveaways_super_1 = require("discord-giveaways-super"); +class ForgeGiveaways extends forgescript_1.ForgeExtension { + options; + name = "ForgeGiveaways"; + description = ""; + version = require("../package.json").version; + commands; + giveawayManager; + #path; + constructor(options) { + super(); + this.options = options; + this.commands = null; + this.giveawayManager = null; + this.#path = options.path; + } + init(client) { + this.giveawayManager = new discord_giveaways_super_1.Giveaways(client, { + connection: { + path: this.#path, + }, + database: discord_giveaways_super_1.DatabaseType.JSON + }); + this.commands = new GiveawaysCommandManager_1.GiveawaysCommandManager(client); + forgescript_1.EventManager.load("ForgeGiveawaysEvents", __dirname + "/events"); + this.load(__dirname + "/native"); + if (this.options.events?.length) { + client.events.load("ForgeGiveawaysEvents", this.options.events); + } + } +} +exports.ForgeGiveaways = ForgeGiveaways; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map new file mode 100644 index 0000000..29bd863 --- /dev/null +++ b/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AAEjF,gFAA4E;AAC5E,qEAAiE;AAOjE,MAAa,cAAe,SAAQ,4BAAc;IASV;IARpC,IAAI,GAAG,gBAAgB,CAAA;IACvB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAE5C,QAAQ,CAAgC;IACxC,eAAe,CAAuD;IACtE,KAAK,CAAkB;IAEvB,YAAoC,OAAyB;QACzD,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAkB;QAEzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;IAC7B,CAAC;IAEM,IAAI,CAAE,MAAmB;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAS,CAAC,MAAM,EAAE;YACzC,UAAU,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,KAAK;aACnB;YACD,QAAQ,EAAE,sCAAY,CAAC,IAAI;SAC9B,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,iDAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AAhCD,wCAgCC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysCommandManager.d.ts b/dist/managers/GiveawaysCommandManager.d.ts new file mode 100644 index 0000000..fa3cf9c --- /dev/null +++ b/dist/managers/GiveawaysCommandManager.d.ts @@ -0,0 +1,6 @@ +import { BaseCommandManager } from "@tryforge/forgescript"; +import { GiveawaysEvents } from "./GiveawaysEventManager"; +export declare class GiveawaysCommandManager extends BaseCommandManager { + handlerName: string; +} +//# sourceMappingURL=GiveawaysCommandManager.d.ts.map \ No newline at end of file diff --git a/dist/managers/GiveawaysCommandManager.d.ts.map b/dist/managers/GiveawaysCommandManager.d.ts.map new file mode 100644 index 0000000..7953f1c --- /dev/null +++ b/dist/managers/GiveawaysCommandManager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GiveawaysCommandManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysCommandManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,qBAAa,uBAAwB,SAAQ,kBAAkB,CAAC,MAAM,eAAe,CAAC;IAClF,WAAW,SAAyB;CACvC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysCommandManager.js b/dist/managers/GiveawaysCommandManager.js new file mode 100644 index 0000000..dadbff7 --- /dev/null +++ b/dist/managers/GiveawaysCommandManager.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GiveawaysCommandManager = void 0; +const forgescript_1 = require("@tryforge/forgescript"); +class GiveawaysCommandManager extends forgescript_1.BaseCommandManager { + handlerName = "ForgeGiveawaysEvents"; +} +exports.GiveawaysCommandManager = GiveawaysCommandManager; +//# sourceMappingURL=GiveawaysCommandManager.js.map \ No newline at end of file diff --git a/dist/managers/GiveawaysCommandManager.js.map b/dist/managers/GiveawaysCommandManager.js.map new file mode 100644 index 0000000..8e884e6 --- /dev/null +++ b/dist/managers/GiveawaysCommandManager.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GiveawaysCommandManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysCommandManager.ts"],"names":[],"mappings":";;;AAAA,uDAA0D;AAG1D,MAAa,uBAAwB,SAAQ,gCAAyC;IAClF,WAAW,GAAG,sBAAsB,CAAA;CACvC;AAFD,0DAEC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.d.ts b/dist/managers/GiveawaysEventManager.d.ts new file mode 100644 index 0000000..a38db7e --- /dev/null +++ b/dist/managers/GiveawaysEventManager.d.ts @@ -0,0 +1,7 @@ +import { BaseEventHandler, ForgeClient } from "@tryforge/forgescript"; +import { DatabaseType, IGiveawaysEvents } from "discord-giveaways-super"; +export type GiveawaysEvents = IGiveawaysEvents; +export declare class GiveawaysEventHandler extends BaseEventHandler { + register(client: ForgeClient): void; +} +//# sourceMappingURL=GiveawaysEventManager.d.ts.map \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.d.ts.map b/dist/managers/GiveawaysEventManager.d.ts.map new file mode 100644 index 0000000..4bffaa8 --- /dev/null +++ b/dist/managers/GiveawaysEventManager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAGxE,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;AAEjE,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAItC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.js b/dist/managers/GiveawaysEventManager.js new file mode 100644 index 0000000..f29a08e --- /dev/null +++ b/dist/managers/GiveawaysEventManager.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GiveawaysEventHandler = void 0; +const forgescript_1 = require("@tryforge/forgescript"); +const __1 = require(".."); +class GiveawaysEventHandler extends forgescript_1.BaseEventHandler { + register(client) { + //@ts-ignore + client.getExtension(__1.ForgeGiveaways, true).giveawayManager.on(this.name, this.listener.bind(client)); + } +} +exports.GiveawaysEventHandler = GiveawaysEventHandler; +//# sourceMappingURL=GiveawaysEventManager.js.map \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.js.map b/dist/managers/GiveawaysEventManager.js.map new file mode 100644 index 0000000..0a2b935 --- /dev/null +++ b/dist/managers/GiveawaysEventManager.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AAInC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,YAAY;QACZ,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACvG,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file diff --git a/dist/native/startGiveaway.d.ts b/dist/native/startGiveaway.d.ts new file mode 100644 index 0000000..fb634bb --- /dev/null +++ b/dist/native/startGiveaway.d.ts @@ -0,0 +1,38 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +import { BaseChannel } from "discord.js"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.Channel; + check: (i: BaseChannel) => boolean; +}, { + name: string; + description: string; + rest: false; + required: true; + type: ArgType.Member; + pointer: number; + pointerProperty: string; +}, { + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}, { + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}, { + name: string; + description: string; + rest: false; + required: false; + type: ArgType.Number; +}], true>; +export default _default; +//# sourceMappingURL=startGiveaway.d.ts.map \ No newline at end of file diff --git a/dist/native/startGiveaway.d.ts.map b/dist/native/startGiveaway.d.ts.map new file mode 100644 index 0000000..d86ca13 --- /dev/null +++ b/dist/native/startGiveaway.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"startGiveaway.d.ts","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;;;;;;;eAcpC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAZlC,wBA4DE"} \ No newline at end of file diff --git a/dist/native/startGiveaway.js b/dist/native/startGiveaway.js new file mode 100644 index 0000000..464449b --- /dev/null +++ b/dist/native/startGiveaway.js @@ -0,0 +1,64 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const __1 = require(".."); +exports.default = new forgescript_1.NativeFunction({ + name: "$startGiveaway", + description: "Starts a new giveaway on a guild, returns giveaway id", + unwrap: true, + brackets: true, + args: [ + { + name: "channel ID", + description: "The channel this giveaway will be created on", + rest: false, + required: true, + type: forgescript_1.ArgType.Channel, + check: (i) => i.isTextBased() && !i.isDMBased(), + }, + { + name: "host ID", + description: "The member hosting this giveaway", + rest: false, + required: true, + type: forgescript_1.ArgType.Member, + pointer: 0, + pointerProperty: "guild" + }, + { + name: "duration", + description: "The duration for this giveaway.", + rest: false, + required: true, + type: forgescript_1.ArgType.String + }, + { + name: "prize", + description: "The prize for this giveaway", + rest: false, + required: true, + type: forgescript_1.ArgType.String + }, + { + name: "winners", + description: "How many winners this giveaway will have", + rest: false, + required: false, + type: forgescript_1.ArgType.Number + } + ], + output: forgescript_1.ArgType.Number, + async execute(ctx, [channel, host, time, prize, winners]) { + const client = ctx.client.getExtension(__1.ForgeGiveaways, true); + const giveaway = await client.giveawayManager?.start({ + guildID: channel.guildId, + channelID: channel.id, + hostMemberID: host.id, + time, + prize, + winnersCount: winners || 1, + }); + return this.success(giveaway?.id); + } +}); +//# sourceMappingURL=startGiveaway.js.map \ No newline at end of file diff --git a/dist/native/startGiveaway.js.map b/dist/native/startGiveaway.js.map new file mode 100644 index 0000000..db2235f --- /dev/null +++ b/dist/native/startGiveaway.js.map @@ -0,0 +1 @@ +{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,0BAAmC;AAGnC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;QACpD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC;YACjD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,YAAY,EAAE,IAAI,CAAC,EAAE;YACrB,IAAI;YACJ,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;SAC7B,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 0000000..e2ac661 --- /dev/null +++ b/docs/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css new file mode 100644 index 0000000..5674cf3 --- /dev/null +++ b/docs/assets/highlight.css @@ -0,0 +1,22 @@ +:root { + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --code-background: var(--dark-code-background); +} + +pre, code { background: var(--code-background); } diff --git a/docs/assets/icons.js b/docs/assets/icons.js new file mode 100644 index 0000000..3dfbd32 --- /dev/null +++ b/docs/assets/icons.js @@ -0,0 +1,18 @@ +(function() { + addIcons(); + function addIcons() { + if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); + const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); + svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; + svg.style.display = "none"; + if (location.protocol === "file:") updateUseElements(); + } + + function updateUseElements() { + document.querySelectorAll("use").forEach(el => { + if (el.getAttribute("href").includes("#icon-")) { + el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); + } + }); + } +})() \ No newline at end of file diff --git a/docs/assets/icons.svg b/docs/assets/icons.svg new file mode 100644 index 0000000..a19417d --- /dev/null +++ b/docs/assets/icons.svg @@ -0,0 +1 @@ +MMNEPVFCICPMFPCPTTAAATR \ No newline at end of file diff --git a/docs/assets/main.js b/docs/assets/main.js new file mode 100644 index 0000000..99097a0 --- /dev/null +++ b/docs/assets/main.js @@ -0,0 +1,60 @@ +"use strict"; +window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings."}; +"use strict";(()=>{var Pe=Object.create;var ie=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _e(e))!Me.call(t,i)&&i!==n&&ie(t,i,{get:()=>e[i],enumerable:!(r=Oe(e,i))||r.enumerable});return t};var Ae=(t,e,n)=>(n=t!=null?Pe(Re(t)):{},De(e||!t||!t.__esModule?ie(n,"default",{value:t,enumerable:!0}):n,t));var ue=Fe((ae,le)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ae=="object"?le.exports=n():e.lunr=n()}(this,function(){return t})})()});var se=[];function G(t,e){se.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){se.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!Ve(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function Ve(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var oe=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var pe=Ae(ue());async function ce(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=pe.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{ce(e,t)}),ce(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{te(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),He(t,i,r,e)}function He(t,e,n,r){n.addEventListener("input",oe(()=>{Ne(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Be(e,t):i.key=="ArrowUp"?(de(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(de(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),te(t))})}function te(t){t.classList.remove("has-focus")}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=he(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${he(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function de(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Be(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),te(e)}}function he(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ee(t.substring(s,o)),`${ee(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ee(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function ee(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",ye="mousemove",N="mouseup",J={x:0,y:0},me=!1,ne=!1,qe=!1,D=!1,ve=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(ve?"is-mobile":"not-mobile");ve&&"ontouchstart"in document.documentElement&&(qe=!0,F="touchstart",ye="touchmove",N="touchend");document.addEventListener(F,t=>{ne=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(ye,t=>{if(ne&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(N,()=>{ne=!1});document.addEventListener("click",t=>{me&&(t.preventDefault(),t.stopImmediatePropagation(),me=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var re;try{re=localStorage}catch{re={getItem(){return null},setItem(){}}}var Q=re;var ge=document.head.appendChild(document.createElement("style"));ge.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ge.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function Ee(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,xe(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),xe(t.value)})}function xe(t){document.documentElement.dataset.theme=t}var K;function we(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Le),Le())}async function Le(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();K=t.dataset.base,K.endsWith("/")||(K+="/"),t.innerHTML="";for(let s of i)Se(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Se(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',be(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)Se(u,l,i)}else be(t,r,t.class)}function be(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=K+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else{let r=e.appendChild(document.createElement("span"));r.innerHTML='',r.appendChild(document.createElement("span")).textContent=t.text}}G(X,"a[data-toggle]");G(Z,".tsd-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Te=document.getElementById("tsd-theme");Te&&Ee(Te);var $e=new U;Object.defineProperty(window,"app",{value:$e});fe();we();})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js new file mode 100644 index 0000000..000e40f --- /dev/null +++ b/docs/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE4uuVipJrShRslJyyy9KT3XPLEtNLE+sLFbSUSpILMlQslJKzkksLk4t1keV18soyc1R0lHKzsxLUbIyNLKo1YGb5AlT5V9Qkpmfh2RWZl5JalFaYnJqsT66IlQDjUzNamMBVi8GopwAAAA=" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js new file mode 100644 index 0000000..3436df1 --- /dev/null +++ b/docs/assets/search.js @@ -0,0 +1 @@ +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE6WW3Y6bMBCF32VyayXY/PMArfai6l1vLFQhcLJWExMBybZCvHvF7+Dg3fUqV0H4nO9gMjO4hap8qyHhLfyRqoCE+QEBlV0EJPDyXd5F9pb9+3ltZKlqIHCrzpCAVI2ojlku6sOjZv/aXM5AID9ndS1qSAA6MsOpw7yFfs2aV2viblKvsASuWSVUY3rQdyLFXajGfhu7Rf/1WBYtqd/K6iRmKaZPzIO+/OH78ylbqHmp6qa65U1Z2SB3ut68oYcnfectDj82kZPwmaxC1Hklh9drFanrn0m+i6q2TUXtM4l5eblkqrCqkN1K/EzmaRL8yFR2EnaVtPU88wTlw2z5KBm1X0xkjof9KJVsrOImoV1WSkCqQvyFpF1qJwG2d/cxEDhKcS76OTt3T///9SACRZnfhst0kv0SfZP24lF9cIBwhzC692M/TQmfzcPCcGNm4J3BSIFwajLSjZFqRgaEM5ORbYxMM7pAuGsyuhujqxk9INwzGb2N0dOMPhDum4z+xuhrxgAID0zGYGMMNGMIhIcmY7gxhpoxAsIjkzHaGCPNGAPhsckYb4yxXgB9PVBj7dBt8dCH6hnKx1w/hgIabw1tcBdVI4qXsR04X022Fn5PXbL0YwsRJG3XYU8kbbdqi35tzF59wJDjIcez4mifCOQEyAmsOPPhABEMEcwKcexnyAlPBohyEeVaoWbKZR7KyIqRFVux5Axb5i3CHIQ5drBhiCKAUiRQaoUYRyYifCT4VgDDPuhqI9RuJ+MRdIVYEawAyzEBGSEyws8ZKYGrvIqzVAISnnbdf0EjX4u/CwAA"; \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css new file mode 100644 index 0000000..178bfb0 --- /dev/null +++ b/docs/assets/style.css @@ -0,0 +1,1493 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + + --light-color-icon-background: var(--light-color-background); + --light-color-icon-text: var(--light-color-text); + + --light-color-comment-tag-text: var(--light-color-text); + --light-color-comment-tag: var(--light-color-background); + + --light-color-link: #1f70c2; + --light-color-focus-outline: #3584e4; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: #4d7fff; + --light-color-ts-property: #ff984d; + --light-color-ts-method: #ff4db8; + --light-color-ts-reference: #ff4d82; + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: #ff4d4d; + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + --light-color-document: #000000; + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-icon-text: var(--dark-color-text); + + --dark-color-comment-tag-text: var(--dark-color-text); + --dark-color-comment-tag: var(--dark-color-background); + + --dark-color-link: #00aff4; + --dark-color-focus-outline: #4c97f2; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: #4d7fff; + --dark-color-ts-property: #ff984d; + --dark-color-ts-method: #ff4db8; + --dark-color-ts-reference: #ff4d82; + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: #ff4d4d; + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + --dark-color-document: #ffffff; + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + + --color-icon-background: var(--light-color-icon-background); + --color-icon-text: var(--light-color-icon-text); + + --color-comment-tag-text: var(--light-color-text); + --color-comment-tag: var(--light-color-background); + + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-project: var(--light-color-ts-project); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-reference: var(--light-color-ts-reference); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + + --color-icon-background: var(--dark-color-icon-background); + --color-icon-text: var(--dark-color-icon-text); + + --color-comment-tag-text: var(--dark-color-text); + --color-comment-tag: var(--dark-color-background); + + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-project: var(--dark-color-ts-project); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-reference: var(--dark-color-ts-reference); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-icon-text: var(--light-color-icon-text); + + --color-comment-tag-text: var(--light-color-text); + --color-comment-tag: var(--light-color-background); + + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-project: var(--light-color-ts-project); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-reference: var(--light-color-ts-reference); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-icon-text: var(--dark-color-icon-text); + + --color-comment-tag-text: var(--dark-color-text); + --color-comment-tag: var(--dark-color-background); + + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-project: var(--dark-color-ts-project); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-reference: var(--dark-color-ts-reference); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +*:focus-visible, +.tsd-accordion-summary:focus-visible svg { + outline: 2px solid var(--color-focus-outline); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +footer { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} +footer > p { + margin: 0 1em; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} +a.tsd-anchor-link { + color: var(--color-text); +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h4, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} +.tsd-typography table { + border-collapse: collapse; + border: none; +} +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); +} +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: -moz-fit-content; + width: fit-content; + align-items: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus-visible + svg { + outline: 2px solid var(--color-focus-outline); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.settings-label { + font-weight: bold; + text-transform: uppercase; + display: inline-block; +} + +.tsd-filter-visibility .settings-label { + margin: 0.75rem 0 0.5rem 0; +} + +.tsd-theme-toggle .settings-label { + margin: 0.75rem 0.75rem 0 0; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); +} +.tsd-full-hierarchy, +.tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; +} +.tsd-full-hierarchy ul { + padding-left: 1.5rem; +} +.tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-navigation .tsd-nav-link { + display: none; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-page-navigation-section { + margin-left: 10px; +} +.tsd-page-navigation-section > summary { + padding: 0.25rem; +} +.tsd-page-navigation-section > div { + margin-left: 20px; +} +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; + vertical-align: text-top; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-no-select { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} +.tsd-panel-group > .tsd-accordion-summary { + margin-bottom: 1rem; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-index-signature:not(:last-child) { + margin-bottom: 1em; +} +.tsd-signatures .tsd-index-signature .tsd-signature { + border-width: 1px; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through !important; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-reference { + color: var(--color-ts-reference); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } + #tsd-toolbar-links { + display: none; + } + .tsd-navigation .tsd-nav-link { + display: flex; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html new file mode 100644 index 0000000..73f2894 --- /dev/null +++ b/docs/classes/ForgeGiveaways.html @@ -0,0 +1,16 @@ +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawayManager: null | Giveaways<JSON, `${string}.json`, IDatabaseStructure>
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..0bf515c --- /dev/null +++ b/docs/index.html @@ -0,0 +1 @@ +forge.giveaways

forge.giveaways

ForgeGiveaways

diff --git a/docs/interfaces/IGiveawayOptions.html b/docs/interfaces/IGiveawayOptions.html new file mode 100644 index 0000000..e3ac6a4 --- /dev/null +++ b/docs/interfaces/IGiveawayOptions.html @@ -0,0 +1,3 @@ +IGiveawayOptions | forge.giveaways

Interface IGiveawayOptions

interface IGiveawayOptions {
    events?:
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit";
    path: `${string}.json`;
}

Properties

Properties

events?:
    | "giveawayStart"
    | "giveawayRestart"
    | "giveawayEnd"
    | "giveawayLengthExtend"
    | "giveawayLengthReduce"
    | "ready"
    | "databaseConnect"
    | "giveawayReroll"
    | "giveawayEdit"
path: `${string}.json`
diff --git a/docs/modules.html b/docs/modules.html new file mode 100644 index 0000000..d361e93 --- /dev/null +++ b/docs/modules.html @@ -0,0 +1,3 @@ +forge.giveaways

forge.giveaways

Index

Classes

Interfaces

diff --git a/metadata/changelogs.json b/metadata/changelogs.json new file mode 100644 index 0000000..a8729d9 --- /dev/null +++ b/metadata/changelogs.json @@ -0,0 +1 @@ +{"1.0.0":[{"message":"Init ForgeGiveaways","timestamp":"2025-08-03T02:09:44.498Z","author":"xNickyDev"}]} \ No newline at end of file diff --git a/metadata/enums.json b/metadata/enums.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/metadata/enums.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/metadata/events.json b/metadata/events.json new file mode 100644 index 0000000..4a45490 --- /dev/null +++ b/metadata/events.json @@ -0,0 +1 @@ +[{"name":"databaseConnect","description":"This event is fired when the client connected to the giveaway database","version":"1.0.0"},{"name":"giveawayEdit","description":"This event is fired when a giveaway was edited","version":"1.0.0"},{"name":"giveawayEnd","description":"This event is fired when a giveaway ended","version":"1.0.0"},{"name":"giveawayReroll","description":"This event is fired when a giveaway was rerolled","version":"1.0.0"},{"name":"giveawayRestart","description":"This event is fired when a giveaway was restarted","version":"1.0.0"},{"name":"giveawayStart","description":"This event is fired when a giveaway started","version":"1.0.0"}] \ No newline at end of file diff --git a/metadata/functions.json b/metadata/functions.json new file mode 100644 index 0000000..c1bd7a0 --- /dev/null +++ b/metadata/functions.json @@ -0,0 +1 @@ +[{"name":"$startGiveaway","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"String"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"required":false,"type":"Number"}],"output":["Number"],"version":"1.0.0"}] \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..31ecf58 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3283 @@ +{ + "name": "forge.giveaways", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "forge.giveaways", + "version": "1.0.0", + "license": "GPL-3.0", + "dependencies": { + "discord-giveaways-super": "^1.1.1" + }, + "devDependencies": { + "@tryforge/forgescript": "^2.3.0", + "discord.js": "^14.21.0", + "typedoc": "^0.26.11", + "typescript": "^5.6.3" + } + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity": { + "version": "3.859.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.859.0.tgz", + "integrity": "sha512-/eqkQbMZyxDnKnd7suVur6cfKbFslvLxfi7dVp/B3gV+aL0G67iS9atkdi227KDMzlzDCcj6GrpLCk2u9aPDMg==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.858.0", + "@aws-sdk/credential-provider-node": "3.859.0", + "@aws-sdk/middleware-host-header": "3.840.0", + "@aws-sdk/middleware-logger": "3.840.0", + "@aws-sdk/middleware-recursion-detection": "3.840.0", + "@aws-sdk/middleware-user-agent": "3.858.0", + "@aws-sdk/region-config-resolver": "3.840.0", + "@aws-sdk/types": "3.840.0", + "@aws-sdk/util-endpoints": "3.848.0", + "@aws-sdk/util-user-agent-browser": "3.840.0", + "@aws-sdk/util-user-agent-node": "3.858.0", + "@smithy/config-resolver": "^4.1.4", + "@smithy/core": "^3.7.2", + "@smithy/fetch-http-handler": "^5.1.0", + "@smithy/hash-node": "^4.0.4", + "@smithy/invalid-dependency": "^4.0.4", + "@smithy/middleware-content-length": "^4.0.4", + "@smithy/middleware-endpoint": "^4.1.17", + "@smithy/middleware-retry": "^4.1.18", + "@smithy/middleware-serde": "^4.0.8", + "@smithy/middleware-stack": "^4.0.4", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/node-http-handler": "^4.1.0", + "@smithy/protocol-http": "^5.1.2", + "@smithy/smithy-client": "^4.4.9", + "@smithy/types": "^4.3.1", + "@smithy/url-parser": "^4.0.4", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-body-length-browser": "^4.0.0", + "@smithy/util-body-length-node": "^4.0.0", + "@smithy/util-defaults-mode-browser": "^4.0.25", + "@smithy/util-defaults-mode-node": "^4.0.25", + "@smithy/util-endpoints": "^3.0.6", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-retry": "^4.0.6", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.858.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.858.0.tgz", + "integrity": "sha512-iXuZQs4KH6a3Pwnt0uORalzAZ5EXRPr3lBYAsdNwkP8OYyoUz5/TE3BLyw7ceEh0rj4QKGNnNALYo1cDm0EV8w==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.858.0", + "@aws-sdk/middleware-host-header": "3.840.0", + "@aws-sdk/middleware-logger": "3.840.0", + "@aws-sdk/middleware-recursion-detection": "3.840.0", + "@aws-sdk/middleware-user-agent": "3.858.0", + "@aws-sdk/region-config-resolver": "3.840.0", + "@aws-sdk/types": "3.840.0", + "@aws-sdk/util-endpoints": "3.848.0", + "@aws-sdk/util-user-agent-browser": "3.840.0", + "@aws-sdk/util-user-agent-node": "3.858.0", + "@smithy/config-resolver": "^4.1.4", + "@smithy/core": "^3.7.2", + "@smithy/fetch-http-handler": "^5.1.0", + "@smithy/hash-node": "^4.0.4", + "@smithy/invalid-dependency": "^4.0.4", + "@smithy/middleware-content-length": "^4.0.4", + "@smithy/middleware-endpoint": "^4.1.17", + "@smithy/middleware-retry": "^4.1.18", + "@smithy/middleware-serde": "^4.0.8", + "@smithy/middleware-stack": "^4.0.4", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/node-http-handler": "^4.1.0", + "@smithy/protocol-http": "^5.1.2", + "@smithy/smithy-client": "^4.4.9", + "@smithy/types": "^4.3.1", + "@smithy/url-parser": "^4.0.4", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-body-length-browser": "^4.0.0", + "@smithy/util-body-length-node": "^4.0.0", + "@smithy/util-defaults-mode-browser": "^4.0.25", + "@smithy/util-defaults-mode-node": "^4.0.25", + "@smithy/util-endpoints": "^3.0.6", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-retry": "^4.0.6", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/core": { + "version": "3.858.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.858.0.tgz", + "integrity": "sha512-iWm4QLAS+/XMlnecIU1Y33qbBr1Ju+pmWam3xVCPlY4CSptKpVY+2hXOnmg9SbHAX9C005fWhrIn51oDd00c9A==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.840.0", + "@aws-sdk/xml-builder": "3.821.0", + "@smithy/core": "^3.7.2", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/property-provider": "^4.0.4", + "@smithy/protocol-http": "^5.1.2", + "@smithy/signature-v4": "^5.1.2", + "@smithy/smithy-client": "^4.4.9", + "@smithy/types": "^4.3.1", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-body-length-browser": "^4.0.0", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-utf8": "^4.0.0", + "fast-xml-parser": "5.2.5", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-cognito-identity": { + "version": "3.859.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.859.0.tgz", + "integrity": "sha512-yLE+elWP047hANzQUBs67u1vsag/5j5EWjHUtfT5a4TrYHKtUcD9urhk1frvt+HhUoEzdXl8pt9bMQCHLOQU7w==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/client-cognito-identity": "3.859.0", + "@aws-sdk/types": "3.840.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.858.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.858.0.tgz", + "integrity": "sha512-kZsGyh2BoSRguzlcGtzdLhw/l/n3KYAC+/l/H0SlsOq3RLHF6tO/cRdsLnwoix2bObChHUp03cex63o1gzdx/Q==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/core": "3.858.0", + "@aws-sdk/types": "3.840.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.858.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.858.0.tgz", + "integrity": "sha512-GDnfYl3+NPJQ7WQQYOXEA489B212NinpcIDD7rpsB6IWUPo8yDjT5NceK4uUkIR3MFpNCGt9zd/z6NNLdB2fuQ==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/core": "3.858.0", + "@aws-sdk/types": "3.840.0", + "@smithy/fetch-http-handler": "^5.1.0", + "@smithy/node-http-handler": "^4.1.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/protocol-http": "^5.1.2", + "@smithy/smithy-client": "^4.4.9", + "@smithy/types": "^4.3.1", + "@smithy/util-stream": "^4.2.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.859.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.859.0.tgz", + "integrity": "sha512-KsccE1T88ZDNhsABnqbQj014n5JMDilAroUErFbGqu5/B3sXqUsYmG54C/BjvGTRUFfzyttK9lB9P9h6ddQ8Cw==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/core": "3.858.0", + "@aws-sdk/credential-provider-env": "3.858.0", + "@aws-sdk/credential-provider-http": "3.858.0", + "@aws-sdk/credential-provider-process": "3.858.0", + "@aws-sdk/credential-provider-sso": "3.859.0", + "@aws-sdk/credential-provider-web-identity": "3.858.0", + "@aws-sdk/nested-clients": "3.858.0", + "@aws-sdk/types": "3.840.0", + "@smithy/credential-provider-imds": "^4.0.6", + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.859.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.859.0.tgz", + "integrity": "sha512-ZRDB2xU5aSyTR/jDcli30tlycu6RFvQngkZhBs9Zoh2BiYXrfh2MMuoYuZk+7uD6D53Q2RIEldDHR9A/TPlRuA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/credential-provider-env": "3.858.0", + "@aws-sdk/credential-provider-http": "3.858.0", + "@aws-sdk/credential-provider-ini": "3.859.0", + "@aws-sdk/credential-provider-process": "3.858.0", + "@aws-sdk/credential-provider-sso": "3.859.0", + "@aws-sdk/credential-provider-web-identity": "3.858.0", + "@aws-sdk/types": "3.840.0", + "@smithy/credential-provider-imds": "^4.0.6", + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.858.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.858.0.tgz", + "integrity": "sha512-l5LJWZJMRaZ+LhDjtupFUKEC5hAjgvCRrOvV5T60NCUBOy0Ozxa7Sgx3x+EOwiruuoh3Cn9O+RlbQlJX6IfZIw==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/core": "3.858.0", + "@aws-sdk/types": "3.840.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.859.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.859.0.tgz", + "integrity": "sha512-BwAqmWIivhox5YlFRjManFF8GoTvEySPk6vsJNxDsmGsabY+OQovYxFIYxRCYiHzH7SFjd4Lcd+riJOiXNsvRw==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/client-sso": "3.858.0", + "@aws-sdk/core": "3.858.0", + "@aws-sdk/token-providers": "3.859.0", + "@aws-sdk/types": "3.840.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.858.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.858.0.tgz", + "integrity": "sha512-8iULWsH83iZDdUuiDsRb83M0NqIlXjlDbJUIddVsIrfWp4NmanKw77SV6yOZ66nuJjPsn9j7RDb9bfEPCy5SWA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/core": "3.858.0", + "@aws-sdk/nested-clients": "3.858.0", + "@aws-sdk/types": "3.840.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers": { + "version": "3.859.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.859.0.tgz", + "integrity": "sha512-A1AktWEbrTiLjurNFrKOhMbdDKstDpm7vN5oPbZ43L52c3mg5AOYtQgb8/A4otkw482BiFrWgeCBwsH9HlpfxA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/client-cognito-identity": "3.859.0", + "@aws-sdk/core": "3.858.0", + "@aws-sdk/credential-provider-cognito-identity": "3.859.0", + "@aws-sdk/credential-provider-env": "3.858.0", + "@aws-sdk/credential-provider-http": "3.858.0", + "@aws-sdk/credential-provider-ini": "3.859.0", + "@aws-sdk/credential-provider-node": "3.859.0", + "@aws-sdk/credential-provider-process": "3.858.0", + "@aws-sdk/credential-provider-sso": "3.859.0", + "@aws-sdk/credential-provider-web-identity": "3.858.0", + "@aws-sdk/nested-clients": "3.858.0", + "@aws-sdk/types": "3.840.0", + "@smithy/config-resolver": "^4.1.4", + "@smithy/core": "^3.7.2", + "@smithy/credential-provider-imds": "^4.0.6", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/property-provider": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.840.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.840.0.tgz", + "integrity": "sha512-ub+hXJAbAje94+Ya6c6eL7sYujoE8D4Bumu1NUI8TXjUhVVn0HzVWQjpRLshdLsUp1AW7XyeJaxyajRaJQ8+Xg==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.840.0", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.840.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.840.0.tgz", + "integrity": "sha512-lSV8FvjpdllpGaRspywss4CtXV8M7NNNH+2/j86vMH+YCOZ6fu2T/TyFd/tHwZ92vDfHctWkRbQxg0bagqwovA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.840.0", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.840.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.840.0.tgz", + "integrity": "sha512-Gu7lGDyfddyhIkj1Z1JtrY5NHb5+x/CRiB87GjaSrKxkDaydtX2CU977JIABtt69l9wLbcGDIQ+W0uJ5xPof7g==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.840.0", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.858.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.858.0.tgz", + "integrity": "sha512-pC3FT/sRZ6n5NyXiTVu9dpf1D9j3YbJz3XmeOOwJqO/Mib2PZyIQktvNMPgwaC5KMVB1zWqS5bmCwxpMOnq0UQ==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/core": "3.858.0", + "@aws-sdk/types": "3.840.0", + "@aws-sdk/util-endpoints": "3.848.0", + "@smithy/core": "^3.7.2", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/nested-clients": { + "version": "3.858.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.858.0.tgz", + "integrity": "sha512-ChdIj80T2whoWbovmO7o8ICmhEB2S9q4Jes9MBnKAPm69PexcJAK2dQC8yI4/iUP8b3+BHZoUPrYLWjBxIProQ==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.858.0", + "@aws-sdk/middleware-host-header": "3.840.0", + "@aws-sdk/middleware-logger": "3.840.0", + "@aws-sdk/middleware-recursion-detection": "3.840.0", + "@aws-sdk/middleware-user-agent": "3.858.0", + "@aws-sdk/region-config-resolver": "3.840.0", + "@aws-sdk/types": "3.840.0", + "@aws-sdk/util-endpoints": "3.848.0", + "@aws-sdk/util-user-agent-browser": "3.840.0", + "@aws-sdk/util-user-agent-node": "3.858.0", + "@smithy/config-resolver": "^4.1.4", + "@smithy/core": "^3.7.2", + "@smithy/fetch-http-handler": "^5.1.0", + "@smithy/hash-node": "^4.0.4", + "@smithy/invalid-dependency": "^4.0.4", + "@smithy/middleware-content-length": "^4.0.4", + "@smithy/middleware-endpoint": "^4.1.17", + "@smithy/middleware-retry": "^4.1.18", + "@smithy/middleware-serde": "^4.0.8", + "@smithy/middleware-stack": "^4.0.4", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/node-http-handler": "^4.1.0", + "@smithy/protocol-http": "^5.1.2", + "@smithy/smithy-client": "^4.4.9", + "@smithy/types": "^4.3.1", + "@smithy/url-parser": "^4.0.4", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-body-length-browser": "^4.0.0", + "@smithy/util-body-length-node": "^4.0.0", + "@smithy/util-defaults-mode-browser": "^4.0.25", + "@smithy/util-defaults-mode-node": "^4.0.25", + "@smithy/util-endpoints": "^3.0.6", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-retry": "^4.0.6", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.840.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.840.0.tgz", + "integrity": "sha512-Qjnxd/yDv9KpIMWr90ZDPtRj0v75AqGC92Lm9+oHXZ8p1MjG5JE2CW0HL8JRgK9iKzgKBL7pPQRXI8FkvEVfrA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.840.0", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/types": "^4.3.1", + "@smithy/util-config-provider": "^4.0.0", + "@smithy/util-middleware": "^4.0.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.859.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.859.0.tgz", + "integrity": "sha512-6P2wlvm9KBWOvRNn0Pt8RntnXg8fzOb5kEShvWsOsAocZeqKNaYbihum5/Onq1ZPoVtkdb++8eWDocDnM4k85Q==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/core": "3.858.0", + "@aws-sdk/nested-clients": "3.858.0", + "@aws-sdk/types": "3.840.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.840.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.840.0.tgz", + "integrity": "sha512-xliuHaUFZxEx1NSXeLLZ9Dyu6+EJVQKEoD+yM+zqUo3YDZ7medKJWY6fIOKiPX/N7XbLdBYwajb15Q7IL8KkeA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.848.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.848.0.tgz", + "integrity": "sha512-fY/NuFFCq/78liHvRyFKr+aqq1aA/uuVSANjzr5Ym8c+9Z3HRPE9OrExAHoMrZ6zC8tHerQwlsXYYH5XZ7H+ww==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.840.0", + "@smithy/types": "^4.3.1", + "@smithy/url-parser": "^4.0.4", + "@smithy/util-endpoints": "^3.0.6", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.804.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.804.0.tgz", + "integrity": "sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.840.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.840.0.tgz", + "integrity": "sha512-JdyZM3EhhL4PqwFpttZu1afDpPJCCc3eyZOLi+srpX11LsGj6sThf47TYQN75HT1CarZ7cCdQHGzP2uy3/xHfQ==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.840.0", + "@smithy/types": "^4.3.1", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.858.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.858.0.tgz", + "integrity": "sha512-T1m05QlN8hFpx5/5duMjS8uFSK5e6EXP45HQRkZULVkL3DK+jMaxsnh3KLl5LjUoHn/19M4HM0wNUBhYp4Y2Yw==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@aws-sdk/middleware-user-agent": "3.858.0", + "@aws-sdk/types": "3.840.0", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/xml-builder": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.821.0.tgz", + "integrity": "sha512-DIIotRnefVL6DiaHtO6/21DhJ4JZnnIwdNbpwiAhdt/AVbttcE4yw925gsjur0OGv5BTYXQXU3YnANBYnZjuQA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@discordjs/builders": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.11.2.tgz", + "integrity": "sha512-F1WTABdd8/R9D1icJzajC4IuLyyS8f3rTOz66JsSI3pKvpCAtsMBweu8cyNYsIyvcrKAVn9EPK+Psoymq+XC0A==", + "license": "Apache-2.0", + "dependencies": { + "@discordjs/formatters": "^0.6.1", + "@discordjs/util": "^1.1.1", + "@sapphire/shapeshift": "^4.0.0", + "discord-api-types": "^0.38.1", + "fast-deep-equal": "^3.1.3", + "ts-mixer": "^6.0.4", + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=16.11.0" + }, + "funding": { + "url": "https://github.com/discordjs/discord.js?sponsor" + } + }, + "node_modules/@discordjs/collection": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.5.3.tgz", + "integrity": "sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=16.11.0" + } + }, + "node_modules/@discordjs/formatters": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@discordjs/formatters/-/formatters-0.6.1.tgz", + "integrity": "sha512-5cnX+tASiPCqCWtFcFslxBVUaCetB0thvM/JyavhbXInP1HJIEU+Qv/zMrnuwSsX3yWH2lVXNJZeDK3EiP4HHg==", + "license": "Apache-2.0", + "dependencies": { + "discord-api-types": "^0.38.1" + }, + "engines": { + "node": ">=16.11.0" + }, + "funding": { + "url": "https://github.com/discordjs/discord.js?sponsor" + } + }, + "node_modules/@discordjs/rest": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-2.5.1.tgz", + "integrity": "sha512-Tg9840IneBcbrAjcGaQzHUJWFNq1MMWZjTdjJ0WS/89IffaNKc++iOvffucPxQTF/gviO9+9r8kEPea1X5J2Dw==", + "license": "Apache-2.0", + "dependencies": { + "@discordjs/collection": "^2.1.1", + "@discordjs/util": "^1.1.1", + "@sapphire/async-queue": "^1.5.3", + "@sapphire/snowflake": "^3.5.3", + "@vladfrangu/async_event_emitter": "^2.4.6", + "discord-api-types": "^0.38.1", + "magic-bytes.js": "^1.10.0", + "tslib": "^2.6.3", + "undici": "6.21.3" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/discordjs/discord.js?sponsor" + } + }, + "node_modules/@discordjs/rest/node_modules/@discordjs/collection": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-2.1.1.tgz", + "integrity": "sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg==", + "license": "Apache-2.0", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/discordjs/discord.js?sponsor" + } + }, + "node_modules/@discordjs/rest/node_modules/undici": { + "version": "6.21.3", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.3.tgz", + "integrity": "sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==", + "license": "MIT", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/@discordjs/util": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@discordjs/util/-/util-1.1.1.tgz", + "integrity": "sha512-eddz6UnOBEB1oITPinyrB2Pttej49M9FZQY8NxgEvc3tq6ZICZ19m70RsmzRdDHk80O9NoYN/25AqJl8vPVf/g==", + "license": "Apache-2.0", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/discordjs/discord.js?sponsor" + } + }, + "node_modules/@discordjs/ws": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@discordjs/ws/-/ws-1.2.3.tgz", + "integrity": "sha512-wPlQDxEmlDg5IxhJPuxXr3Vy9AjYq5xCvFWGJyD7w7Np8ZGu+Mc+97LCoEc/+AYCo2IDpKioiH0/c/mj5ZR9Uw==", + "license": "Apache-2.0", + "dependencies": { + "@discordjs/collection": "^2.1.0", + "@discordjs/rest": "^2.5.1", + "@discordjs/util": "^1.1.0", + "@sapphire/async-queue": "^1.5.2", + "@types/ws": "^8.5.10", + "@vladfrangu/async_event_emitter": "^2.2.4", + "discord-api-types": "^0.38.1", + "tslib": "^2.6.2", + "ws": "^8.17.0" + }, + "engines": { + "node": ">=16.11.0" + }, + "funding": { + "url": "https://github.com/discordjs/discord.js?sponsor" + } + }, + "node_modules/@discordjs/ws/node_modules/@discordjs/collection": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-2.1.1.tgz", + "integrity": "sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg==", + "license": "Apache-2.0", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/discordjs/discord.js?sponsor" + } + }, + "node_modules/@fastify/busboy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@mongodb-js/saslprep": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.3.0.tgz", + "integrity": "sha512-zlayKCsIjYb7/IdfqxorK5+xUMyi4vOKcFy10wKJYc63NSdKI8mNME+uJqfatkPmOSMMUiojrL58IePKBm3gvQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "sparse-bitfield": "^3.0.3" + } + }, + "node_modules/@sapphire/async-queue": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.5.5.tgz", + "integrity": "sha512-cvGzxbba6sav2zZkH8GPf2oGk9yYoD5qrNWdu9fRehifgnFZJMV+nuy2nON2roRO4yQQ+v7MK/Pktl/HgfsUXg==", + "license": "MIT", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@sapphire/shapeshift": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-4.0.0.tgz", + "integrity": "sha512-d9dUmWVA7MMiKobL3VpLF8P2aeanRTu6ypG2OIaEv/ZHH/SUQ2iHOVyi5wAPjQ+HmnMuL0whK9ez8I/raWbtIg==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=v16" + } + }, + "node_modules/@sapphire/snowflake": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-3.5.3.tgz", + "integrity": "sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ==", + "license": "MIT", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@shikijs/core": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.29.2.tgz", + "integrity": "sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/engine-javascript": "1.29.2", + "@shikijs/engine-oniguruma": "1.29.2", + "@shikijs/types": "1.29.2", + "@shikijs/vscode-textmate": "^10.0.1", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.4" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.29.2.tgz", + "integrity": "sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.29.2", + "@shikijs/vscode-textmate": "^10.0.1", + "oniguruma-to-es": "^2.2.0" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.29.2.tgz", + "integrity": "sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.29.2", + "@shikijs/vscode-textmate": "^10.0.1" + } + }, + "node_modules/@shikijs/langs": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-1.29.2.tgz", + "integrity": "sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.29.2" + } + }, + "node_modules/@shikijs/themes": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-1.29.2.tgz", + "integrity": "sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.29.2" + } + }, + "node_modules/@shikijs/types": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.29.2.tgz", + "integrity": "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.1", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@smithy/abort-controller": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.4.tgz", + "integrity": "sha512-gJnEjZMvigPDQWHrW3oPrFhQtkrgqBkyjj3pCIdF3A5M6vsZODG93KNlfJprv6bp4245bdT32fsHK4kkH3KYDA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/config-resolver": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.1.4.tgz", + "integrity": "sha512-prmU+rDddxHOH0oNcwemL+SwnzcG65sBF2yXRO7aeXIn/xTlq2pX7JLVbkBnVLowHLg4/OL4+jBmv9hVrVGS+w==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/node-config-provider": "^4.1.3", + "@smithy/types": "^4.3.1", + "@smithy/util-config-provider": "^4.0.0", + "@smithy/util-middleware": "^4.0.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/core": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.7.2.tgz", + "integrity": "sha512-JoLw59sT5Bm8SAjFCYZyuCGxK8y3vovmoVbZWLDPTH5XpPEIwpFd9m90jjVMwoypDuB/SdVgje5Y4T7w50lJaw==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/middleware-serde": "^4.0.8", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-body-length-browser": "^4.0.0", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-stream": "^4.2.3", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.6.tgz", + "integrity": "sha512-hKMWcANhUiNbCJouYkZ9V3+/Qf9pteR1dnwgdyzR09R4ODEYx8BbUysHwRSyex4rZ9zapddZhLFTnT4ZijR4pw==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/node-config-provider": "^4.1.3", + "@smithy/property-provider": "^4.0.4", + "@smithy/types": "^4.3.1", + "@smithy/url-parser": "^4.0.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.1.0.tgz", + "integrity": "sha512-mADw7MS0bYe2OGKkHYMaqarOXuDwRbO6ArD91XhHcl2ynjGCFF+hvqf0LyQcYxkA1zaWjefSkU7Ne9mqgApSgQ==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/protocol-http": "^5.1.2", + "@smithy/querystring-builder": "^4.0.4", + "@smithy/types": "^4.3.1", + "@smithy/util-base64": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/hash-node": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.4.tgz", + "integrity": "sha512-qnbTPUhCVnCgBp4z4BUJUhOEkVwxiEi1cyFM+Zj6o+aY8OFGxUQleKWq8ltgp3dujuhXojIvJWdoqpm6dVO3lQ==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/types": "^4.3.1", + "@smithy/util-buffer-from": "^4.0.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/invalid-dependency": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.4.tgz", + "integrity": "sha512-bNYMi7WKTJHu0gn26wg8OscncTt1t2b8KcsZxvOv56XA6cyXtOAAAaNP7+m45xfppXfOatXF3Sb1MNsLUgVLTw==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/is-array-buffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.0.0.tgz", + "integrity": "sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/middleware-content-length": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.4.tgz", + "integrity": "sha512-F7gDyfI2BB1Kc+4M6rpuOLne5LOcEknH1n6UQB69qv+HucXBR1rkzXBnQTB2q46sFy1PM/zuSJOB532yc8bg3w==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/middleware-endpoint": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.1.17.tgz", + "integrity": "sha512-S3hSGLKmHG1m35p/MObQCBCdRsrpbPU8B129BVzRqRfDvQqPMQ14iO4LyRw+7LNizYc605COYAcjqgawqi+6jA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/core": "^3.7.2", + "@smithy/middleware-serde": "^4.0.8", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "@smithy/url-parser": "^4.0.4", + "@smithy/util-middleware": "^4.0.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/middleware-retry": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.1.18.tgz", + "integrity": "sha512-bYLZ4DkoxSsPxpdmeapvAKy7rM5+25gR7PGxq2iMiecmbrRGBHj9s75N74Ylg+aBiw9i5jIowC/cLU2NR0qH8w==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/node-config-provider": "^4.1.3", + "@smithy/protocol-http": "^5.1.2", + "@smithy/service-error-classification": "^4.0.6", + "@smithy/smithy-client": "^4.4.9", + "@smithy/types": "^4.3.1", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-retry": "^4.0.6", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.8.tgz", + "integrity": "sha512-iSSl7HJoJaGyMIoNn2B7czghOVwJ9nD7TMvLhMWeSB5vt0TnEYyRRqPJu/TqW76WScaNvYYB8nRoiBHR9S1Ddw==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/middleware-stack": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.4.tgz", + "integrity": "sha512-kagK5ggDrBUCCzI93ft6DjteNSfY8Ulr83UtySog/h09lTIOAJ/xUSObutanlPT0nhoHAkpmW9V5K8oPyLh+QA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/node-config-provider": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.1.3.tgz", + "integrity": "sha512-HGHQr2s59qaU1lrVH6MbLlmOBxadtzTsoO4c+bF5asdgVik3I8o7JIOzoeqWc5MjVa+vD36/LWE0iXKpNqooRw==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/node-http-handler": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.1.0.tgz", + "integrity": "sha512-vqfSiHz2v8b3TTTrdXi03vNz1KLYYS3bhHCDv36FYDqxT7jvTll1mMnCrkD+gOvgwybuunh/2VmvOMqwBegxEg==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/abort-controller": "^4.0.4", + "@smithy/protocol-http": "^5.1.2", + "@smithy/querystring-builder": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/property-provider": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.4.tgz", + "integrity": "sha512-qHJ2sSgu4FqF4U/5UUp4DhXNmdTrgmoAai6oQiM+c5RZ/sbDwJ12qxB1M6FnP+Tn/ggkPZf9ccn4jqKSINaquw==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/protocol-http": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.1.2.tgz", + "integrity": "sha512-rOG5cNLBXovxIrICSBm95dLqzfvxjEmuZx4KK3hWwPFHGdW3lxY0fZNXfv2zebfRO7sJZ5pKJYHScsqopeIWtQ==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/querystring-builder": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.4.tgz", + "integrity": "sha512-SwREZcDnEYoh9tLNgMbpop+UTGq44Hl9tdj3rf+yeLcfH7+J8OXEBaMc2kDxtyRHu8BhSg9ADEx0gFHvpJgU8w==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/types": "^4.3.1", + "@smithy/util-uri-escape": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/querystring-parser": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.4.tgz", + "integrity": "sha512-6yZf53i/qB8gRHH/l2ZwUG5xgkPgQF15/KxH0DdXMDHjesA9MeZje/853ifkSY0x4m5S+dfDZ+c4x439PF0M2w==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/service-error-classification": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.6.tgz", + "integrity": "sha512-RRoTDL//7xi4tn5FrN2NzH17jbgmnKidUqd4KvquT0954/i6CXXkh1884jBiunq24g9cGtPBEXlU40W6EpNOOg==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/types": "^4.3.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.4.tgz", + "integrity": "sha512-63X0260LoFBjrHifPDs+nM9tV0VMkOTl4JRMYNuKh/f5PauSjowTfvF3LogfkWdcPoxsA9UjqEOgjeYIbhb7Nw==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.1.2.tgz", + "integrity": "sha512-d3+U/VpX7a60seHziWnVZOHuEgJlclufjkS6zhXvxcJgkJq4UWdH5eOBLzHRMx6gXjsdT9h6lfpmLzbrdupHgQ==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/is-array-buffer": "^4.0.0", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "@smithy/util-hex-encoding": "^4.0.0", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-uri-escape": "^4.0.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/smithy-client": { + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.4.9.tgz", + "integrity": "sha512-mbMg8mIUAWwMmb74LoYiArP04zWElPzDoA1jVOp3or0cjlDMgoS6WTC3QXK0Vxoc9I4zdrX0tq6qsOmaIoTWEQ==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/core": "^3.7.2", + "@smithy/middleware-endpoint": "^4.1.17", + "@smithy/middleware-stack": "^4.0.4", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "@smithy/util-stream": "^4.2.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.3.1.tgz", + "integrity": "sha512-UqKOQBL2x6+HWl3P+3QqFD4ncKq0I8Nuz9QItGv5WuKuMHuuwlhvqcZCoXGfc+P1QmfJE7VieykoYYmrOoFJxA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/url-parser": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.4.tgz", + "integrity": "sha512-eMkc144MuN7B0TDA4U2fKs+BqczVbk3W+qIvcoCY6D1JY3hnAdCuhCZODC+GAeaxj0p6Jroz4+XMUn3PCxQQeQ==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/querystring-parser": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-base64": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.0.0.tgz", + "integrity": "sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/util-buffer-from": "^4.0.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-4.0.0.tgz", + "integrity": "sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-4.0.0.tgz", + "integrity": "sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-buffer-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.0.0.tgz", + "integrity": "sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/is-array-buffer": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-config-provider": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-4.0.0.tgz", + "integrity": "sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "4.0.25", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.25.tgz", + "integrity": "sha512-pxEWsxIsOPLfKNXvpgFHBGFC3pKYKUFhrud1kyooO9CJai6aaKDHfT10Mi5iiipPXN/JhKAu3qX9o75+X85OdQ==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/property-provider": "^4.0.4", + "@smithy/smithy-client": "^4.4.9", + "@smithy/types": "^4.3.1", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "4.0.25", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.25.tgz", + "integrity": "sha512-+w4n4hKFayeCyELZLfsSQG5mCC3TwSkmRHv4+el5CzFU8ToQpYGhpV7mrRzqlwKkntlPilT1HJy1TVeEvEjWOQ==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/config-resolver": "^4.1.4", + "@smithy/credential-provider-imds": "^4.0.6", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/property-provider": "^4.0.4", + "@smithy/smithy-client": "^4.4.9", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-endpoints": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.6.tgz", + "integrity": "sha512-YARl3tFL3WgPuLzljRUnrS2ngLiUtkwhQtj8PAL13XZSyUiNLQxwG3fBBq3QXFqGFUXepIN73pINp3y8c2nBmA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/node-config-provider": "^4.1.3", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-4.0.0.tgz", + "integrity": "sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-middleware": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.4.tgz", + "integrity": "sha512-9MLKmkBmf4PRb0ONJikCbCwORACcil6gUWojwARCClT7RmLzF04hUR4WdRprIXal7XVyrddadYNfp2eF3nrvtQ==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.6.tgz", + "integrity": "sha512-+YekoF2CaSMv6zKrA6iI/N9yva3Gzn4L6n35Luydweu5MMPYpiGZlWqehPHDHyNbnyaYlz/WJyYAZnC+loBDZg==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/service-error-classification": "^4.0.6", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-stream": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.2.3.tgz", + "integrity": "sha512-cQn412DWHHFNKrQfbHY8vSFI3nTROY1aIKji9N0tpp8gUABRilr7wdf8fqBbSlXresobM+tQFNk6I+0LXK/YZg==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/fetch-http-handler": "^5.1.0", + "@smithy/node-http-handler": "^4.1.0", + "@smithy/types": "^4.3.1", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-buffer-from": "^4.0.0", + "@smithy/util-hex-encoding": "^4.0.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-uri-escape": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-4.0.0.tgz", + "integrity": "sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-utf8": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.0.0.tgz", + "integrity": "sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@smithy/util-buffer-from": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@tryforge/forgescript": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@tryforge/forgescript/-/forgescript-2.3.0.tgz", + "integrity": "sha512-lbWaowBWgl6dBDBvYaYH8WHU8+DD0QtPeq/4MJn1f0SBwjkXGwz9Gewui46IwkedfdaHekr1zFhnKq5eKnL4ig==", + "dev": true, + "license": "GPL-3.0", + "dependencies": { + "chalk": "^4.1.2", + "discord.js": "^14.18.0", + "ms-utility": "^3.3.0", + "tiny-typed-emitter": "^2.1.0", + "undici": "^5.23.0" + }, + "engines": { + "node": ">=16.11.0" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.1.0.tgz", + "integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.8.0" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/webidl-conversions": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", + "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==", + "license": "MIT" + }, + "node_modules/@types/whatwg-url": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", + "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/webidl-conversions": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@vladfrangu/async_event_emitter": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/@vladfrangu/async_event_emitter/-/async_event_emitter-2.4.6.tgz", + "integrity": "sha512-RaI5qZo6D2CVS6sTHFKg1v5Ohq/+Bo2LZ5gzUEwZ/WkHhwtGTCB/sVLw8ijOkAUxasZ+WshN/Rzj4ywsABJ5ZA==", + "license": "MIT", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/better-sqlite3": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-9.6.0.tgz", + "integrity": "sha512-yR5HATnqeYNVnkaUTf4bOP2dJSnyhP4puJN/QPRyx4YkBEEUxib422n2XzPqDEHjQQqazoYoADdAm5vE15+dAQ==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "bindings": "^1.5.0", + "prebuild-install": "^7.1.1" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "license": "MIT", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", + "license": "MIT", + "optional": true + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/bson": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.2.tgz", + "integrity": "sha512-Ry9wCtIZ5kGqkJoi6aD8KjxFZEx78guTQDnpXWiNthsxzrxAK/i8E6pCHAIZTbaEFWcOCvbecMukfK7XUvyLpQ==", + "license": "Apache-2.0", + "dependencies": { + "buffer": "^5.6.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/discord-api-types": { + "version": "0.38.18", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.38.18.tgz", + "integrity": "sha512-ygenySjZKUaBf5JT8BNhZSxLzwpwdp41O0wVroOTu/N2DxFH7dxYTZUSnFJ6v+/2F3BMcnD47PC47u4aLOLxrQ==", + "license": "MIT", + "workspaces": [ + "scripts/actions/documentation" + ] + }, + "node_modules/discord-giveaways-super": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/discord-giveaways-super/-/discord-giveaways-super-1.1.1.tgz", + "integrity": "sha512-09a3qM5RXC3zij8GhxYUIwN6vo7Hgok1LG8EW3NG/fEpw2VH0O6ioRV4RyWGbh7hNwB7G9gh+1r/p1dgPWe/SQ==", + "license": "MIT", + "dependencies": { + "discord.js": "^14.16.3", + "enmap": "^5.9.8", + "quick-mongo-super": "^1.0.19" + }, + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/discord.js": { + "version": "14.21.0", + "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.21.0.tgz", + "integrity": "sha512-U5w41cEmcnSfwKYlLv5RJjB8Joa+QJyRwIJz5i/eg+v2Qvv6EYpCRhN9I2Rlf0900LuqSDg8edakUATrDZQncQ==", + "license": "Apache-2.0", + "dependencies": { + "@discordjs/builders": "^1.11.2", + "@discordjs/collection": "1.5.3", + "@discordjs/formatters": "^0.6.1", + "@discordjs/rest": "^2.5.1", + "@discordjs/util": "^1.1.1", + "@discordjs/ws": "^1.2.3", + "@sapphire/snowflake": "3.5.3", + "discord-api-types": "^0.38.1", + "fast-deep-equal": "3.1.3", + "lodash.snakecase": "4.1.1", + "magic-bytes.js": "^1.10.0", + "tslib": "^2.6.3", + "undici": "6.21.3" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/discordjs/discord.js?sponsor" + } + }, + "node_modules/discord.js/node_modules/undici": { + "version": "6.21.3", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.3.tgz", + "integrity": "sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==", + "license": "MIT", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/emoji-regex-xs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz", + "integrity": "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==", + "dev": true, + "license": "MIT" + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enmap": { + "version": "5.9.10", + "resolved": "https://registry.npmjs.org/enmap/-/enmap-5.9.10.tgz", + "integrity": "sha512-A2Jv4VbcJCTwADPmXfC7KLysLi6Y90RlUDWZ2s3NHzfJ3p6SVeA77YN8Kjjj4ui/C9dQzbthB7V5y/WjcYjY7w==", + "license": "Apache-2.0", + "dependencies": { + "better-sqlite3": "^9.4.3", + "lodash": "^4.17.21", + "on-change": "^3.0.2", + "serialize-javascript": "^6.0.2" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-xml-parser": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz", + "integrity": "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "optional": true, + "dependencies": { + "strnum": "^2.1.0" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "license": "MIT" + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT" + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "license": "MIT" + }, + "node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "uc.micro": "^2.0.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "license": "MIT" + }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/magic-bytes.js": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/magic-bytes.js/-/magic-bytes.js-1.12.1.tgz", + "integrity": "sha512-ThQLOhN86ZkJ7qemtVRGYM+gRgR8GEXNli9H/PMvpnZsE44Xfh3wx9kGJaldg314v85m+bFW6WBMaVHJc/c3zA==", + "license": "MIT" + }, + "node_modules/markdown-it": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" + }, + "bin": { + "markdown-it": "bin/markdown-it.mjs" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "dev": true, + "license": "MIT" + }, + "node_modules/memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "license": "MIT", + "optional": true + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT" + }, + "node_modules/mongodb": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.17.2.tgz", + "integrity": "sha512-mLV7SEiov2LHleRJPMPrK2PMyhXFZt2UQLC4VD4pnth3jMjYKHhtqfwwkkvS/NXuo/Fp3vbhaNcXrIDaLRb9Tg==", + "license": "Apache-2.0", + "dependencies": { + "bson": "^4.7.2", + "mongodb-connection-string-url": "^2.6.0", + "socks": "^2.7.1" + }, + "engines": { + "node": ">=12.9.0" + }, + "optionalDependencies": { + "@aws-sdk/credential-providers": "^3.186.0", + "@mongodb-js/saslprep": "^1.1.0" + } + }, + "node_modules/mongodb-connection-string-url": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", + "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", + "license": "Apache-2.0", + "dependencies": { + "@types/whatwg-url": "^8.2.1", + "whatwg-url": "^11.0.0" + } + }, + "node_modules/ms-utility": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ms-utility/-/ms-utility-3.3.0.tgz", + "integrity": "sha512-PM1brH9z25ICcU17rK8yLwjH5sekCHs1xiftUTKmkoSlBY+F/l7G+zyUMmZ148SkVwOPb0qDGZgawKvELJ+klQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT" + }, + "node_modules/node-abi": { + "version": "3.75.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.75.0.tgz", + "integrity": "sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/on-change": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/on-change/-/on-change-3.0.2.tgz", + "integrity": "sha512-rdt5YfIfo86aFNwvQqzzHMpaPPyVQ/XjcGK01d46chZh47G8Xzvoao79SgFb03GZfxRGREzNQVJuo31drqyIlA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/on-change?sponsor=1" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/oniguruma-to-es": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-2.3.0.tgz", + "integrity": "sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex-xs": "^1.0.0", + "regex": "^5.1.1", + "regex-recursion": "^5.1.1" + } + }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/pump": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/quick-mongo-super": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/quick-mongo-super/-/quick-mongo-super-1.0.19.tgz", + "integrity": "sha512-temPzA0/F8wAgnGs2L0kDDHMOcyHEKLI2WYCDWY6Tfg3yl5ZA7k3bn55P6tTI3sFXg0w4ei6UULD8P4gM63MHw==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "mongodb": "^4.17.0", + "node-fetch": "^2.6.7" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/regex": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/regex/-/regex-5.1.1.tgz", + "integrity": "sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-5.1.1.tgz", + "integrity": "sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "regex": "^5.1.1", + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "dev": true, + "license": "MIT" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shiki": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.29.2.tgz", + "integrity": "sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/core": "1.29.2", + "@shikijs/engine-javascript": "1.29.2", + "@shikijs/engine-oniguruma": "1.29.2", + "@shikijs/langs": "1.29.2", + "@shikijs/themes": "1.29.2", + "@shikijs/types": "1.29.2", + "@shikijs/vscode-textmate": "^10.0.1", + "@types/hast": "^3.0.4" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.6.tgz", + "integrity": "sha512-pe4Y2yzru68lXCb38aAqRf5gvN8YdjP1lok5o0J7BOHljkyCGKVz7H3vpVIXKD27rj2giOJ7DwVyk/GWrPHDWA==", + "license": "MIT", + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "memory-pager": "^1.0.2" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "license": "BSD-3-Clause" + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strnum": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz", + "integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "optional": true + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar-fs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.3.tgz", + "integrity": "sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==", + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tiny-typed-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz", + "integrity": "sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-mixer": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.4.tgz", + "integrity": "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==", + "license": "MIT" + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/typedoc": { + "version": "0.26.11", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.11.tgz", + "integrity": "sha512-sFEgRRtrcDl2FxVP58Ze++ZK2UQAEvtvvH8rRlig1Ja3o7dDaMHmaBfvJmdGnNEFaLTpQsN8dpvZaTqJSu/Ugw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "lunr": "^2.3.9", + "markdown-it": "^14.1.0", + "minimatch": "^9.0.5", + "shiki": "^1.16.2", + "yaml": "^2.5.1" + }, + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x" + } + }, + "node_modules/typescript": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "dev": true, + "license": "MIT" + }, + "node_modules/undici": { + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", + "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/undici-types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", + "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", + "license": "MIT" + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "optional": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "license": "MIT", + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yaml": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..ab74113 --- /dev/null +++ b/package.json @@ -0,0 +1,27 @@ +{ + "name": "forge.giveaways", + "version": "1.0.0", + "description": "", + "main": "dist/index.js", + "scripts": { + "docgen": "tsc && typedoc src/index.ts && node dist/docgen", + "commit": "npm run docgen && node dist/commit", + "test": "tsc && node dist/__tests__/" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/tryforge/ForgeGiveaways.git" + }, + "keywords": [], + "author": "itsnicky.", + "license": "GPL-3.0", + "devDependencies": { + "@tryforge/forgescript": "^2.3.0", + "discord.js": "^14.21.0", + "typedoc": "^0.26.11", + "typescript": "^5.6.3" + }, + "dependencies": { + "discord-giveaways-super": "^1.1.1" + } +} diff --git a/src/commit.ts b/src/commit.ts new file mode 100644 index 0000000..38606de --- /dev/null +++ b/src/commit.ts @@ -0,0 +1,55 @@ +import { execSync } from "child_process" +import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs" +import prompt from "./functions/prompt" +import { join } from "path" + +const path = "./metadata" +if (!existsSync(path)) mkdirSync(path) + +const version = require("../package.json").version + +async function main() { + let skip = false + + const msg = (await prompt("Please write the commit message: ")).replace( + /(--?(\w+))/gim, (match) => { + const name = /(\w+)/.exec(match)![1].toLowerCase() + + switch (name) { + case "hide": { + skip = true + break + } + + default: { + throw new Error(`--${name} is not a valid flag.`) + } + } + + return "" + } + ).trim() + + const fileName = join(path, "changelogs.json") + const json: Record = existsSync(fileName) ? JSON.parse(readFileSync(fileName, "utf-8")) : {} + json[version] ??= [] + + if (!skip) { + json[version].unshift({ + message: msg, + timestamp: new Date(), + author: execSync("git config user.name").toString().trim() + }) + writeFileSync(fileName, JSON.stringify(json), "utf-8") + } + + const branch = await prompt("Write the branch name to push to (defaults to dev): ") || "dev" + const escapedMsg = msg.replace(/\$/g, "\\$") + + execSync("git branch -M " + branch + " && git add . && git commit -m \"" + escapedMsg + "\" && git push -u origin " + branch, { + stdio: "inherit" + }) +} + +// Nothing +main() \ No newline at end of file diff --git a/src/docgen.ts b/src/docgen.ts new file mode 100644 index 0000000..ffd23c1 --- /dev/null +++ b/src/docgen.ts @@ -0,0 +1,3 @@ +import { generateMetadata } from "@tryforge/forgescript" + +generateMetadata(`${__dirname}/native`, "native", "ForgeGiveawaysEvents", undefined, undefined, `${__dirname}/events`) \ No newline at end of file diff --git a/src/events/databaseConnect.ts b/src/events/databaseConnect.ts new file mode 100644 index 0000000..a73f306 --- /dev/null +++ b/src/events/databaseConnect.ts @@ -0,0 +1,24 @@ +import { Interpreter } from "@tryforge/forgescript" +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { ForgeGiveaways } from ".." + +export default new GiveawaysEventHandler({ + name: "databaseConnect", + version: "1.0.0", + description: "This event is fired when the client connected to the giveaway database", + listener: async function() { + const commands = this.getExtension(ForgeGiveaways, true).commands?.get("databaseConnect") + + if (commands?.length) { + for (const command of commands) { + Interpreter.run({ + obj: {}, + command, + client: this, + data: command.compiled.code, + }) + } + } + + }, +}) \ No newline at end of file diff --git a/src/events/giveawayEdit.ts b/src/events/giveawayEdit.ts new file mode 100644 index 0000000..ad014fe --- /dev/null +++ b/src/events/giveawayEdit.ts @@ -0,0 +1,24 @@ +import { Interpreter } from "@tryforge/forgescript" +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { ForgeGiveaways } from ".." + +export default new GiveawaysEventHandler({ + name: "giveawayEdit", + version: "1.0.0", + description: "This event is fired when a giveaway was edited", + listener: async function(gw) { + const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayEdit") + + if (commands?.length) { + for (const command of commands) { + Interpreter.run({ + obj: gw, + command, + client: this, + data: command.compiled.code, + }) + } + } + + }, +}) \ No newline at end of file diff --git a/src/events/giveawayEnd.ts b/src/events/giveawayEnd.ts new file mode 100644 index 0000000..475b346 --- /dev/null +++ b/src/events/giveawayEnd.ts @@ -0,0 +1,24 @@ +import { Interpreter } from "@tryforge/forgescript" +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { ForgeGiveaways } from ".." + +export default new GiveawaysEventHandler({ + name: "giveawayEnd", + version: "1.0.0", + description: "This event is fired when a giveaway ended", + listener: async function(gw) { + const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayEnd") + + if (commands?.length) { + for (const command of commands) { + Interpreter.run({ + obj: gw, + command, + client: this, + data: command.compiled.code, + }) + } + } + + }, +}) \ No newline at end of file diff --git a/src/events/giveawayReroll.ts b/src/events/giveawayReroll.ts new file mode 100644 index 0000000..c274807 --- /dev/null +++ b/src/events/giveawayReroll.ts @@ -0,0 +1,24 @@ +import { Interpreter } from "@tryforge/forgescript" +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { ForgeGiveaways } from ".." + +export default new GiveawaysEventHandler({ + name: "giveawayReroll", + version: "1.0.0", + description: "This event is fired when a giveaway was rerolled", + listener: async function(gw) { + const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayReroll") + + if (commands?.length) { + for (const command of commands) { + Interpreter.run({ + obj: gw, + command, + client: this, + data: command.compiled.code, + }) + } + } + + }, +}) \ No newline at end of file diff --git a/src/events/giveawayRestart.ts b/src/events/giveawayRestart.ts new file mode 100644 index 0000000..8fd504b --- /dev/null +++ b/src/events/giveawayRestart.ts @@ -0,0 +1,24 @@ +import { Interpreter } from "@tryforge/forgescript" +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { ForgeGiveaways } from ".." + +export default new GiveawaysEventHandler({ + name: "giveawayRestart", + version: "1.0.0", + description: "This event is fired when a giveaway was restarted", + listener: async function(gw) { + const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayRestart") + + if (commands?.length) { + for (const command of commands) { + Interpreter.run({ + obj: gw, + command, + client: this, + data: command.compiled.code, + }) + } + } + + }, +}) \ No newline at end of file diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts new file mode 100644 index 0000000..957a132 --- /dev/null +++ b/src/events/giveawayStart.ts @@ -0,0 +1,24 @@ +import { Interpreter } from "@tryforge/forgescript" +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { ForgeGiveaways } from ".." + +export default new GiveawaysEventHandler({ + name: "giveawayStart", + version: "1.0.0", + description: "This event is fired when a giveaway started", + listener: async function(gw) { + const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayStart") + + if (commands?.length) { + for (const command of commands) { + Interpreter.run({ + obj: gw, + command, + client: this, + data: command.compiled.code, + }) + } + } + + }, +}) \ No newline at end of file diff --git a/src/functions/prompt.ts b/src/functions/prompt.ts new file mode 100644 index 0000000..ab35a88 --- /dev/null +++ b/src/functions/prompt.ts @@ -0,0 +1,12 @@ +import { stdin, stdout } from "process" +import { createInterface } from "readline" + +export default async function(q: string) { + const itf = createInterface(stdin, stdout) + return new Promise(r => { + itf.question(q, input => { + itf.close() + r(input) + }) + }) +} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..f56c62e --- /dev/null +++ b/src/index.ts @@ -0,0 +1,43 @@ +import { EventManager, ForgeClient, ForgeExtension } from "@tryforge/forgescript" +import { GiveawaysEvents } from "./managers/GiveawaysEventManager" +import { GiveawaysCommandManager } from "./managers/GiveawaysCommandManager" +import { DatabaseType, Giveaways } from "discord-giveaways-super" + +export interface IGiveawayOptions { + path: `${string}.json`, + events?: keyof GiveawaysEvents +} + +export class ForgeGiveaways extends ForgeExtension { + name = "ForgeGiveaways" + description = "" + version = require("../package.json").version + + commands: GiveawaysCommandManager | null + giveawayManager: Giveaways | null + #path: `${string}.json` + + public constructor (public readonly options: IGiveawayOptions) { + super() + this.commands = null + this.giveawayManager = null + this.#path = options.path + } + + public init (client: ForgeClient) { + this.giveawayManager = new Giveaways(client, { + connection: { + path: this.#path, + }, + database: DatabaseType.JSON + }) + this.commands = new GiveawaysCommandManager(client) + + EventManager.load("ForgeGiveawaysEvents", __dirname + "/events") + this.load(__dirname + "/native") + + if (this.options.events?.length) { + client.events.load("ForgeGiveawaysEvents", this.options.events) + } + } +} \ No newline at end of file diff --git a/src/managers/GiveawaysCommandManager.ts b/src/managers/GiveawaysCommandManager.ts new file mode 100644 index 0000000..ab6bbbc --- /dev/null +++ b/src/managers/GiveawaysCommandManager.ts @@ -0,0 +1,6 @@ +import { BaseCommandManager } from "@tryforge/forgescript" +import { GiveawaysEvents } from "./GiveawaysEventManager" + +export class GiveawaysCommandManager extends BaseCommandManager { + handlerName = "ForgeGiveawaysEvents" +} \ No newline at end of file diff --git a/src/managers/GiveawaysEventManager.ts b/src/managers/GiveawaysEventManager.ts new file mode 100644 index 0000000..7615d4b --- /dev/null +++ b/src/managers/GiveawaysEventManager.ts @@ -0,0 +1,12 @@ +import { BaseEventHandler, ForgeClient } from "@tryforge/forgescript" +import { DatabaseType, IGiveawaysEvents } from "discord-giveaways-super" +import { ForgeGiveaways } from ".." + +export type GiveawaysEvents = IGiveawaysEvents + +export class GiveawaysEventHandler extends BaseEventHandler { + register(client: ForgeClient): void { + //@ts-ignore + client.getExtension(ForgeGiveaways, true).giveawayManager.on(this.name, this.listener.bind(client)) + } +} \ No newline at end of file diff --git a/src/native/startGiveaway.ts b/src/native/startGiveaway.ts new file mode 100644 index 0000000..927e30c --- /dev/null +++ b/src/native/startGiveaway.ts @@ -0,0 +1,66 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import { ForgeGiveaways } from ".." +import { BaseChannel, GuildBasedChannel } from "discord.js" + +export default new NativeFunction({ + name: "$startGiveaway", + version: "1.0.0", + description: "Starts a new giveaway on a guild, returns giveaway id", + unwrap: true, + brackets: true, + args: [ + { + name: "channel ID", + description: "The channel this giveaway will be created on", + rest: false, + required: true, + type: ArgType.Channel, + check: (i: BaseChannel) => i.isTextBased() && !i.isDMBased(), + }, + { + name: "host ID", + description: "The member hosting this giveaway", + rest: false, + required: true, + type: ArgType.Member, + pointer: 0, + pointerProperty: "guild" + }, + { + name: "duration", + description: "The duration for this giveaway.", + rest: false, + required: true, + type: ArgType.String + }, + { + name: "prize", + description: "The prize for this giveaway", + rest: false, + required: true, + type: ArgType.String + }, + { + name: "winners", + description: "How many winners this giveaway will have", + rest: false, + required: false, + type: ArgType.Number + } + ], + output: ArgType.Number, + async execute(ctx, [channel, host, time, prize, winners]) { + const client = ctx.client.getExtension(ForgeGiveaways, true) + + const giveaway = await client.giveawayManager?.start({ + guildID: (channel as GuildBasedChannel).guildId, + channelID: channel.id, + hostMemberID: host.id, + time, + prize, + winnersCount: winners || 1, + }) + + return this.success(giveaway?.id) + } +}) \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..c6fcaa9 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,109 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig to read more about this file */ + + /* Projects */ + // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es2022", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ + "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + + /* Modules */ + "module": "commonjs", /* Specify what module code is generated. */ + "rootDir": "src", /* Specify the root folder within your source files. */ + // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ + // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ + // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ + // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ + // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + "resolveJsonModule": true, /* Enable importing .json files. */ + // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ + // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + + /* Emit */ + "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ + "outDir": "dist", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} \ No newline at end of file From 9eb58aa2b0a746bae4fa07e6710ed0b807437b3f Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 3 Aug 2025 04:29:23 +0200 Subject: [PATCH 02/87] Added exports --- dist/events/databaseConnect.d.ts.map | 2 +- dist/events/databaseConnect.js | 1 + dist/events/databaseConnect.js.map | 2 +- dist/events/giveawayEdit.d.ts.map | 2 +- dist/events/giveawayEdit.js | 1 + dist/events/giveawayEdit.js.map | 2 +- dist/events/giveawayEnd.d.ts.map | 2 +- dist/events/giveawayEnd.js | 1 + dist/events/giveawayEnd.js.map | 2 +- dist/events/giveawayReroll.d.ts.map | 2 +- dist/events/giveawayReroll.js | 1 + dist/events/giveawayReroll.js.map | 2 +- dist/events/giveawayRestart.d.ts.map | 2 +- dist/events/giveawayRestart.js | 1 + dist/events/giveawayRestart.js.map | 2 +- dist/events/giveawayStart.d.ts.map | 2 +- dist/events/giveawayStart.js | 1 + dist/events/giveawayStart.js.map | 2 +- dist/index.d.ts | 1 + dist/index.d.ts.map | 2 +- dist/index.js | 15 ++++++++++++++ dist/index.js.map | 2 +- dist/managers/index.d.ts | 3 +++ dist/managers/index.d.ts.map | 1 + dist/managers/index.js | 19 +++++++++++++++++ dist/managers/index.js.map | 1 + dist/native/startGiveaway.d.ts.map | 2 +- dist/native/startGiveaway.js | 1 + dist/native/startGiveaway.js.map | 2 +- docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/classes/GiveawaysCommandManager.html | 25 +++++++++++++++++++++++ docs/classes/GiveawaysEventHandler.html | 7 +++++++ docs/interfaces/IGiveawayOptions.html | 4 ++-- docs/modules.html | 3 +++ docs/types/GiveawaysEvents.html | 1 + metadata/events.json | 2 +- metadata/functions.json | 2 +- src/index.ts | 4 +++- src/managers/index.ts | 2 ++ 41 files changed, 113 insertions(+), 26 deletions(-) create mode 100644 dist/managers/index.d.ts create mode 100644 dist/managers/index.d.ts.map create mode 100644 dist/managers/index.js create mode 100644 dist/managers/index.js.map create mode 100644 docs/classes/GiveawaysCommandManager.html create mode 100644 docs/classes/GiveawaysEventHandler.html create mode 100644 docs/types/GiveawaysEvents.html create mode 100644 src/managers/index.ts diff --git a/dist/events/databaseConnect.d.ts.map b/dist/events/databaseConnect.d.ts.map index 6320992..9531bff 100644 --- a/dist/events/databaseConnect.d.ts.map +++ b/dist/events/databaseConnect.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"databaseConnect.d.ts","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAkBE"} \ No newline at end of file +{"version":3,"file":"databaseConnect.d.ts","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file diff --git a/dist/events/databaseConnect.js b/dist/events/databaseConnect.js index 016d18a..7629709 100644 --- a/dist/events/databaseConnect.js +++ b/dist/events/databaseConnect.js @@ -5,6 +5,7 @@ const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); const __1 = require(".."); exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "databaseConnect", + version: "1.0.0", description: "This event is fired when the client connected to the giveaway database", listener: async function () { const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("databaseConnect"); diff --git a/dist/events/databaseConnect.js.map b/dist/events/databaseConnect.js.map index dfb0f47..127f749 100644 --- a/dist/events/databaseConnect.js.map +++ b/dist/events/databaseConnect.js.map @@ -1 +1 @@ -{"version":3,"file":"databaseConnect.js","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,wEAAwE;IACrF,QAAQ,EAAE,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAEzF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"databaseConnect.js","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wEAAwE;IACrF,QAAQ,EAAE,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAEzF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEdit.d.ts.map b/dist/events/giveawayEdit.d.ts.map index 8fff248..96b19e6 100644 --- a/dist/events/giveawayEdit.d.ts.map +++ b/dist/events/giveawayEdit.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEdit.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAkBE"} \ No newline at end of file +{"version":3,"file":"giveawayEdit.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file diff --git a/dist/events/giveawayEdit.js b/dist/events/giveawayEdit.js index 2c18115..002ad98 100644 --- a/dist/events/giveawayEdit.js +++ b/dist/events/giveawayEdit.js @@ -5,6 +5,7 @@ const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); const __1 = require(".."); exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "giveawayEdit", + version: "1.0.0", description: "This event is fired when a giveaway was edited", listener: async function (gw) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEdit"); diff --git a/dist/events/giveawayEdit.js.map b/dist/events/giveawayEdit.js.map index 3450e91..8a2f18b 100644 --- a/dist/events/giveawayEdit.js.map +++ b/dist/events/giveawayEdit.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;QAEtF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;QAEtF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEnd.d.ts.map b/dist/events/giveawayEnd.d.ts.map index 72ff7bc..707361e 100644 --- a/dist/events/giveawayEnd.d.ts.map +++ b/dist/events/giveawayEnd.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEnd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAkBE"} \ No newline at end of file +{"version":3,"file":"giveawayEnd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file diff --git a/dist/events/giveawayEnd.js b/dist/events/giveawayEnd.js index c71a108..d8ccd47 100644 --- a/dist/events/giveawayEnd.js +++ b/dist/events/giveawayEnd.js @@ -5,6 +5,7 @@ const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); const __1 = require(".."); exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "giveawayEnd", + version: "1.0.0", description: "This event is fired when a giveaway ended", listener: async function (gw) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEnd"); diff --git a/dist/events/giveawayEnd.js.map b/dist/events/giveawayEnd.js.map index dfc85fd..9279fbc 100644 --- a/dist/events/giveawayEnd.js.map +++ b/dist/events/giveawayEnd.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEnd.js","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,2CAA2C;IACxD,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;QAErF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEnd.js","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;QAErF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayReroll.d.ts.map b/dist/events/giveawayReroll.d.ts.map index 5628dad..d463b4b 100644 --- a/dist/events/giveawayReroll.d.ts.map +++ b/dist/events/giveawayReroll.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayReroll.d.ts","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAkBE"} \ No newline at end of file +{"version":3,"file":"giveawayReroll.d.ts","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file diff --git a/dist/events/giveawayReroll.js b/dist/events/giveawayReroll.js index e7f6b09..65bb50e 100644 --- a/dist/events/giveawayReroll.js +++ b/dist/events/giveawayReroll.js @@ -5,6 +5,7 @@ const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); const __1 = require(".."); exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "giveawayReroll", + version: "1.0.0", description: "This event is fired when a giveaway was rerolled", listener: async function (gw) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayReroll"); diff --git a/dist/events/giveawayReroll.js.map b/dist/events/giveawayReroll.js.map index de90e63..871aa76 100644 --- a/dist/events/giveawayReroll.js.map +++ b/dist/events/giveawayReroll.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAExF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAExF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayRestart.d.ts.map b/dist/events/giveawayRestart.d.ts.map index a6e059a..b429407 100644 --- a/dist/events/giveawayRestart.d.ts.map +++ b/dist/events/giveawayRestart.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRestart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayRestart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAkBE"} \ No newline at end of file +{"version":3,"file":"giveawayRestart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayRestart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file diff --git a/dist/events/giveawayRestart.js b/dist/events/giveawayRestart.js index baeee94..306c9cb 100644 --- a/dist/events/giveawayRestart.js +++ b/dist/events/giveawayRestart.js @@ -5,6 +5,7 @@ const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); const __1 = require(".."); exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "giveawayRestart", + version: "1.0.0", description: "This event is fired when a giveaway was restarted", listener: async function (gw) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayRestart"); diff --git a/dist/events/giveawayRestart.js.map b/dist/events/giveawayRestart.js.map index a0658ce..0de0111 100644 --- a/dist/events/giveawayRestart.js.map +++ b/dist/events/giveawayRestart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRestart.js","sourceRoot":"","sources":["../../src/events/giveawayRestart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,mDAAmD;IAChE,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAEzF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRestart.js","sourceRoot":"","sources":["../../src/events/giveawayRestart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mDAAmD;IAChE,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAEzF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayStart.d.ts.map b/dist/events/giveawayStart.d.ts.map index 0c4fcba..d32629f 100644 --- a/dist/events/giveawayStart.d.ts.map +++ b/dist/events/giveawayStart.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAkBE"} \ No newline at end of file +{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index 000e735..4b1ab9e 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -5,6 +5,7 @@ const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); const __1 = require(".."); exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "giveawayStart", + version: "1.0.0", description: "This event is fired when a giveaway started", listener: async function (gw) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayStart"); diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index cb77dfd..2974ca3 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEvF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEvF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index c16c71e..6f4ebd6 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -17,4 +17,5 @@ export declare class ForgeGiveaways extends ForgeExtension { constructor(options: IGiveawayOptions); init(client: ForgeClient): void; } +export * from "./managers"; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 6e117d0..03b3482 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEjE,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;CACjC;AAED,qBAAa,cAAe,SAAQ,cAAc;;aASV,OAAO,EAAE,gBAAgB;IAR7D,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAE5C,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACxC,eAAe,EAAE,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,GAAG,IAAI,CAAA;gBAGlC,OAAO,EAAE,gBAAgB;IAOtD,IAAI,CAAE,MAAM,EAAE,WAAW;CAgBnC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEjE,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;CACjC;AAED,qBAAa,cAAe,SAAQ,cAAc;;aASV,OAAO,EAAE,gBAAgB;IAR7D,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAE5C,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACxC,eAAe,EAAE,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,GAAG,IAAI,CAAA;gBAGlC,OAAO,EAAE,gBAAgB;IAOtD,IAAI,CAAE,MAAM,EAAE,WAAW;CAgBnC;AAED,cAAc,YAAY,CAAA"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 8a2048e..4af843a 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,4 +1,18 @@ "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.ForgeGiveaways = void 0; const forgescript_1 = require("@tryforge/forgescript"); @@ -35,4 +49,5 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { } } exports.ForgeGiveaways = ForgeGiveaways; +__exportStar(require("./managers"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map index 29bd863..86e5c54 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AAEjF,gFAA4E;AAC5E,qEAAiE;AAOjE,MAAa,cAAe,SAAQ,4BAAc;IASV;IARpC,IAAI,GAAG,gBAAgB,CAAA;IACvB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAE5C,QAAQ,CAAgC;IACxC,eAAe,CAAuD;IACtE,KAAK,CAAkB;IAEvB,YAAoC,OAAyB;QACzD,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAkB;QAEzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;IAC7B,CAAC;IAEM,IAAI,CAAE,MAAmB;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAS,CAAC,MAAM,EAAE;YACzC,UAAU,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,KAAK;aACnB;YACD,QAAQ,EAAE,sCAAY,CAAC,IAAI;SAC9B,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,iDAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AAhCD,wCAgCC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AAEjF,gFAA4E;AAC5E,qEAAiE;AAOjE,MAAa,cAAe,SAAQ,4BAAc;IASV;IARpC,IAAI,GAAG,gBAAgB,CAAA;IACvB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAE5C,QAAQ,CAAgC;IACxC,eAAe,CAAuD;IACtE,KAAK,CAAkB;IAEvB,YAAoC,OAAyB;QACzD,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAkB;QAEzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;IAC7B,CAAC;IAEM,IAAI,CAAE,MAAmB;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAS,CAAC,MAAM,EAAE;YACzC,UAAU,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,KAAK;aACnB;YACD,QAAQ,EAAE,sCAAY,CAAC,IAAI;SAC9B,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,iDAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AAhCD,wCAgCC;AAED,6CAA0B"} \ No newline at end of file diff --git a/dist/managers/index.d.ts b/dist/managers/index.d.ts new file mode 100644 index 0000000..bb82364 --- /dev/null +++ b/dist/managers/index.d.ts @@ -0,0 +1,3 @@ +export * from "./GiveawaysCommandManager"; +export * from "./GiveawaysEventManager"; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/managers/index.d.ts.map b/dist/managers/index.d.ts.map new file mode 100644 index 0000000..b5bd0b5 --- /dev/null +++ b/dist/managers/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA"} \ No newline at end of file diff --git a/dist/managers/index.js b/dist/managers/index.js new file mode 100644 index 0000000..bb99e0c --- /dev/null +++ b/dist/managers/index.js @@ -0,0 +1,19 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./GiveawaysCommandManager"), exports); +__exportStar(require("./GiveawaysEventManager"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/managers/index.js.map b/dist/managers/index.js.map new file mode 100644 index 0000000..30a3d5c --- /dev/null +++ b/dist/managers/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,0DAAuC"} \ No newline at end of file diff --git a/dist/native/startGiveaway.d.ts.map b/dist/native/startGiveaway.d.ts.map index d86ca13..ec7b7c0 100644 --- a/dist/native/startGiveaway.d.ts.map +++ b/dist/native/startGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"startGiveaway.d.ts","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;;;;;;;eAcpC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAZlC,wBA4DE"} \ No newline at end of file +{"version":3,"file":"startGiveaway.d.ts","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;;;;;;;eAepC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAblC,wBA6DE"} \ No newline at end of file diff --git a/dist/native/startGiveaway.js b/dist/native/startGiveaway.js index 464449b..10e8404 100644 --- a/dist/native/startGiveaway.js +++ b/dist/native/startGiveaway.js @@ -4,6 +4,7 @@ const forgescript_1 = require("@tryforge/forgescript"); const __1 = require(".."); exports.default = new forgescript_1.NativeFunction({ name: "$startGiveaway", + version: "1.0.0", description: "Starts a new giveaway on a guild, returns giveaway id", unwrap: true, brackets: true, diff --git a/dist/native/startGiveaway.js.map b/dist/native/startGiveaway.js.map index db2235f..36c7142 100644 --- a/dist/native/startGiveaway.js.map +++ b/dist/native/startGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,0BAAmC;AAGnC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;QACpD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC;YACjD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,YAAY,EAAE,IAAI,CAAC,EAAE;YACrB,IAAI;YACJ,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;SAC7B,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,0BAAmC;AAGnC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;QACpD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC;YACjD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,YAAY,EAAE,IAAI,CAAC,EAAE;YACrB,IAAI;YACJ,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;SAC7B,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 000e40f..8571851 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE4uuVipJrShRslJyyy9KT3XPLEtNLE+sLFbSUSpILMlQslJKzkksLk4t1keV18soyc1R0lHKzsxLUbIyNLKo1YGb5AlT5V9Qkpmfh2RWZl5JalFaYnJqsT66IlQDjUzNamMBVi8GopwAAAA=" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE43PyQ6CQAyA4XfpeSJCggtX43YwPoDx0ECFiUMhMw1KDO/uScISiOf+/dLePiD0FojgUNiUjroifGHtQEGJkkEEsUHnyHn9+SKT3ICCp+YEIj/YNKqV2mhX5DlyckHGlOyYnAj/svcVsZyQEzMrd7M59/zbuJaiC+78r1nIPjAm5w2jPhiEq8lDO57U5ejAobTcrv0waO5fpd+JyZ4BAAA=" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 3436df1..32e0c4b 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE6WW3Y6bMBCF32VyayXY/PMArfai6l1vLFQhcLJWExMBybZCvHvF7+Dg3fUqV0H4nO9gMjO4hap8qyHhLfyRqoCE+QEBlV0EJPDyXd5F9pb9+3ltZKlqIHCrzpCAVI2ojlku6sOjZv/aXM5AID9ndS1qSAA6MsOpw7yFfs2aV2viblKvsASuWSVUY3rQdyLFXajGfhu7Rf/1WBYtqd/K6iRmKaZPzIO+/OH78ylbqHmp6qa65U1Z2SB3ut68oYcnfectDj82kZPwmaxC1Hklh9drFanrn0m+i6q2TUXtM4l5eblkqrCqkN1K/EzmaRL8yFR2EnaVtPU88wTlw2z5KBm1X0xkjof9KJVsrOImoV1WSkCqQvyFpF1qJwG2d/cxEDhKcS76OTt3T///9SACRZnfhst0kv0SfZP24lF9cIBwhzC692M/TQmfzcPCcGNm4J3BSIFwajLSjZFqRgaEM5ORbYxMM7pAuGsyuhujqxk9INwzGb2N0dOMPhDum4z+xuhrxgAID0zGYGMMNGMIhIcmY7gxhpoxAsIjkzHaGCPNGAPhsckYb4yxXgB9PVBj7dBt8dCH6hnKx1w/hgIabw1tcBdVI4qXsR04X022Fn5PXbL0YwsRJG3XYU8kbbdqi35tzF59wJDjIcez4mifCOQEyAmsOPPhABEMEcwKcexnyAlPBohyEeVaoWbKZR7KyIqRFVux5Axb5i3CHIQ5drBhiCKAUiRQaoUYRyYifCT4VgDDPuhqI9RuJ+MRdIVYEawAyzEBGSEyws8ZKYGrvIqzVAISnnbdf0EjX4u/CwAA"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE6WXy27bMBBF/2W8JRwP9da26COLtrtuCKMQJMYWakuGpDgNBP17oSdJk3boepVAmnuGM7oc0i1U5VsNMWvhT15kEFPPJ1AkRw4xPH/Nzzx5S95/npq8LGog8FodIIa8aHj1kqS8frqMWe+b4wEIpIekrnkNMUBHZjhuqLvQT0mztyaupmgJS+CUVLxoTAu9kpKfedHYl7Fa4u9PS8Ml65ey2vE5VGSfmE/q65v985Au1LQs6qZ6TZuyskGu1HhzQRcrvdLF4Y9NyinwkVwZr9MqH9prlVKNfyTzmVe1bVYR+0jGtDwekyKzcshKCn4k524K+J4UyY7bOUnXPLKC8mK23MosYu/MSDeu2I95kTdW6abAe6uTtv7y/tP4ua61+Uqc/TDdJ0V24NUP09a8BV+pQnOp16qQ+xsF6FG97s/qxG3eT/KCxre3qzR1c9B9G1d+vVw56mYOxR0V3+V1cxd3JWk+6KCy8m5LIC8y/hfidpk3MdC1s46AwEvOD1l/Ns8Tt9/zPY9AVqavw7/bKewX7wd7HzxGP22AsA2h7jp0o+2WsFk8vBgezAzxZBAiEIYmIWpCVIQUCKMmIdWEVBE6QJhjEjqa0FGELhDmmoSuJnQVoQeEeSahpwk9RegDYb5J6GtCXxEGQFhgEgaaMFCEIRAWmoShJgwVYQSERSZhpAkj1QC9H9DoHdTNgxfuGexj9o/BQKqDsPcFGj2EuolQdRH23kCjj1A3EqpOwt4faPQS6mZC1U3YewSNfkLdUKg6CnufoNFTqJtqejTMjTOvGp49j/ODMen60MLvaawsY62FEOK268QQidtOmiP9uzG3dEsUHFdwXCuOcg8THF9wfCvOfAMXCCoQ1Arx0h/Uu+WgllCOQDlWqJlynI9xwYoEK7qLVU/fzcBEqVa0K3ahDo3bz0ekxPQkpvcfTKWDKBkD7ZwxrWk80iSS9DHQ7mvk88KWa6HAbQRtYwcb7nrSelBaD1ohLkuSOm3XaEMdKBWCdpWMv5QlhESwAojbjASRdi7abd3lR5GgBAISfMzYEjjlJ37ICw4x23bdP5mKx1mtEAAA"; \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 73f2894..0185ab4 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawayManager: null | Giveaways<JSON, `${string}.json`, IDatabaseStructure>
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawayManager: null | Giveaways<JSON, `${string}.json`, IDatabaseStructure>
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html new file mode 100644 index 0000000..28eb81b --- /dev/null +++ b/docs/classes/GiveawaysCommandManager.html @@ -0,0 +1,25 @@ +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    • Rest...commands: (BaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"> | IBaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">)[]

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • Rest...args: Parameters<ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]>

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    • type:
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"
    • Optionalfn: ((cmd: BaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">) => boolean)
        • (cmd): boolean
        • Parameters

          • cmd: BaseCommand<
                | "giveawayStart"
                | "giveawayRestart"
                | "giveawayEnd"
                | "giveawayLengthExtend"
                | "giveawayLengthReduce"
                | "ready"
                | "databaseConnect"
                | "giveawayReroll"
                | "giveawayEdit">

          Returns boolean

    Returns BaseCommand<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html new file mode 100644 index 0000000..f3ce876 --- /dev/null +++ b/docs/classes/GiveawaysEventHandler.html @@ -0,0 +1,7 @@ +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

  • Type Parameters

    • T extends
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"

    Parameters

    Returns GiveawaysEventHandler<T>

Properties

data: IEvent<GiveawaysEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/interfaces/IGiveawayOptions.html b/docs/interfaces/IGiveawayOptions.html index e3ac6a4..9bea3cd 100644 --- a/docs/interfaces/IGiveawayOptions.html +++ b/docs/interfaces/IGiveawayOptions.html @@ -1,3 +1,3 @@ -IGiveawayOptions | forge.giveaways

Interface IGiveawayOptions

interface IGiveawayOptions {
    events?:
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit";
    path: `${string}.json`;
}

Properties

events? +IGiveawayOptions | forge.giveaways

Interface IGiveawayOptions

interface IGiveawayOptions {
    events?:
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit";
    path: `${string}.json`;
}

Properties

Properties

events?:
    | "giveawayStart"
    | "giveawayRestart"
    | "giveawayEnd"
    | "giveawayLengthExtend"
    | "giveawayLengthReduce"
    | "ready"
    | "databaseConnect"
    | "giveawayReroll"
    | "giveawayEdit"
path: `${string}.json`
+

Properties

events?:
    | "giveawayStart"
    | "giveawayRestart"
    | "giveawayEnd"
    | "giveawayLengthExtend"
    | "giveawayLengthReduce"
    | "ready"
    | "databaseConnect"
    | "giveawayReroll"
    | "giveawayEdit"
path: `${string}.json`
diff --git a/docs/modules.html b/docs/modules.html index d361e93..d45f7c3 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -1,3 +1,6 @@ forge.giveaways
diff --git a/docs/types/GiveawaysEvents.html b/docs/types/GiveawaysEvents.html new file mode 100644 index 0000000..c853766 --- /dev/null +++ b/docs/types/GiveawaysEvents.html @@ -0,0 +1 @@ +GiveawaysEvents | forge.giveaways

Type Alias GiveawaysEvents

GiveawaysEvents: IGiveawaysEvents<DatabaseType.JSON>
diff --git a/metadata/events.json b/metadata/events.json index 4a45490..507f3dc 100644 --- a/metadata/events.json +++ b/metadata/events.json @@ -1 +1 @@ -[{"name":"databaseConnect","description":"This event is fired when the client connected to the giveaway database","version":"1.0.0"},{"name":"giveawayEdit","description":"This event is fired when a giveaway was edited","version":"1.0.0"},{"name":"giveawayEnd","description":"This event is fired when a giveaway ended","version":"1.0.0"},{"name":"giveawayReroll","description":"This event is fired when a giveaway was rerolled","version":"1.0.0"},{"name":"giveawayRestart","description":"This event is fired when a giveaway was restarted","version":"1.0.0"},{"name":"giveawayStart","description":"This event is fired when a giveaway started","version":"1.0.0"}] \ No newline at end of file +[{"name":"databaseConnect","version":"1.0.0","description":"This event is fired when the client connected to the giveaway database"},{"name":"giveawayEdit","version":"1.0.0","description":"This event is fired when a giveaway was edited"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayRestart","version":"1.0.0","description":"This event is fired when a giveaway was restarted"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file diff --git a/metadata/functions.json b/metadata/functions.json index c1bd7a0..66de2d9 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$startGiveaway","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"String"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"required":false,"type":"Number"}],"output":["Number"],"version":"1.0.0"}] \ No newline at end of file +[{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"String"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"required":false,"type":"Number"}],"output":["Number"]}] \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index f56c62e..cdae266 100644 --- a/src/index.ts +++ b/src/index.ts @@ -40,4 +40,6 @@ export class ForgeGiveaways extends ForgeExtension { client.events.load("ForgeGiveawaysEvents", this.options.events) } } -} \ No newline at end of file +} + +export * from "./managers" \ No newline at end of file diff --git a/src/managers/index.ts b/src/managers/index.ts new file mode 100644 index 0000000..b46af8b --- /dev/null +++ b/src/managers/index.ts @@ -0,0 +1,2 @@ +export * from "./GiveawaysCommandManager" +export * from "./GiveawaysEventManager" \ No newline at end of file From 71daa994953bab2c0be1f6752094187e70d2d1d1 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 3 Aug 2025 04:50:02 +0200 Subject: [PATCH 03/87] Small change --- dist/native/startGiveaway.d.ts.map | 2 +- dist/native/startGiveaway.js | 11 ++++++----- dist/native/startGiveaway.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/classes/GiveawaysCommandManager.html | 4 ++-- docs/classes/GiveawaysEventHandler.html | 4 ++-- docs/interfaces/IGiveawayOptions.html | 4 ++-- docs/types/GiveawaysEvents.html | 2 +- metadata/functions.json | 2 +- src/native/startGiveaway.ts | 11 ++++++----- 10 files changed, 25 insertions(+), 23 deletions(-) diff --git a/dist/native/startGiveaway.d.ts.map b/dist/native/startGiveaway.d.ts.map index ec7b7c0..835cbad 100644 --- a/dist/native/startGiveaway.d.ts.map +++ b/dist/native/startGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"startGiveaway.d.ts","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;;;;;;;eAepC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAblC,wBA6DE"} \ No newline at end of file +{"version":3,"file":"startGiveaway.d.ts","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;;;;;;;eAepC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAblC,wBA8DE"} \ No newline at end of file diff --git a/dist/native/startGiveaway.js b/dist/native/startGiveaway.js index 10e8404..c64ed5c 100644 --- a/dist/native/startGiveaway.js +++ b/dist/native/startGiveaway.js @@ -27,15 +27,15 @@ exports.default = new forgescript_1.NativeFunction({ pointerProperty: "guild" }, { - name: "duration", - description: "The duration for this giveaway.", + name: "prize", + description: "The prize for this giveaway", rest: false, required: true, type: forgescript_1.ArgType.String }, { - name: "prize", - description: "The prize for this giveaway", + name: "duration", + description: "The duration for this giveaway.", rest: false, required: true, type: forgescript_1.ArgType.String @@ -49,7 +49,7 @@ exports.default = new forgescript_1.NativeFunction({ } ], output: forgescript_1.ArgType.Number, - async execute(ctx, [channel, host, time, prize, winners]) { + async execute(ctx, [channel, host, prize, time, winners]) { const client = ctx.client.getExtension(__1.ForgeGiveaways, true); const giveaway = await client.giveawayManager?.start({ guildID: channel.guildId, @@ -58,6 +58,7 @@ exports.default = new forgescript_1.NativeFunction({ time, prize, winnersCount: winners || 1, + defineEmbedStrings: undefined }); return this.success(giveaway?.id); } diff --git a/dist/native/startGiveaway.js.map b/dist/native/startGiveaway.js.map index 36c7142..db5c2e4 100644 --- a/dist/native/startGiveaway.js.map +++ b/dist/native/startGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,0BAAmC;AAGnC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;QACpD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC;YACjD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,YAAY,EAAE,IAAI,CAAC,EAAE;YACrB,IAAI;YACJ,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;SAC7B,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,0BAAmC;AAGnC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC;QACpD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC;YACjD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,YAAY,EAAE,IAAI,CAAC,EAAE;YACrB,IAAI;YACJ,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;YAC1B,kBAAkB,EAAE,SAAS;SAChC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 0185ab4..8a136cd 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawayManager: null | Giveaways<JSON, `${string}.json`, IDatabaseStructure>
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawayManager: null | Giveaways<JSON, `${string}.json`, IDatabaseStructure>
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 28eb81b..56bfe5e 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    • Rest...commands: (BaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"> | IBaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">)[]

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • Rest...args: Parameters<ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]>

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    • type:
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"
    • Optionalfn: ((cmd: BaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">) => boolean)
        • (cmd): boolean
        • Parameters

          • cmd: BaseCommand<
                | "giveawayStart"
                | "giveawayRestart"
                | "giveawayEnd"
                | "giveawayLengthExtend"
                | "giveawayLengthReduce"
                | "ready"
                | "databaseConnect"
                | "giveawayReroll"
                | "giveawayEdit">

          Returns boolean

    Returns BaseCommand<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    • Rest...commands: (BaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"> | IBaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">)[]

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • Rest...args: Parameters<ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]>

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    • type:
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"
    • Optionalfn: ((cmd: BaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">) => boolean)
        • (cmd): boolean
        • Parameters

          • cmd: BaseCommand<
                | "giveawayStart"
                | "giveawayRestart"
                | "giveawayEnd"
                | "giveawayLengthExtend"
                | "giveawayLengthReduce"
                | "ready"
                | "databaseConnect"
                | "giveawayReroll"
                | "giveawayEdit">

          Returns boolean

    Returns BaseCommand<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index f3ce876..f16786c 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

  • Type Parameters

    • T extends
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"

    Parameters

    Returns GiveawaysEventHandler<T>

Properties

data: IEvent<GiveawaysEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

  • Type Parameters

    • T extends
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"

    Parameters

    Returns GiveawaysEventHandler<T>

Properties

data: IEvent<GiveawaysEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/interfaces/IGiveawayOptions.html b/docs/interfaces/IGiveawayOptions.html index 9bea3cd..cb001eb 100644 --- a/docs/interfaces/IGiveawayOptions.html +++ b/docs/interfaces/IGiveawayOptions.html @@ -1,3 +1,3 @@ -IGiveawayOptions | forge.giveaways

Interface IGiveawayOptions

interface IGiveawayOptions {
    events?:
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit";
    path: `${string}.json`;
}

Properties

events? +IGiveawayOptions | forge.giveaways

Interface IGiveawayOptions

interface IGiveawayOptions {
    events?:
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit";
    path: `${string}.json`;
}

Properties

Properties

events?:
    | "giveawayStart"
    | "giveawayRestart"
    | "giveawayEnd"
    | "giveawayLengthExtend"
    | "giveawayLengthReduce"
    | "ready"
    | "databaseConnect"
    | "giveawayReroll"
    | "giveawayEdit"
path: `${string}.json`
+

Properties

events?:
    | "giveawayStart"
    | "giveawayRestart"
    | "giveawayEnd"
    | "giveawayLengthExtend"
    | "giveawayLengthReduce"
    | "ready"
    | "databaseConnect"
    | "giveawayReroll"
    | "giveawayEdit"
path: `${string}.json`
diff --git a/docs/types/GiveawaysEvents.html b/docs/types/GiveawaysEvents.html index c853766..9e79328 100644 --- a/docs/types/GiveawaysEvents.html +++ b/docs/types/GiveawaysEvents.html @@ -1 +1 @@ -GiveawaysEvents | forge.giveaways

Type Alias GiveawaysEvents

GiveawaysEvents: IGiveawaysEvents<DatabaseType.JSON>
+GiveawaysEvents | forge.giveaways

Type Alias GiveawaysEvents

GiveawaysEvents: IGiveawaysEvents<DatabaseType.JSON>
diff --git a/metadata/functions.json b/metadata/functions.json index 66de2d9..84d5c16 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"String"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"required":false,"type":"Number"}],"output":["Number"]}] \ No newline at end of file +[{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"String"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"required":false,"type":"Number"}],"output":["Number"]}] \ No newline at end of file diff --git a/src/native/startGiveaway.ts b/src/native/startGiveaway.ts index 927e30c..e5f21d3 100644 --- a/src/native/startGiveaway.ts +++ b/src/native/startGiveaway.ts @@ -27,15 +27,15 @@ export default new NativeFunction({ pointerProperty: "guild" }, { - name: "duration", - description: "The duration for this giveaway.", + name: "prize", + description: "The prize for this giveaway", rest: false, required: true, type: ArgType.String }, { - name: "prize", - description: "The prize for this giveaway", + name: "duration", + description: "The duration for this giveaway.", rest: false, required: true, type: ArgType.String @@ -49,7 +49,7 @@ export default new NativeFunction({ } ], output: ArgType.Number, - async execute(ctx, [channel, host, time, prize, winners]) { + async execute(ctx, [channel, host, prize, time, winners]) { const client = ctx.client.getExtension(ForgeGiveaways, true) const giveaway = await client.giveawayManager?.start({ @@ -59,6 +59,7 @@ export default new NativeFunction({ time, prize, winnersCount: winners || 1, + defineEmbedStrings: undefined }) return this.success(giveaway?.id) From 1554d829efd4bd877c3b6624c99377c83f899be8 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 3 Aug 2025 04:58:01 +0200 Subject: [PATCH 04/87] test --- dist/native/startGiveaway.d.ts.map | 2 +- dist/native/startGiveaway.js | 4 +++- dist/native/startGiveaway.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/classes/GiveawaysCommandManager.html | 4 ++-- docs/classes/GiveawaysEventHandler.html | 4 ++-- docs/interfaces/IGiveawayOptions.html | 4 ++-- docs/types/GiveawaysEvents.html | 2 +- src/native/startGiveaway.ts | 4 +++- 9 files changed, 18 insertions(+), 14 deletions(-) diff --git a/dist/native/startGiveaway.d.ts.map b/dist/native/startGiveaway.d.ts.map index 835cbad..8c6420c 100644 --- a/dist/native/startGiveaway.d.ts.map +++ b/dist/native/startGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"startGiveaway.d.ts","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;;;;;;;eAepC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAblC,wBA8DE"} \ No newline at end of file +{"version":3,"file":"startGiveaway.d.ts","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;;;;;;;eAepC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAblC,wBAgEE"} \ No newline at end of file diff --git a/dist/native/startGiveaway.js b/dist/native/startGiveaway.js index c64ed5c..6b3b9e1 100644 --- a/dist/native/startGiveaway.js +++ b/dist/native/startGiveaway.js @@ -58,7 +58,9 @@ exports.default = new forgescript_1.NativeFunction({ time, prize, winnersCount: winners || 1, - defineEmbedStrings: undefined + defineEmbedStrings(giveaway, host) { + return {}; + } }); return this.success(giveaway?.id); } diff --git a/dist/native/startGiveaway.js.map b/dist/native/startGiveaway.js.map index db5c2e4..3d142fc 100644 --- a/dist/native/startGiveaway.js.map +++ b/dist/native/startGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,0BAAmC;AAGnC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC;QACpD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC;YACjD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,YAAY,EAAE,IAAI,CAAC,EAAE;YACrB,IAAI;YACJ,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;YAC1B,kBAAkB,EAAE,SAAS;SAChC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,0BAAmC;AAGnC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC;QACpD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC;YACjD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,YAAY,EAAE,IAAI,CAAC,EAAE;YACrB,IAAI;YACJ,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;YAC1B,kBAAkB,CAAC,QAAQ,EAAE,IAAI;gBAC7B,OAAO,EAAE,CAAA;YACb,CAAC;SACJ,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 8a136cd..b60e48c 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawayManager: null | Giveaways<JSON, `${string}.json`, IDatabaseStructure>
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawayManager: null | Giveaways<JSON, `${string}.json`, IDatabaseStructure>
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 56bfe5e..53e7435 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    • Rest...commands: (BaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"> | IBaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">)[]

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • Rest...args: Parameters<ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]>

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    • type:
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"
    • Optionalfn: ((cmd: BaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">) => boolean)
        • (cmd): boolean
        • Parameters

          • cmd: BaseCommand<
                | "giveawayStart"
                | "giveawayRestart"
                | "giveawayEnd"
                | "giveawayLengthExtend"
                | "giveawayLengthReduce"
                | "ready"
                | "databaseConnect"
                | "giveawayReroll"
                | "giveawayEdit">

          Returns boolean

    Returns BaseCommand<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    • Rest...commands: (BaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"> | IBaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">)[]

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • Rest...args: Parameters<ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]>

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    • type:
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"
    • Optionalfn: ((cmd: BaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">) => boolean)
        • (cmd): boolean
        • Parameters

          • cmd: BaseCommand<
                | "giveawayStart"
                | "giveawayRestart"
                | "giveawayEnd"
                | "giveawayLengthExtend"
                | "giveawayLengthReduce"
                | "ready"
                | "databaseConnect"
                | "giveawayReroll"
                | "giveawayEdit">

          Returns boolean

    Returns BaseCommand<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index f16786c..03ad8cc 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

  • Type Parameters

    • T extends
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"

    Parameters

    Returns GiveawaysEventHandler<T>

Properties

data: IEvent<GiveawaysEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

  • Type Parameters

    • T extends
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"

    Parameters

    Returns GiveawaysEventHandler<T>

Properties

data: IEvent<GiveawaysEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/interfaces/IGiveawayOptions.html b/docs/interfaces/IGiveawayOptions.html index cb001eb..76625d4 100644 --- a/docs/interfaces/IGiveawayOptions.html +++ b/docs/interfaces/IGiveawayOptions.html @@ -1,3 +1,3 @@ -IGiveawayOptions | forge.giveaways

Interface IGiveawayOptions

interface IGiveawayOptions {
    events?:
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit";
    path: `${string}.json`;
}

Properties

events? +IGiveawayOptions | forge.giveaways

Interface IGiveawayOptions

interface IGiveawayOptions {
    events?:
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit";
    path: `${string}.json`;
}

Properties

Properties

events?:
    | "giveawayStart"
    | "giveawayRestart"
    | "giveawayEnd"
    | "giveawayLengthExtend"
    | "giveawayLengthReduce"
    | "ready"
    | "databaseConnect"
    | "giveawayReroll"
    | "giveawayEdit"
path: `${string}.json`
+

Properties

events?:
    | "giveawayStart"
    | "giveawayRestart"
    | "giveawayEnd"
    | "giveawayLengthExtend"
    | "giveawayLengthReduce"
    | "ready"
    | "databaseConnect"
    | "giveawayReroll"
    | "giveawayEdit"
path: `${string}.json`
diff --git a/docs/types/GiveawaysEvents.html b/docs/types/GiveawaysEvents.html index 9e79328..986a7fd 100644 --- a/docs/types/GiveawaysEvents.html +++ b/docs/types/GiveawaysEvents.html @@ -1 +1 @@ -GiveawaysEvents | forge.giveaways

Type Alias GiveawaysEvents

GiveawaysEvents: IGiveawaysEvents<DatabaseType.JSON>
+GiveawaysEvents | forge.giveaways

Type Alias GiveawaysEvents

GiveawaysEvents: IGiveawaysEvents<DatabaseType.JSON>
diff --git a/src/native/startGiveaway.ts b/src/native/startGiveaway.ts index e5f21d3..93b1c51 100644 --- a/src/native/startGiveaway.ts +++ b/src/native/startGiveaway.ts @@ -59,7 +59,9 @@ export default new NativeFunction({ time, prize, winnersCount: winners || 1, - defineEmbedStrings: undefined + defineEmbedStrings(giveaway, host) { + return {} + } }) return this.success(giveaway?.id) From 76f9327a68e9a3fa5dcd9205e944439de1e38220 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Wed, 15 Oct 2025 00:23:30 +0200 Subject: [PATCH 05/87] Rewrite --- dist/events/databaseConnect.d.ts | 4 - dist/events/databaseConnect.d.ts.map | 1 - dist/events/databaseConnect.js | 24 - dist/events/databaseConnect.js.map | 1 - dist/events/giveawayRestart.d.ts | 4 - dist/events/giveawayRestart.d.ts.map | 1 - dist/events/giveawayRestart.js | 24 - dist/events/giveawayRestart.js.map | 1 - dist/index.d.ts | 21 +- dist/index.d.ts.map | 2 +- dist/index.js | 13 +- dist/index.js.map | 2 +- dist/managers/DatabaseManager.d.ts | 1 + dist/managers/DatabaseManager.d.ts.map | 1 + dist/managers/DatabaseManager.js | 2 + dist/managers/DatabaseManager.js.map | 1 + dist/managers/GiveawaysCommandManager.d.ts | 4 +- dist/managers/GiveawaysEventManager.d.ts | 29 +- dist/managers/GiveawaysEventManager.d.ts.map | 2 +- dist/managers/GiveawaysEventManager.js | 2 +- dist/managers/GiveawaysEventManager.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 34 + dist/managers/GiveawaysManager.d.ts.map | 1 + dist/managers/GiveawaysManager.js | 90 + dist/managers/GiveawaysManager.js.map | 1 + dist/native/startGiveaway.d.ts | 3 +- dist/native/startGiveaway.d.ts.map | 2 +- dist/native/startGiveaway.js | 20 +- dist/native/startGiveaway.js.map | 2 +- docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/ForgeGiveaways.html | 8 +- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 3 + docs/interfaces/IGiveawayEvents.html | 5 + docs/interfaces/IGiveawayOptions.html | 3 - docs/modules.html | 4 +- docs/types/GiveawaysEvents.html | 1 - metadata/events.json | 2 +- metadata/functions.json | 2 +- metadata/paths.json | 1 + package-lock.json | 2879 ++++++++---------- package.json | 7 +- src/events/databaseConnect.ts | 24 - src/events/giveawayRestart.ts | 24 - src/index.ts | 29 +- src/managers/DatabaseManager.ts | 1 + src/managers/GiveawaysCommandManager.ts | 4 +- src/managers/GiveawaysEventManager.ts | 23 +- src/managers/GiveawaysManager.ts | 121 + src/native/startGiveaway.ts | 22 +- 52 files changed, 1618 insertions(+), 1852 deletions(-) delete mode 100644 dist/events/databaseConnect.d.ts delete mode 100644 dist/events/databaseConnect.d.ts.map delete mode 100644 dist/events/databaseConnect.js delete mode 100644 dist/events/databaseConnect.js.map delete mode 100644 dist/events/giveawayRestart.d.ts delete mode 100644 dist/events/giveawayRestart.d.ts.map delete mode 100644 dist/events/giveawayRestart.js delete mode 100644 dist/events/giveawayRestart.js.map create mode 100644 dist/managers/DatabaseManager.d.ts create mode 100644 dist/managers/DatabaseManager.d.ts.map create mode 100644 dist/managers/DatabaseManager.js create mode 100644 dist/managers/DatabaseManager.js.map create mode 100644 dist/managers/GiveawaysManager.d.ts create mode 100644 dist/managers/GiveawaysManager.d.ts.map create mode 100644 dist/managers/GiveawaysManager.js create mode 100644 dist/managers/GiveawaysManager.js.map create mode 100644 docs/interfaces/IForgeGiveawaysOptions.html create mode 100644 docs/interfaces/IGiveawayEvents.html delete mode 100644 docs/interfaces/IGiveawayOptions.html delete mode 100644 docs/types/GiveawaysEvents.html create mode 100644 metadata/paths.json delete mode 100644 src/events/databaseConnect.ts delete mode 100644 src/events/giveawayRestart.ts create mode 100644 src/managers/DatabaseManager.ts create mode 100644 src/managers/GiveawaysManager.ts diff --git a/dist/events/databaseConnect.d.ts b/dist/events/databaseConnect.d.ts deleted file mode 100644 index 788ddb3..0000000 --- a/dist/events/databaseConnect.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; -declare const _default: GiveawaysEventHandler<"databaseConnect">; -export default _default; -//# sourceMappingURL=databaseConnect.d.ts.map \ No newline at end of file diff --git a/dist/events/databaseConnect.d.ts.map b/dist/events/databaseConnect.d.ts.map deleted file mode 100644 index 9531bff..0000000 --- a/dist/events/databaseConnect.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"databaseConnect.d.ts","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file diff --git a/dist/events/databaseConnect.js b/dist/events/databaseConnect.js deleted file mode 100644 index 7629709..0000000 --- a/dist/events/databaseConnect.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); -const __1 = require(".."); -exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ - name: "databaseConnect", - version: "1.0.0", - description: "This event is fired when the client connected to the giveaway database", - listener: async function () { - const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("databaseConnect"); - if (commands?.length) { - for (const command of commands) { - forgescript_1.Interpreter.run({ - obj: {}, - command, - client: this, - data: command.compiled.code, - }); - } - } - }, -}); -//# sourceMappingURL=databaseConnect.js.map \ No newline at end of file diff --git a/dist/events/databaseConnect.js.map b/dist/events/databaseConnect.js.map deleted file mode 100644 index 127f749..0000000 --- a/dist/events/databaseConnect.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"databaseConnect.js","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wEAAwE;IACrF,QAAQ,EAAE,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAEzF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayRestart.d.ts b/dist/events/giveawayRestart.d.ts deleted file mode 100644 index 94d717d..0000000 --- a/dist/events/giveawayRestart.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; -declare const _default: GiveawaysEventHandler<"giveawayRestart">; -export default _default; -//# sourceMappingURL=giveawayRestart.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayRestart.d.ts.map b/dist/events/giveawayRestart.d.ts.map deleted file mode 100644 index b429407..0000000 --- a/dist/events/giveawayRestart.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayRestart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayRestart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file diff --git a/dist/events/giveawayRestart.js b/dist/events/giveawayRestart.js deleted file mode 100644 index 306c9cb..0000000 --- a/dist/events/giveawayRestart.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); -const __1 = require(".."); -exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ - name: "giveawayRestart", - version: "1.0.0", - description: "This event is fired when a giveaway was restarted", - listener: async function (gw) { - const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayRestart"); - if (commands?.length) { - for (const command of commands) { - forgescript_1.Interpreter.run({ - obj: gw, - command, - client: this, - data: command.compiled.code, - }); - } - } - }, -}); -//# sourceMappingURL=giveawayRestart.js.map \ No newline at end of file diff --git a/dist/events/giveawayRestart.js.map b/dist/events/giveawayRestart.js.map deleted file mode 100644 index 0de0111..0000000 --- a/dist/events/giveawayRestart.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayRestart.js","sourceRoot":"","sources":["../../src/events/giveawayRestart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mDAAmD;IAChE,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAEzF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index 6f4ebd6..182c6c0 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -1,20 +1,23 @@ import { ForgeClient, ForgeExtension } from "@tryforge/forgescript"; -import { GiveawaysEvents } from "./managers/GiveawaysEventManager"; +import { IGiveawayEvents } from "./managers/GiveawaysEventManager"; import { GiveawaysCommandManager } from "./managers/GiveawaysCommandManager"; -import { DatabaseType, Giveaways } from "discord-giveaways-super"; -export interface IGiveawayOptions { - path: `${string}.json`; - events?: keyof GiveawaysEvents; +import { GiveawaysManager } from "./managers/GiveawaysManager"; +export interface IForgeGiveawaysOptions { + events?: keyof IGiveawayEvents; + messages?: { + start: string; + end: string; + reroll: string; + }; } export declare class ForgeGiveaways extends ForgeExtension { - #private; - readonly options: IGiveawayOptions; + readonly options: IForgeGiveawaysOptions; name: string; description: string; version: any; + readonly giveawaysManager: GiveawaysManager; commands: GiveawaysCommandManager | null; - giveawayManager: Giveaways | null; - constructor(options: IGiveawayOptions); + constructor(options: IForgeGiveawaysOptions); init(client: ForgeClient): void; } export * from "./managers"; diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 03b3482..919ca30 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEjE,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;CACjC;AAED,qBAAa,cAAe,SAAQ,cAAc;;aASV,OAAO,EAAE,gBAAgB;IAR7D,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAE5C,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACxC,eAAe,EAAE,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,GAAG,IAAI,CAAA;gBAGlC,OAAO,EAAE,gBAAgB;IAOtD,IAAI,CAAE,MAAM,EAAE,WAAW;CAgBnC;AAED,cAAc,YAAY,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAQV,OAAO,EAAE,sBAAsB;IAPnE,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAE5C,SAAgB,gBAAgB,mBAA6B;IAC7D,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,EAAE,sBAAsB;IAK5D,IAAI,CAAE,MAAM,EAAE,WAAW;CAUnC;AAED,cAAc,YAAY,CAAA"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 4af843a..28ced9d 100644 --- a/dist/index.js +++ b/dist/index.js @@ -17,29 +17,20 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.ForgeGiveaways = void 0; const forgescript_1 = require("@tryforge/forgescript"); const GiveawaysCommandManager_1 = require("./managers/GiveawaysCommandManager"); -const discord_giveaways_super_1 = require("discord-giveaways-super"); +const GiveawaysManager_1 = require("./managers/GiveawaysManager"); class ForgeGiveaways extends forgescript_1.ForgeExtension { options; name = "ForgeGiveaways"; description = ""; version = require("../package.json").version; + giveawaysManager = new GiveawaysManager_1.GiveawaysManager(this); commands; - giveawayManager; - #path; constructor(options) { super(); this.options = options; this.commands = null; - this.giveawayManager = null; - this.#path = options.path; } init(client) { - this.giveawayManager = new discord_giveaways_super_1.Giveaways(client, { - connection: { - path: this.#path, - }, - database: discord_giveaways_super_1.DatabaseType.JSON - }); this.commands = new GiveawaysCommandManager_1.GiveawaysCommandManager(client); forgescript_1.EventManager.load("ForgeGiveawaysEvents", __dirname + "/events"); this.load(__dirname + "/native"); diff --git a/dist/index.js.map b/dist/index.js.map index 86e5c54..187024b 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AAEjF,gFAA4E;AAC5E,qEAAiE;AAOjE,MAAa,cAAe,SAAQ,4BAAc;IASV;IARpC,IAAI,GAAG,gBAAgB,CAAA;IACvB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAE5C,QAAQ,CAAgC;IACxC,eAAe,CAAuD;IACtE,KAAK,CAAkB;IAEvB,YAAoC,OAAyB;QACzD,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAkB;QAEzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;IAC7B,CAAC;IAEM,IAAI,CAAE,MAAmB;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAS,CAAC,MAAM,EAAE;YACzC,UAAU,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,KAAK;aACnB;YACD,QAAQ,EAAE,sCAAY,CAAC,IAAI;SAC9B,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,iDAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AAhCD,wCAgCC;AAED,6CAA0B"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AAEjF,gFAA4E;AAC5E,kEAA8D;AAW9D,MAAa,cAAe,SAAQ,4BAAc;IAQV;IAPpC,IAAI,GAAG,gBAAgB,CAAA;IACvB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAE5B,gBAAgB,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,CAAA;IAC7D,QAAQ,CAAgC;IAExC,YAAoC,OAA+B;QAC/D,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAwB;QAE/D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,IAAI,CAAE,MAAmB;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,iDAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AAvBD,wCAuBC;AAED,6CAA0B"} \ No newline at end of file diff --git a/dist/managers/DatabaseManager.d.ts b/dist/managers/DatabaseManager.d.ts new file mode 100644 index 0000000..0453fde --- /dev/null +++ b/dist/managers/DatabaseManager.d.ts @@ -0,0 +1 @@ +//# sourceMappingURL=DatabaseManager.d.ts.map \ No newline at end of file diff --git a/dist/managers/DatabaseManager.d.ts.map b/dist/managers/DatabaseManager.d.ts.map new file mode 100644 index 0000000..f2360e3 --- /dev/null +++ b/dist/managers/DatabaseManager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"DatabaseManager.d.ts","sourceRoot":"","sources":["../../src/managers/DatabaseManager.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/managers/DatabaseManager.js b/dist/managers/DatabaseManager.js new file mode 100644 index 0000000..b94be23 --- /dev/null +++ b/dist/managers/DatabaseManager.js @@ -0,0 +1,2 @@ +"use strict"; +//# sourceMappingURL=DatabaseManager.js.map \ No newline at end of file diff --git a/dist/managers/DatabaseManager.js.map b/dist/managers/DatabaseManager.js.map new file mode 100644 index 0000000..48f4462 --- /dev/null +++ b/dist/managers/DatabaseManager.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DatabaseManager.js","sourceRoot":"","sources":["../../src/managers/DatabaseManager.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/managers/GiveawaysCommandManager.d.ts b/dist/managers/GiveawaysCommandManager.d.ts index fa3cf9c..56254b7 100644 --- a/dist/managers/GiveawaysCommandManager.d.ts +++ b/dist/managers/GiveawaysCommandManager.d.ts @@ -1,6 +1,6 @@ import { BaseCommandManager } from "@tryforge/forgescript"; -import { GiveawaysEvents } from "./GiveawaysEventManager"; -export declare class GiveawaysCommandManager extends BaseCommandManager { +import { IGiveawayEvents } from "./GiveawaysEventManager"; +export declare class GiveawaysCommandManager extends BaseCommandManager { handlerName: string; } //# sourceMappingURL=GiveawaysCommandManager.d.ts.map \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.d.ts b/dist/managers/GiveawaysEventManager.d.ts index a38db7e..43c6065 100644 --- a/dist/managers/GiveawaysEventManager.d.ts +++ b/dist/managers/GiveawaysEventManager.d.ts @@ -1,7 +1,30 @@ import { BaseEventHandler, ForgeClient } from "@tryforge/forgescript"; -import { DatabaseType, IGiveawaysEvents } from "discord-giveaways-super"; -export type GiveawaysEvents = IGiveawaysEvents; -export declare class GiveawaysEventHandler extends BaseEventHandler { +import { IGiveaway } from "./GiveawaysManager"; +export interface IGiveawayEvents { + giveawayStart: [ + { + data: IGiveaway | null; + } + ]; + giveawayEnd: [ + { + data: IGiveaway | null; + } + ]; + giveawayEdit: [ + { + newData: IGiveaway | null; + oldData: IGiveaway | null; + } + ]; + giveawayReroll: [ + { + newData: IGiveaway | null; + oldData: IGiveaway | null; + } + ]; +} +export declare class GiveawaysEventHandler extends BaseEventHandler { register(client: ForgeClient): void; } //# sourceMappingURL=GiveawaysEventManager.d.ts.map \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.d.ts.map b/dist/managers/GiveawaysEventManager.d.ts.map index 4bffaa8..f1caad8 100644 --- a/dist/managers/GiveawaysEventManager.d.ts.map +++ b/dist/managers/GiveawaysEventManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAGxE,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;AAEjE,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAItC"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAG9C,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE;QAAC;YACZ,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;SACzB;KAAC,CAAA;IACF,WAAW,EAAE;QAAC;YACV,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;SACzB;KAAC,CAAA;IACF,YAAY,EAAE;QAAC;YACX,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;YACzB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;SAC5B;KAAC,CAAA;IACF,cAAc,EAAE;QAAC;YACb,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;YACzB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;SAC5B;KAAC,CAAA;CACL;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAItC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.js b/dist/managers/GiveawaysEventManager.js index f29a08e..9c162a5 100644 --- a/dist/managers/GiveawaysEventManager.js +++ b/dist/managers/GiveawaysEventManager.js @@ -6,7 +6,7 @@ const __1 = require(".."); class GiveawaysEventHandler extends forgescript_1.BaseEventHandler { register(client) { //@ts-ignore - client.getExtension(__1.ForgeGiveaways, true).giveawayManager.on(this.name, this.listener.bind(client)); + client.getExtension(__1.ForgeGiveaways, true).giveawaysManager.on(this.name, this.listener.bind(client)); } } exports.GiveawaysEventHandler = GiveawaysEventHandler; diff --git a/dist/managers/GiveawaysEventManager.js.map b/dist/managers/GiveawaysEventManager.js.map index 0a2b935..210cfcb 100644 --- a/dist/managers/GiveawaysEventManager.js.map +++ b/dist/managers/GiveawaysEventManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AAInC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,YAAY;QACZ,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACvG,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AAmBnC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,YAAY;QACZ,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACxG,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts new file mode 100644 index 0000000..ed95779 --- /dev/null +++ b/dist/managers/GiveawaysManager.d.ts @@ -0,0 +1,34 @@ +import { Context } from "@tryforge/forgescript"; +import { Snowflake } from "discord.js"; +import { ForgeGiveaways } from ".."; +export interface IGiveawayStartOptions { + prize: string; + duration: number; + winnersCount: number; + hostID: Snowflake; + guildID: Snowflake; + channelID: Snowflake; + requirements?: { + requiredRoles?: Snowflake[]; + restrictedRoles?: Snowflake[]; + restrictedMembers?: Snowflake[]; + }; +} +export interface IGiveaway extends IGiveawayStartOptions { + id: Snowflake; + messageID: Snowflake; + entries: Snowflake[]; + winners: Snowflake[]; +} +export declare class GiveawaysManager { + private readonly client; + private readonly giveaways; + constructor(client: ForgeGiveaways); + start(ctx: Context, options: IGiveawayStartOptions): Promise; + end(ctx: Context, id: Snowflake): Promise; + reroll(ctx: Context, id: Snowflake): Promise; + addEntry(id: Snowflake, userID: Snowflake): boolean; + removeEntry(id: Snowflake, userID: Snowflake): boolean; + private pickWinners; +} +//# sourceMappingURL=GiveawaysManager.d.ts.map \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map new file mode 100644 index 0000000..45334d2 --- /dev/null +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAc,SAAS,EAAiB,MAAM,YAAY,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,gBAAgB;IAGN,OAAO,CAAC,QAAQ,CAAC,MAAM;IAF1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;gBAE/B,MAAM,EAAE,cAAc;IAE7C,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IAsBlD,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IA4B/B,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAiBxC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAQzC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAWnD,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js new file mode 100644 index 0000000..4319fef --- /dev/null +++ b/dist/managers/GiveawaysManager.js @@ -0,0 +1,90 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GiveawaysManager = void 0; +const forgescript_1 = require("@tryforge/forgescript"); +const discord_js_1 = require("discord.js"); +class GiveawaysManager { + client; + giveaways = new discord_js_1.Collection(); + constructor(client) { + this.client = client; + } + async start(ctx, options) { + const id = discord_js_1.SnowflakeUtil.generate().toString(); + await forgescript_1.Interpreter.run({ + ...ctx.runtime, + data: forgescript_1.Compiler.compile(this.client.options.messages?.start), + doNotSend: false + }); + const giveaway = { + ...options, + id, + messageID: "", + entries: [], + winners: [] + }; + this.giveaways.set(id, giveaway); + setTimeout(() => this.end(ctx, id), options.duration); + return giveaway; + } + async end(ctx, id) { + const giveaway = this.giveaways.get(id); + if (!giveaway) + return null; + const eligibleEntries = giveaway.entries.filter(entry => { + const member = ctx.guild?.members.cache.get(entry); + if (!member) + return false; + const { requirements } = giveaway; + const hasRequiredRoles = requirements?.requiredRoles?.every(x => member.roles.cache.has(x)) ?? true; + const noRestrictedRoles = requirements?.restrictedRoles?.every(x => !member.roles.cache.has(x)) ?? true; + const notRestrictedMember = !requirements?.restrictedMembers?.includes(member.id); + return hasRequiredRoles && noRestrictedRoles && notRestrictedMember; + }); + const winners = this.pickWinners(eligibleEntries, giveaway.winnersCount); + giveaway.winners = winners; + await forgescript_1.Interpreter.run({ + ...ctx.runtime, + data: forgescript_1.Compiler.compile(this.client.options.messages?.end), + doNotSend: false, + }); + return giveaway; + } + async reroll(ctx, id) { + const giveaway = this.giveaways.get(id); + if (!giveaway) + return null; + const eligibleEntries = giveaway.entries.filter(e => !giveaway.winners.includes(e)); + const newWinners = this.pickWinners(eligibleEntries, giveaway.winnersCount); + giveaway.winners = newWinners; + await forgescript_1.Interpreter.run({ + ...ctx.runtime, + data: forgescript_1.Compiler.compile(this.client.options.messages?.reroll), + doNotSend: false, + }); + return giveaway; + } + addEntry(id, userID) { + const giveaway = this.giveaways.get(id); + if (!giveaway || giveaway.entries.includes(userID)) + return false; + giveaway.entries.push(userID); + return true; + } + removeEntry(id, userID) { + const giveaway = this.giveaways.get(id); + if (!giveaway) + return false; + const index = giveaway.entries.indexOf(userID); + if (index === -1) + return false; + giveaway.entries.splice(index, 1); + return true; + } + pickWinners(entries, amount) { + const shuffled = entries.sort(() => Math.random() - 0.5); + return shuffled.slice(0, amount); + } +} +exports.GiveawaysManager = GiveawaysManager; +//# sourceMappingURL=GiveawaysManager.js.map \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map new file mode 100644 index 0000000..53bda92 --- /dev/null +++ b/dist/managers/GiveawaysManager.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":";;;AAAA,uDAAsE;AACtE,2CAAiE;AAwBjE,MAAa,gBAAgB;IAGW;IAFnB,SAAS,GAAG,IAAI,uBAAU,EAAwB,CAAA;IAEnE,YAAoC,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAEvD,KAAK,CAAC,KAAK,CAAC,GAAY,EAAE,OAA8B;QAC3D,MAAM,EAAE,GAAG,0BAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAA;QAE9C,MAAM,yBAAW,CAAC,GAAG,CAAC;YAClB,GAAG,GAAG,CAAC,OAAO;YACd,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC;YAC3D,SAAS,EAAE,KAAK;SACnB,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG;YACb,GAAG,OAAO;YACV,EAAE;YACF,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;SACD,CAAA;QAEd,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QAChC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QACrD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,EAAa;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAE1B,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACpD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAClD,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAA;YAEzB,MAAM,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAA;YACjC,MAAM,gBAAgB,GAAG,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;YACnG,MAAM,iBAAiB,GAAG,YAAY,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;YACvG,MAAM,mBAAmB,GAAG,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAEjF,OAAO,gBAAgB,IAAI,iBAAiB,IAAI,mBAAmB,CAAA;QACvE,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QACxE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;QAE1B,MAAM,yBAAW,CAAC,GAAG,CAAC;YAClB,GAAG,GAAG,CAAC,OAAO;YACd,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;YACzD,SAAS,EAAE,KAAK;SACnB,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAY,EAAE,EAAa;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAE1B,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACnF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC3E,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAA;QAE7B,MAAM,yBAAW,CAAC,GAAG,CAAC;YAClB,GAAG,GAAG,CAAC,OAAO;YACd,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;YAC5D,SAAS,EAAE,KAAK;SACnB,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEM,QAAQ,CAAC,EAAa,EAAE,MAAiB;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAA;QAEhE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,WAAW,CAAC,EAAa,EAAE,MAAiB;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAA;QAE3B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC9C,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QAE9B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACjC,OAAO,IAAI,CAAA;IACf,CAAC;IAEO,WAAW,CAAC,OAAoB,EAAE,MAAc;QACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;QACxD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;CACJ;AA/FD,4CA+FC"} \ No newline at end of file diff --git a/dist/native/startGiveaway.d.ts b/dist/native/startGiveaway.d.ts index fb634bb..45f7f35 100644 --- a/dist/native/startGiveaway.d.ts +++ b/dist/native/startGiveaway.d.ts @@ -26,12 +26,11 @@ declare const _default: NativeFunction<[{ description: string; rest: false; required: true; - type: ArgType.String; + type: ArgType.Time; }, { name: string; description: string; rest: false; - required: false; type: ArgType.Number; }], true>; export default _default; diff --git a/dist/native/startGiveaway.d.ts.map b/dist/native/startGiveaway.d.ts.map index 8c6420c..374030f 100644 --- a/dist/native/startGiveaway.d.ts.map +++ b/dist/native/startGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"startGiveaway.d.ts","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;;;;;;;eAepC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAblC,wBAgEE"} \ No newline at end of file +{"version":3,"file":"startGiveaway.d.ts","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;;;;;;;eAgBpC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;AAblC,wBA4DE"} \ No newline at end of file diff --git a/dist/native/startGiveaway.js b/dist/native/startGiveaway.js index 6b3b9e1..8043f51 100644 --- a/dist/native/startGiveaway.js +++ b/dist/native/startGiveaway.js @@ -38,31 +38,27 @@ exports.default = new forgescript_1.NativeFunction({ description: "The duration for this giveaway.", rest: false, required: true, - type: forgescript_1.ArgType.String + type: forgescript_1.ArgType.Time }, { name: "winners", description: "How many winners this giveaway will have", rest: false, - required: false, type: forgescript_1.ArgType.Number } ], - output: forgescript_1.ArgType.Number, - async execute(ctx, [channel, host, prize, time, winners]) { + output: forgescript_1.ArgType.String, + async execute(ctx, [channel, host, prize, duration, winners]) { const client = ctx.client.getExtension(__1.ForgeGiveaways, true); - const giveaway = await client.giveawayManager?.start({ + const giveaway = await client.giveawaysManager.start(ctx, { guildID: channel.guildId, channelID: channel.id, - hostMemberID: host.id, - time, + hostID: host.id, + duration, prize, - winnersCount: winners || 1, - defineEmbedStrings(giveaway, host) { - return {}; - } + winnersCount: winners || 1 }); - return this.success(giveaway?.id); + return this.success(giveaway.id); } }); //# sourceMappingURL=startGiveaway.js.map \ No newline at end of file diff --git a/dist/native/startGiveaway.js.map b/dist/native/startGiveaway.js.map index 3d142fc..eccb0b2 100644 --- a/dist/native/startGiveaway.js.map +++ b/dist/native/startGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,0BAAmC;AAGnC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC;QACpD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC;YACjD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,YAAY,EAAE,IAAI,CAAC,EAAE;YACrB,IAAI;YACJ,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;YAC1B,kBAAkB,CAAC,QAAQ,EAAE,IAAI;gBAC7B,OAAO,EAAE,CAAA;YACb,CAAC;SACJ,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,0BAAmC;AAEnC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE;YACtD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ;YACR,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;SAC7B,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACpC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 8571851..5922342 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE43PyQ6CQAyA4XfpeSJCggtX43YwPoDx0ECFiUMhMw1KDO/uScISiOf+/dLePiD0FojgUNiUjroifGHtQEGJkkEEsUHnyHn9+SKT3ICCp+YEIj/YNKqV2mhX5DlyckHGlOyYnAj/svcVsZyQEzMrd7M59/zbuJaiC+78r1nIPjAm5w2jPhiEq8lDO57U5ejAobTcrv0waO5fpd+JyZ4BAAA=" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE43QzQrCMAzA8XfJuTgcKNKr+LGD+ADiIWxxK27paMNUxHcXBEfL3PCcPz+SnJ4gdBfQsLWupJ3pCG/48KCgRalAQ16j9+STeD6rpKlBwdVwAXqerl6ql/pobZsGuTggY0luSI6Ef9mbjlj2yEU9KYfZlJvF5x1bMZaDLxgWchfMySe/0xhPF8sQ/8afbUbUuBly5zcvr2zyqwEAAA==" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 32e0c4b..fff3d09 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE6WXy27bMBBF/2W8JRwP9da26COLtrtuCKMQJMYWakuGpDgNBP17oSdJk3boepVAmnuGM7oc0i1U5VsNMWvhT15kEFPPJ1AkRw4xPH/Nzzx5S95/npq8LGog8FodIIa8aHj1kqS8frqMWe+b4wEIpIekrnkNMUBHZjhuqLvQT0mztyaupmgJS+CUVLxoTAu9kpKfedHYl7Fa4u9PS8Ml65ey2vE5VGSfmE/q65v985Au1LQs6qZ6TZuyskGu1HhzQRcrvdLF4Y9NyinwkVwZr9MqH9prlVKNfyTzmVe1bVYR+0jGtDwekyKzcshKCn4k524K+J4UyY7bOUnXPLKC8mK23MosYu/MSDeu2I95kTdW6abAe6uTtv7y/tP4ua61+Uqc/TDdJ0V24NUP09a8BV+pQnOp16qQ+xsF6FG97s/qxG3eT/KCxre3qzR1c9B9G1d+vVw56mYOxR0V3+V1cxd3JWk+6KCy8m5LIC8y/hfidpk3MdC1s46AwEvOD1l/Ns8Tt9/zPY9AVqavw7/bKewX7wd7HzxGP22AsA2h7jp0o+2WsFk8vBgezAzxZBAiEIYmIWpCVIQUCKMmIdWEVBE6QJhjEjqa0FGELhDmmoSuJnQVoQeEeSahpwk9RegDYb5J6GtCXxEGQFhgEgaaMFCEIRAWmoShJgwVYQSERSZhpAkj1QC9H9DoHdTNgxfuGexj9o/BQKqDsPcFGj2EuolQdRH23kCjj1A3EqpOwt4faPQS6mZC1U3YewSNfkLdUKg6CnufoNFTqJtqejTMjTOvGp49j/ODMen60MLvaawsY62FEOK268QQidtOmiP9uzG3dEsUHFdwXCuOcg8THF9wfCvOfAMXCCoQ1Arx0h/Uu+WgllCOQDlWqJlynI9xwYoEK7qLVU/fzcBEqVa0K3ahDo3bz0ekxPQkpvcfTKWDKBkD7ZwxrWk80iSS9DHQ7mvk88KWa6HAbQRtYwcb7nrSelBaD1ohLkuSOm3XaEMdKBWCdpWMv5QlhESwAojbjASRdi7abd3lR5GgBAISfMzYEjjlJ37ICw4x23bdP5mKx1mtEAAA"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7WYW2/aQBCF/8vwuiLMgA34tUovD22lVuqLhSILb4hVsJHtpK0Q/71aX2fZNVmH9ikRnnP27Prbm0+QZ78KCMIT/EzSGALyfAFpdJAQwKf3Wb6TH5IXGf2K/hRfj2WSpQUIeM73EECSljJ/jLayuLNXTp/Kwx4EbPdRUcgCAoCzaBvCGS26luSLTMuxzpNOxRoQcIxymZbD8QciHGRRRDs5OgTTvTGG73nzftAfHso/R/nWFNNOPibMtOvEwOAUZZSXN2aatiZvStZ2bAigNL41Xm3xP8LlMs/2+1vzdS7/KiKtuoS6tkvatHSnP746rT2kznWbpUWZP2/LLHexnOj19m5eJB0Y8eqPS5NN4S1txbLY5kk13E5N6vW3tPwi88K11b72lhZ3bcHnKI120u21WkS3ZNhmh0OUxk6UTljxLW1mF1vftSb72pEt0mzRz8gkTUqn5prCsb1jk797/q4erKF3O1Dnvss/RWm8l/kX2+S8Zj7RhfauDvWCjS8/2rTl98MnD73EvZst798HN02L8+RSNbDKX+R+JcL9wLZ4LcD9tX1wZPNxMn4AGtE/CfBteOe9FuHbK1vtcAjbtKqqPtYID3PPq66ypi0TudwlRTnKd8I0r0wlLfl5IyBJY/kbglO39QRA0/l0DQIeE7mP1U2i3XzV0qv8BMTZ9rn6d9OU/ZBqj1fFdfXdDEQ4E7SaeuRvNiJsxdWD6ofWo/+lEiKIEG1CNISoCQlESDYhGULShHMQ4dwmnBvCuSZcgAgXNuHCEC40oQci9GxCzxB6mtAHEfo2oW8IfU24BBEubcKlIVxqwhWIcGUTrgzhShOuQYRrm3BtCNc6AIoHtLKDJjx4QU+Fj50fC0A6Qai4QCtDaEKEOkWo2EArR2iChDpJqPhAK0towoQ6TagYQStPaAKFOlGoOEErU2hChTpVqFhBK1dogoU6Wah4QStbaMKFOl2omEErX2gChjphpJghK2FkEkY6YaSYISthZBJGF2tUtUjZVynLMqUTRooZshJGJmGkE0aKGbISRiZhzU/V/vAi81LGn+p9Igy7zxkneGg2j3m7eZ1gDsHpfO63iuB0ZruFeta2XJ/hexNkLuhqw26XvdOqN1o5+Wj3N5ZoxhLNnJyqLw69g9cbeG765uzKQrAMThaP6oLQXdC41bK3WjpZtS6yOr/1RsRCkVuqzkofIGJDTG5D3Dq1H0+YGTEzGmVWNEQe2osSewE+ewP+ONfqdT6150SWlLFObqx3nraIrOM4suP13YR5rZnX2smr6WB9SGROjDd0Ay7R4e3u3b0p48UNl6Qjz5xabKFAt5WivpozCzbD0W2K91+XGQ8MByeTy7FmL83tnVmGFhesLwsnl/7ewfrCbMjV5nIqsznnNuUMjlkKtxDd5zQ2InzxdVjnNgKOyVHuk1RCEG7O579JpUIPjBkAAA=="; \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index b60e48c..20f9720 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,7 +1,7 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawayManager: null | Giveaways<JSON, `${string}.json`, IDatabaseStructure>
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 53e7435..f93f773 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    • Rest...commands: (BaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"> | IBaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">)[]

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • Rest...args: Parameters<ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]>

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    • type:
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"
    • Optionalfn: ((cmd: BaseCommand<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">) => boolean)
        • (cmd): boolean
        • Parameters

          • cmd: BaseCommand<
                | "giveawayStart"
                | "giveawayRestart"
                | "giveawayEnd"
                | "giveawayLengthExtend"
                | "giveawayLengthReduce"
                | "ready"
                | "databaseConnect"
                | "giveawayReroll"
                | "giveawayEdit">

          Returns boolean

    Returns BaseCommand<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • event: U
    • listener: ICommandManagerEvents<
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit">[U]

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit">[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 03ad8cc..e9a54e6 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

  • Type Parameters

    • T extends
          | "giveawayStart"
          | "giveawayRestart"
          | "giveawayEnd"
          | "giveawayLengthExtend"
          | "giveawayLengthReduce"
          | "ready"
          | "databaseConnect"
          | "giveawayReroll"
          | "giveawayEdit"

    Parameters

    Returns GiveawaysEventHandler<T>

Properties

data: IEvent<GiveawaysEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html new file mode 100644 index 0000000..dcb01a5 --- /dev/null +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -0,0 +1,3 @@ +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html new file mode 100644 index 0000000..ad699bb --- /dev/null +++ b/docs/interfaces/IGiveawayEvents.html @@ -0,0 +1,5 @@ +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayEnd: [{
        data: null | IGiveaway;
    }];
    giveawayReroll: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayStart: [{
        data: null | IGiveaway;
    }];
}

Properties

giveawayEdit: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayEnd: [{
    data: null | IGiveaway;
}]
giveawayReroll: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayStart: [{
    data: null | IGiveaway;
}]
diff --git a/docs/interfaces/IGiveawayOptions.html b/docs/interfaces/IGiveawayOptions.html deleted file mode 100644 index 76625d4..0000000 --- a/docs/interfaces/IGiveawayOptions.html +++ /dev/null @@ -1,3 +0,0 @@ -IGiveawayOptions | forge.giveaways

Interface IGiveawayOptions

interface IGiveawayOptions {
    events?:
        | "giveawayStart"
        | "giveawayRestart"
        | "giveawayEnd"
        | "giveawayLengthExtend"
        | "giveawayLengthReduce"
        | "ready"
        | "databaseConnect"
        | "giveawayReroll"
        | "giveawayEdit";
    path: `${string}.json`;
}

Properties

Properties

events?:
    | "giveawayStart"
    | "giveawayRestart"
    | "giveawayEnd"
    | "giveawayLengthExtend"
    | "giveawayLengthReduce"
    | "ready"
    | "databaseConnect"
    | "giveawayReroll"
    | "giveawayEdit"
path: `${string}.json`
diff --git a/docs/modules.html b/docs/modules.html index d45f7c3..d3b4bdf 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -1,6 +1,6 @@ forge.giveaways
diff --git a/docs/types/GiveawaysEvents.html b/docs/types/GiveawaysEvents.html deleted file mode 100644 index 986a7fd..0000000 --- a/docs/types/GiveawaysEvents.html +++ /dev/null @@ -1 +0,0 @@ -GiveawaysEvents | forge.giveaways

Type Alias GiveawaysEvents

GiveawaysEvents: IGiveawaysEvents<DatabaseType.JSON>
diff --git a/metadata/events.json b/metadata/events.json index 507f3dc..8011b72 100644 --- a/metadata/events.json +++ b/metadata/events.json @@ -1 +1 @@ -[{"name":"databaseConnect","version":"1.0.0","description":"This event is fired when the client connected to the giveaway database"},{"name":"giveawayEdit","version":"1.0.0","description":"This event is fired when a giveaway was edited"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayRestart","version":"1.0.0","description":"This event is fired when a giveaway was restarted"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file +[{"name":"giveawayEdit","version":"1.0.0","description":"This event is fired when a giveaway was edited"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file diff --git a/metadata/functions.json b/metadata/functions.json index 84d5c16..27d3bbe 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"String"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"required":false,"type":"Number"}],"output":["Number"]}] \ No newline at end of file +[{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"]}] \ No newline at end of file diff --git a/metadata/paths.json b/metadata/paths.json new file mode 100644 index 0000000..68a71c5 --- /dev/null +++ b/metadata/paths.json @@ -0,0 +1 @@ +{"functions":"src/native","events":"src/events"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 31ecf58..0b2d151 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,729 +9,27 @@ "version": "1.0.0", "license": "GPL-3.0", "dependencies": { - "discord-giveaways-super": "^1.1.1" + "@tryforge/forge.db": "^2.1.1", + "better-sqlite3": "^11.10.0" }, "devDependencies": { - "@tryforge/forgescript": "^2.3.0", - "discord.js": "^14.21.0", + "@tryforge/forgescript": "^2.5.0", + "discord.js": "^14.23.2", "typedoc": "^0.26.11", "typescript": "^5.6.3" } }, - "node_modules/@aws-crypto/sha256-browser": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", - "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/sha256-js": "^5.2.0", - "@aws-crypto/supports-web-crypto": "^5.2.0", - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", - "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", - "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha256-js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", - "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-crypto/supports-web-crypto": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", - "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", - "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", - "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", - "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.859.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.859.0.tgz", - "integrity": "sha512-/eqkQbMZyxDnKnd7suVur6cfKbFslvLxfi7dVp/B3gV+aL0G67iS9atkdi227KDMzlzDCcj6GrpLCk2u9aPDMg==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.858.0", - "@aws-sdk/credential-provider-node": "3.859.0", - "@aws-sdk/middleware-host-header": "3.840.0", - "@aws-sdk/middleware-logger": "3.840.0", - "@aws-sdk/middleware-recursion-detection": "3.840.0", - "@aws-sdk/middleware-user-agent": "3.858.0", - "@aws-sdk/region-config-resolver": "3.840.0", - "@aws-sdk/types": "3.840.0", - "@aws-sdk/util-endpoints": "3.848.0", - "@aws-sdk/util-user-agent-browser": "3.840.0", - "@aws-sdk/util-user-agent-node": "3.858.0", - "@smithy/config-resolver": "^4.1.4", - "@smithy/core": "^3.7.2", - "@smithy/fetch-http-handler": "^5.1.0", - "@smithy/hash-node": "^4.0.4", - "@smithy/invalid-dependency": "^4.0.4", - "@smithy/middleware-content-length": "^4.0.4", - "@smithy/middleware-endpoint": "^4.1.17", - "@smithy/middleware-retry": "^4.1.18", - "@smithy/middleware-serde": "^4.0.8", - "@smithy/middleware-stack": "^4.0.4", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/node-http-handler": "^4.1.0", - "@smithy/protocol-http": "^5.1.2", - "@smithy/smithy-client": "^4.4.9", - "@smithy/types": "^4.3.1", - "@smithy/url-parser": "^4.0.4", - "@smithy/util-base64": "^4.0.0", - "@smithy/util-body-length-browser": "^4.0.0", - "@smithy/util-body-length-node": "^4.0.0", - "@smithy/util-defaults-mode-browser": "^4.0.25", - "@smithy/util-defaults-mode-node": "^4.0.25", - "@smithy/util-endpoints": "^3.0.6", - "@smithy/util-middleware": "^4.0.4", - "@smithy/util-retry": "^4.0.6", - "@smithy/util-utf8": "^4.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/client-sso": { - "version": "3.858.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.858.0.tgz", - "integrity": "sha512-iXuZQs4KH6a3Pwnt0uORalzAZ5EXRPr3lBYAsdNwkP8OYyoUz5/TE3BLyw7ceEh0rj4QKGNnNALYo1cDm0EV8w==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.858.0", - "@aws-sdk/middleware-host-header": "3.840.0", - "@aws-sdk/middleware-logger": "3.840.0", - "@aws-sdk/middleware-recursion-detection": "3.840.0", - "@aws-sdk/middleware-user-agent": "3.858.0", - "@aws-sdk/region-config-resolver": "3.840.0", - "@aws-sdk/types": "3.840.0", - "@aws-sdk/util-endpoints": "3.848.0", - "@aws-sdk/util-user-agent-browser": "3.840.0", - "@aws-sdk/util-user-agent-node": "3.858.0", - "@smithy/config-resolver": "^4.1.4", - "@smithy/core": "^3.7.2", - "@smithy/fetch-http-handler": "^5.1.0", - "@smithy/hash-node": "^4.0.4", - "@smithy/invalid-dependency": "^4.0.4", - "@smithy/middleware-content-length": "^4.0.4", - "@smithy/middleware-endpoint": "^4.1.17", - "@smithy/middleware-retry": "^4.1.18", - "@smithy/middleware-serde": "^4.0.8", - "@smithy/middleware-stack": "^4.0.4", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/node-http-handler": "^4.1.0", - "@smithy/protocol-http": "^5.1.2", - "@smithy/smithy-client": "^4.4.9", - "@smithy/types": "^4.3.1", - "@smithy/url-parser": "^4.0.4", - "@smithy/util-base64": "^4.0.0", - "@smithy/util-body-length-browser": "^4.0.0", - "@smithy/util-body-length-node": "^4.0.0", - "@smithy/util-defaults-mode-browser": "^4.0.25", - "@smithy/util-defaults-mode-node": "^4.0.25", - "@smithy/util-endpoints": "^3.0.6", - "@smithy/util-middleware": "^4.0.4", - "@smithy/util-retry": "^4.0.6", - "@smithy/util-utf8": "^4.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/core": { - "version": "3.858.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.858.0.tgz", - "integrity": "sha512-iWm4QLAS+/XMlnecIU1Y33qbBr1Ju+pmWam3xVCPlY4CSptKpVY+2hXOnmg9SbHAX9C005fWhrIn51oDd00c9A==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.840.0", - "@aws-sdk/xml-builder": "3.821.0", - "@smithy/core": "^3.7.2", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/property-provider": "^4.0.4", - "@smithy/protocol-http": "^5.1.2", - "@smithy/signature-v4": "^5.1.2", - "@smithy/smithy-client": "^4.4.9", - "@smithy/types": "^4.3.1", - "@smithy/util-base64": "^4.0.0", - "@smithy/util-body-length-browser": "^4.0.0", - "@smithy/util-middleware": "^4.0.4", - "@smithy/util-utf8": "^4.0.0", - "fast-xml-parser": "5.2.5", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.859.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.859.0.tgz", - "integrity": "sha512-yLE+elWP047hANzQUBs67u1vsag/5j5EWjHUtfT5a4TrYHKtUcD9urhk1frvt+HhUoEzdXl8pt9bMQCHLOQU7w==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/client-cognito-identity": "3.859.0", - "@aws-sdk/types": "3.840.0", - "@smithy/property-provider": "^4.0.4", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.858.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.858.0.tgz", - "integrity": "sha512-kZsGyh2BoSRguzlcGtzdLhw/l/n3KYAC+/l/H0SlsOq3RLHF6tO/cRdsLnwoix2bObChHUp03cex63o1gzdx/Q==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/core": "3.858.0", - "@aws-sdk/types": "3.840.0", - "@smithy/property-provider": "^4.0.4", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.858.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.858.0.tgz", - "integrity": "sha512-GDnfYl3+NPJQ7WQQYOXEA489B212NinpcIDD7rpsB6IWUPo8yDjT5NceK4uUkIR3MFpNCGt9zd/z6NNLdB2fuQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/core": "3.858.0", - "@aws-sdk/types": "3.840.0", - "@smithy/fetch-http-handler": "^5.1.0", - "@smithy/node-http-handler": "^4.1.0", - "@smithy/property-provider": "^4.0.4", - "@smithy/protocol-http": "^5.1.2", - "@smithy/smithy-client": "^4.4.9", - "@smithy/types": "^4.3.1", - "@smithy/util-stream": "^4.2.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.859.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.859.0.tgz", - "integrity": "sha512-KsccE1T88ZDNhsABnqbQj014n5JMDilAroUErFbGqu5/B3sXqUsYmG54C/BjvGTRUFfzyttK9lB9P9h6ddQ8Cw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/core": "3.858.0", - "@aws-sdk/credential-provider-env": "3.858.0", - "@aws-sdk/credential-provider-http": "3.858.0", - "@aws-sdk/credential-provider-process": "3.858.0", - "@aws-sdk/credential-provider-sso": "3.859.0", - "@aws-sdk/credential-provider-web-identity": "3.858.0", - "@aws-sdk/nested-clients": "3.858.0", - "@aws-sdk/types": "3.840.0", - "@smithy/credential-provider-imds": "^4.0.6", - "@smithy/property-provider": "^4.0.4", - "@smithy/shared-ini-file-loader": "^4.0.4", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.859.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.859.0.tgz", - "integrity": "sha512-ZRDB2xU5aSyTR/jDcli30tlycu6RFvQngkZhBs9Zoh2BiYXrfh2MMuoYuZk+7uD6D53Q2RIEldDHR9A/TPlRuA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/credential-provider-env": "3.858.0", - "@aws-sdk/credential-provider-http": "3.858.0", - "@aws-sdk/credential-provider-ini": "3.859.0", - "@aws-sdk/credential-provider-process": "3.858.0", - "@aws-sdk/credential-provider-sso": "3.859.0", - "@aws-sdk/credential-provider-web-identity": "3.858.0", - "@aws-sdk/types": "3.840.0", - "@smithy/credential-provider-imds": "^4.0.6", - "@smithy/property-provider": "^4.0.4", - "@smithy/shared-ini-file-loader": "^4.0.4", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.858.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.858.0.tgz", - "integrity": "sha512-l5LJWZJMRaZ+LhDjtupFUKEC5hAjgvCRrOvV5T60NCUBOy0Ozxa7Sgx3x+EOwiruuoh3Cn9O+RlbQlJX6IfZIw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/core": "3.858.0", - "@aws-sdk/types": "3.840.0", - "@smithy/property-provider": "^4.0.4", - "@smithy/shared-ini-file-loader": "^4.0.4", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.859.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.859.0.tgz", - "integrity": "sha512-BwAqmWIivhox5YlFRjManFF8GoTvEySPk6vsJNxDsmGsabY+OQovYxFIYxRCYiHzH7SFjd4Lcd+riJOiXNsvRw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/client-sso": "3.858.0", - "@aws-sdk/core": "3.858.0", - "@aws-sdk/token-providers": "3.859.0", - "@aws-sdk/types": "3.840.0", - "@smithy/property-provider": "^4.0.4", - "@smithy/shared-ini-file-loader": "^4.0.4", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.858.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.858.0.tgz", - "integrity": "sha512-8iULWsH83iZDdUuiDsRb83M0NqIlXjlDbJUIddVsIrfWp4NmanKw77SV6yOZ66nuJjPsn9j7RDb9bfEPCy5SWA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/core": "3.858.0", - "@aws-sdk/nested-clients": "3.858.0", - "@aws-sdk/types": "3.840.0", - "@smithy/property-provider": "^4.0.4", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/credential-providers": { - "version": "3.859.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.859.0.tgz", - "integrity": "sha512-A1AktWEbrTiLjurNFrKOhMbdDKstDpm7vN5oPbZ43L52c3mg5AOYtQgb8/A4otkw482BiFrWgeCBwsH9HlpfxA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/client-cognito-identity": "3.859.0", - "@aws-sdk/core": "3.858.0", - "@aws-sdk/credential-provider-cognito-identity": "3.859.0", - "@aws-sdk/credential-provider-env": "3.858.0", - "@aws-sdk/credential-provider-http": "3.858.0", - "@aws-sdk/credential-provider-ini": "3.859.0", - "@aws-sdk/credential-provider-node": "3.859.0", - "@aws-sdk/credential-provider-process": "3.858.0", - "@aws-sdk/credential-provider-sso": "3.859.0", - "@aws-sdk/credential-provider-web-identity": "3.858.0", - "@aws-sdk/nested-clients": "3.858.0", - "@aws-sdk/types": "3.840.0", - "@smithy/config-resolver": "^4.1.4", - "@smithy/core": "^3.7.2", - "@smithy/credential-provider-imds": "^4.0.6", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/property-provider": "^4.0.4", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.840.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.840.0.tgz", - "integrity": "sha512-ub+hXJAbAje94+Ya6c6eL7sYujoE8D4Bumu1NUI8TXjUhVVn0HzVWQjpRLshdLsUp1AW7XyeJaxyajRaJQ8+Xg==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.840.0", - "@smithy/protocol-http": "^5.1.2", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/middleware-logger": { - "version": "3.840.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.840.0.tgz", - "integrity": "sha512-lSV8FvjpdllpGaRspywss4CtXV8M7NNNH+2/j86vMH+YCOZ6fu2T/TyFd/tHwZ92vDfHctWkRbQxg0bagqwovA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.840.0", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.840.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.840.0.tgz", - "integrity": "sha512-Gu7lGDyfddyhIkj1Z1JtrY5NHb5+x/CRiB87GjaSrKxkDaydtX2CU977JIABtt69l9wLbcGDIQ+W0uJ5xPof7g==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.840.0", - "@smithy/protocol-http": "^5.1.2", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.858.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.858.0.tgz", - "integrity": "sha512-pC3FT/sRZ6n5NyXiTVu9dpf1D9j3YbJz3XmeOOwJqO/Mib2PZyIQktvNMPgwaC5KMVB1zWqS5bmCwxpMOnq0UQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/core": "3.858.0", - "@aws-sdk/types": "3.840.0", - "@aws-sdk/util-endpoints": "3.848.0", - "@smithy/core": "^3.7.2", - "@smithy/protocol-http": "^5.1.2", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/nested-clients": { - "version": "3.858.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.858.0.tgz", - "integrity": "sha512-ChdIj80T2whoWbovmO7o8ICmhEB2S9q4Jes9MBnKAPm69PexcJAK2dQC8yI4/iUP8b3+BHZoUPrYLWjBxIProQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.858.0", - "@aws-sdk/middleware-host-header": "3.840.0", - "@aws-sdk/middleware-logger": "3.840.0", - "@aws-sdk/middleware-recursion-detection": "3.840.0", - "@aws-sdk/middleware-user-agent": "3.858.0", - "@aws-sdk/region-config-resolver": "3.840.0", - "@aws-sdk/types": "3.840.0", - "@aws-sdk/util-endpoints": "3.848.0", - "@aws-sdk/util-user-agent-browser": "3.840.0", - "@aws-sdk/util-user-agent-node": "3.858.0", - "@smithy/config-resolver": "^4.1.4", - "@smithy/core": "^3.7.2", - "@smithy/fetch-http-handler": "^5.1.0", - "@smithy/hash-node": "^4.0.4", - "@smithy/invalid-dependency": "^4.0.4", - "@smithy/middleware-content-length": "^4.0.4", - "@smithy/middleware-endpoint": "^4.1.17", - "@smithy/middleware-retry": "^4.1.18", - "@smithy/middleware-serde": "^4.0.8", - "@smithy/middleware-stack": "^4.0.4", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/node-http-handler": "^4.1.0", - "@smithy/protocol-http": "^5.1.2", - "@smithy/smithy-client": "^4.4.9", - "@smithy/types": "^4.3.1", - "@smithy/url-parser": "^4.0.4", - "@smithy/util-base64": "^4.0.0", - "@smithy/util-body-length-browser": "^4.0.0", - "@smithy/util-body-length-node": "^4.0.0", - "@smithy/util-defaults-mode-browser": "^4.0.25", - "@smithy/util-defaults-mode-node": "^4.0.25", - "@smithy/util-endpoints": "^3.0.6", - "@smithy/util-middleware": "^4.0.4", - "@smithy/util-retry": "^4.0.6", - "@smithy/util-utf8": "^4.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.840.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.840.0.tgz", - "integrity": "sha512-Qjnxd/yDv9KpIMWr90ZDPtRj0v75AqGC92Lm9+oHXZ8p1MjG5JE2CW0HL8JRgK9iKzgKBL7pPQRXI8FkvEVfrA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.840.0", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/types": "^4.3.1", - "@smithy/util-config-provider": "^4.0.0", - "@smithy/util-middleware": "^4.0.4", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/token-providers": { - "version": "3.859.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.859.0.tgz", - "integrity": "sha512-6P2wlvm9KBWOvRNn0Pt8RntnXg8fzOb5kEShvWsOsAocZeqKNaYbihum5/Onq1ZPoVtkdb++8eWDocDnM4k85Q==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/core": "3.858.0", - "@aws-sdk/nested-clients": "3.858.0", - "@aws-sdk/types": "3.840.0", - "@smithy/property-provider": "^4.0.4", - "@smithy/shared-ini-file-loader": "^4.0.4", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/types": { - "version": "3.840.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.840.0.tgz", - "integrity": "sha512-xliuHaUFZxEx1NSXeLLZ9Dyu6+EJVQKEoD+yM+zqUo3YDZ7medKJWY6fIOKiPX/N7XbLdBYwajb15Q7IL8KkeA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/util-endpoints": { - "version": "3.848.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.848.0.tgz", - "integrity": "sha512-fY/NuFFCq/78liHvRyFKr+aqq1aA/uuVSANjzr5Ym8c+9Z3HRPE9OrExAHoMrZ6zC8tHerQwlsXYYH5XZ7H+ww==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.840.0", - "@smithy/types": "^4.3.1", - "@smithy/url-parser": "^4.0.4", - "@smithy/util-endpoints": "^3.0.6", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/util-locate-window": { - "version": "3.804.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.804.0.tgz", - "integrity": "sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.840.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.840.0.tgz", - "integrity": "sha512-JdyZM3EhhL4PqwFpttZu1afDpPJCCc3eyZOLi+srpX11LsGj6sThf47TYQN75HT1CarZ7cCdQHGzP2uy3/xHfQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.840.0", - "@smithy/types": "^4.3.1", - "bowser": "^2.11.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.858.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.858.0.tgz", - "integrity": "sha512-T1m05QlN8hFpx5/5duMjS8uFSK5e6EXP45HQRkZULVkL3DK+jMaxsnh3KLl5LjUoHn/19M4HM0wNUBhYp4Y2Yw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@aws-sdk/middleware-user-agent": "3.858.0", - "@aws-sdk/types": "3.840.0", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "aws-crt": ">=1.0.0" - }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } - } - }, - "node_modules/@aws-sdk/xml-builder": { - "version": "3.821.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.821.0.tgz", - "integrity": "sha512-DIIotRnefVL6DiaHtO6/21DhJ4JZnnIwdNbpwiAhdt/AVbttcE4yw925gsjur0OGv5BTYXQXU3YnANBYnZjuQA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/@discordjs/builders": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.11.2.tgz", - "integrity": "sha512-F1WTABdd8/R9D1icJzajC4IuLyyS8f3rTOz66JsSI3pKvpCAtsMBweu8cyNYsIyvcrKAVn9EPK+Psoymq+XC0A==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.12.2.tgz", + "integrity": "sha512-AugKmrgRJOHXEyMkABH/hXpAmIBKbYokCEl9VAM4Kh6FvkdobQ+Zhv7AR6K+y5hS7+VQ7gKXPYCe1JQmV07H1g==", + "dev": true, "license": "Apache-2.0", "dependencies": { "@discordjs/formatters": "^0.6.1", "@discordjs/util": "^1.1.1", "@sapphire/shapeshift": "^4.0.0", - "discord-api-types": "^0.38.1", + "discord-api-types": "^0.38.26", "fast-deep-equal": "^3.1.3", "ts-mixer": "^6.0.4", "tslib": "^2.6.3" @@ -747,6 +45,7 @@ "version": "1.5.3", "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.5.3.tgz", "integrity": "sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==", + "dev": true, "license": "Apache-2.0", "engines": { "node": ">=16.11.0" @@ -756,6 +55,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/@discordjs/formatters/-/formatters-0.6.1.tgz", "integrity": "sha512-5cnX+tASiPCqCWtFcFslxBVUaCetB0thvM/JyavhbXInP1HJIEU+Qv/zMrnuwSsX3yWH2lVXNJZeDK3EiP4HHg==", + "dev": true, "license": "Apache-2.0", "dependencies": { "discord-api-types": "^0.38.1" @@ -768,9 +68,10 @@ } }, "node_modules/@discordjs/rest": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-2.5.1.tgz", - "integrity": "sha512-Tg9840IneBcbrAjcGaQzHUJWFNq1MMWZjTdjJ0WS/89IffaNKc++iOvffucPxQTF/gviO9+9r8kEPea1X5J2Dw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-2.6.0.tgz", + "integrity": "sha512-RDYrhmpB7mTvmCKcpj+pc5k7POKszS4E2O9TYc+U+Y4iaCP+r910QdO43qmpOja8LRr1RJ0b3U+CqVsnPqzf4w==", + "dev": true, "license": "Apache-2.0", "dependencies": { "@discordjs/collection": "^2.1.1", @@ -778,7 +79,7 @@ "@sapphire/async-queue": "^1.5.3", "@sapphire/snowflake": "^3.5.3", "@vladfrangu/async_event_emitter": "^2.4.6", - "discord-api-types": "^0.38.1", + "discord-api-types": "^0.38.16", "magic-bytes.js": "^1.10.0", "tslib": "^2.6.3", "undici": "6.21.3" @@ -794,6 +95,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-2.1.1.tgz", "integrity": "sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg==", + "dev": true, "license": "Apache-2.0", "engines": { "node": ">=18" @@ -806,6 +108,7 @@ "version": "6.21.3", "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.3.tgz", "integrity": "sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==", + "dev": true, "license": "MIT", "engines": { "node": ">=18.17" @@ -815,6 +118,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/@discordjs/util/-/util-1.1.1.tgz", "integrity": "sha512-eddz6UnOBEB1oITPinyrB2Pttej49M9FZQY8NxgEvc3tq6ZICZ19m70RsmzRdDHk80O9NoYN/25AqJl8vPVf/g==", + "dev": true, "license": "Apache-2.0", "engines": { "node": ">=18" @@ -827,6 +131,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/@discordjs/ws/-/ws-1.2.3.tgz", "integrity": "sha512-wPlQDxEmlDg5IxhJPuxXr3Vy9AjYq5xCvFWGJyD7w7Np8ZGu+Mc+97LCoEc/+AYCo2IDpKioiH0/c/mj5ZR9Uw==", + "dev": true, "license": "Apache-2.0", "dependencies": { "@discordjs/collection": "^2.1.0", @@ -850,6 +155,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-2.1.1.tgz", "integrity": "sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg==", + "dev": true, "license": "Apache-2.0", "engines": { "node": ">=18" @@ -868,20 +174,38 @@ "node": ">=14" } }, - "node_modules/@mongodb-js/saslprep": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.3.0.tgz", - "integrity": "sha512-zlayKCsIjYb7/IdfqxorK5+xUMyi4vOKcFy10wKJYc63NSdKI8mNME+uJqfatkPmOSMMUiojrL58IePKBm3gvQ==", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "license": "MIT", "optional": true, - "dependencies": { - "sparse-bitfield": "^3.0.3" + "engines": { + "node": ">=14" } }, "node_modules/@sapphire/async-queue": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.5.5.tgz", "integrity": "sha512-cvGzxbba6sav2zZkH8GPf2oGk9yYoD5qrNWdu9fRehifgnFZJMV+nuy2nON2roRO4yQQ+v7MK/Pktl/HgfsUXg==", + "dev": true, "license": "MIT", "engines": { "node": ">=v14.0.0", @@ -892,6 +216,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-4.0.0.tgz", "integrity": "sha512-d9dUmWVA7MMiKobL3VpLF8P2aeanRTu6ypG2OIaEv/ZHH/SUQ2iHOVyi5wAPjQ+HmnMuL0whK9ez8I/raWbtIg==", + "dev": true, "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -905,6 +230,7 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-3.5.3.tgz", "integrity": "sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=v14.0.0", @@ -982,626 +308,39 @@ }, "node_modules/@shikijs/vscode-textmate": { "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", - "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@smithy/abort-controller": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.4.tgz", - "integrity": "sha512-gJnEjZMvigPDQWHrW3oPrFhQtkrgqBkyjj3pCIdF3A5M6vsZODG93KNlfJprv6bp4245bdT32fsHK4kkH3KYDA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/config-resolver": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.1.4.tgz", - "integrity": "sha512-prmU+rDddxHOH0oNcwemL+SwnzcG65sBF2yXRO7aeXIn/xTlq2pX7JLVbkBnVLowHLg4/OL4+jBmv9hVrVGS+w==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/node-config-provider": "^4.1.3", - "@smithy/types": "^4.3.1", - "@smithy/util-config-provider": "^4.0.0", - "@smithy/util-middleware": "^4.0.4", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/core": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.7.2.tgz", - "integrity": "sha512-JoLw59sT5Bm8SAjFCYZyuCGxK8y3vovmoVbZWLDPTH5XpPEIwpFd9m90jjVMwoypDuB/SdVgje5Y4T7w50lJaw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/middleware-serde": "^4.0.8", - "@smithy/protocol-http": "^5.1.2", - "@smithy/types": "^4.3.1", - "@smithy/util-base64": "^4.0.0", - "@smithy/util-body-length-browser": "^4.0.0", - "@smithy/util-middleware": "^4.0.4", - "@smithy/util-stream": "^4.2.3", - "@smithy/util-utf8": "^4.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/credential-provider-imds": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.6.tgz", - "integrity": "sha512-hKMWcANhUiNbCJouYkZ9V3+/Qf9pteR1dnwgdyzR09R4ODEYx8BbUysHwRSyex4rZ9zapddZhLFTnT4ZijR4pw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/node-config-provider": "^4.1.3", - "@smithy/property-provider": "^4.0.4", - "@smithy/types": "^4.3.1", - "@smithy/url-parser": "^4.0.4", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/fetch-http-handler": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.1.0.tgz", - "integrity": "sha512-mADw7MS0bYe2OGKkHYMaqarOXuDwRbO6ArD91XhHcl2ynjGCFF+hvqf0LyQcYxkA1zaWjefSkU7Ne9mqgApSgQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/protocol-http": "^5.1.2", - "@smithy/querystring-builder": "^4.0.4", - "@smithy/types": "^4.3.1", - "@smithy/util-base64": "^4.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/hash-node": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.4.tgz", - "integrity": "sha512-qnbTPUhCVnCgBp4z4BUJUhOEkVwxiEi1cyFM+Zj6o+aY8OFGxUQleKWq8ltgp3dujuhXojIvJWdoqpm6dVO3lQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^4.3.1", - "@smithy/util-buffer-from": "^4.0.0", - "@smithy/util-utf8": "^4.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/invalid-dependency": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.4.tgz", - "integrity": "sha512-bNYMi7WKTJHu0gn26wg8OscncTt1t2b8KcsZxvOv56XA6cyXtOAAAaNP7+m45xfppXfOatXF3Sb1MNsLUgVLTw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/is-array-buffer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.0.0.tgz", - "integrity": "sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/middleware-content-length": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.4.tgz", - "integrity": "sha512-F7gDyfI2BB1Kc+4M6rpuOLne5LOcEknH1n6UQB69qv+HucXBR1rkzXBnQTB2q46sFy1PM/zuSJOB532yc8bg3w==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/protocol-http": "^5.1.2", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/middleware-endpoint": { - "version": "4.1.17", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.1.17.tgz", - "integrity": "sha512-S3hSGLKmHG1m35p/MObQCBCdRsrpbPU8B129BVzRqRfDvQqPMQ14iO4LyRw+7LNizYc605COYAcjqgawqi+6jA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/core": "^3.7.2", - "@smithy/middleware-serde": "^4.0.8", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/shared-ini-file-loader": "^4.0.4", - "@smithy/types": "^4.3.1", - "@smithy/url-parser": "^4.0.4", - "@smithy/util-middleware": "^4.0.4", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/middleware-retry": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.1.18.tgz", - "integrity": "sha512-bYLZ4DkoxSsPxpdmeapvAKy7rM5+25gR7PGxq2iMiecmbrRGBHj9s75N74Ylg+aBiw9i5jIowC/cLU2NR0qH8w==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/node-config-provider": "^4.1.3", - "@smithy/protocol-http": "^5.1.2", - "@smithy/service-error-classification": "^4.0.6", - "@smithy/smithy-client": "^4.4.9", - "@smithy/types": "^4.3.1", - "@smithy/util-middleware": "^4.0.4", - "@smithy/util-retry": "^4.0.6", - "tslib": "^2.6.2", - "uuid": "^9.0.1" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/middleware-serde": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.8.tgz", - "integrity": "sha512-iSSl7HJoJaGyMIoNn2B7czghOVwJ9nD7TMvLhMWeSB5vt0TnEYyRRqPJu/TqW76WScaNvYYB8nRoiBHR9S1Ddw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/protocol-http": "^5.1.2", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/middleware-stack": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.4.tgz", - "integrity": "sha512-kagK5ggDrBUCCzI93ft6DjteNSfY8Ulr83UtySog/h09lTIOAJ/xUSObutanlPT0nhoHAkpmW9V5K8oPyLh+QA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/node-config-provider": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.1.3.tgz", - "integrity": "sha512-HGHQr2s59qaU1lrVH6MbLlmOBxadtzTsoO4c+bF5asdgVik3I8o7JIOzoeqWc5MjVa+vD36/LWE0iXKpNqooRw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/property-provider": "^4.0.4", - "@smithy/shared-ini-file-loader": "^4.0.4", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/node-http-handler": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.1.0.tgz", - "integrity": "sha512-vqfSiHz2v8b3TTTrdXi03vNz1KLYYS3bhHCDv36FYDqxT7jvTll1mMnCrkD+gOvgwybuunh/2VmvOMqwBegxEg==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/abort-controller": "^4.0.4", - "@smithy/protocol-http": "^5.1.2", - "@smithy/querystring-builder": "^4.0.4", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/property-provider": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.4.tgz", - "integrity": "sha512-qHJ2sSgu4FqF4U/5UUp4DhXNmdTrgmoAai6oQiM+c5RZ/sbDwJ12qxB1M6FnP+Tn/ggkPZf9ccn4jqKSINaquw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/protocol-http": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.1.2.tgz", - "integrity": "sha512-rOG5cNLBXovxIrICSBm95dLqzfvxjEmuZx4KK3hWwPFHGdW3lxY0fZNXfv2zebfRO7sJZ5pKJYHScsqopeIWtQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/querystring-builder": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.4.tgz", - "integrity": "sha512-SwREZcDnEYoh9tLNgMbpop+UTGq44Hl9tdj3rf+yeLcfH7+J8OXEBaMc2kDxtyRHu8BhSg9ADEx0gFHvpJgU8w==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^4.3.1", - "@smithy/util-uri-escape": "^4.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/querystring-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.4.tgz", - "integrity": "sha512-6yZf53i/qB8gRHH/l2ZwUG5xgkPgQF15/KxH0DdXMDHjesA9MeZje/853ifkSY0x4m5S+dfDZ+c4x439PF0M2w==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/service-error-classification": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.6.tgz", - "integrity": "sha512-RRoTDL//7xi4tn5FrN2NzH17jbgmnKidUqd4KvquT0954/i6CXXkh1884jBiunq24g9cGtPBEXlU40W6EpNOOg==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^4.3.1" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/shared-ini-file-loader": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.4.tgz", - "integrity": "sha512-63X0260LoFBjrHifPDs+nM9tV0VMkOTl4JRMYNuKh/f5PauSjowTfvF3LogfkWdcPoxsA9UjqEOgjeYIbhb7Nw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/signature-v4": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.1.2.tgz", - "integrity": "sha512-d3+U/VpX7a60seHziWnVZOHuEgJlclufjkS6zhXvxcJgkJq4UWdH5eOBLzHRMx6gXjsdT9h6lfpmLzbrdupHgQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/is-array-buffer": "^4.0.0", - "@smithy/protocol-http": "^5.1.2", - "@smithy/types": "^4.3.1", - "@smithy/util-hex-encoding": "^4.0.0", - "@smithy/util-middleware": "^4.0.4", - "@smithy/util-uri-escape": "^4.0.0", - "@smithy/util-utf8": "^4.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/smithy-client": { - "version": "4.4.9", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.4.9.tgz", - "integrity": "sha512-mbMg8mIUAWwMmb74LoYiArP04zWElPzDoA1jVOp3or0cjlDMgoS6WTC3QXK0Vxoc9I4zdrX0tq6qsOmaIoTWEQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/core": "^3.7.2", - "@smithy/middleware-endpoint": "^4.1.17", - "@smithy/middleware-stack": "^4.0.4", - "@smithy/protocol-http": "^5.1.2", - "@smithy/types": "^4.3.1", - "@smithy/util-stream": "^4.2.3", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/types": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.3.1.tgz", - "integrity": "sha512-UqKOQBL2x6+HWl3P+3QqFD4ncKq0I8Nuz9QItGv5WuKuMHuuwlhvqcZCoXGfc+P1QmfJE7VieykoYYmrOoFJxA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/url-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.4.tgz", - "integrity": "sha512-eMkc144MuN7B0TDA4U2fKs+BqczVbk3W+qIvcoCY6D1JY3hnAdCuhCZODC+GAeaxj0p6Jroz4+XMUn3PCxQQeQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/querystring-parser": "^4.0.4", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-base64": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.0.0.tgz", - "integrity": "sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/util-buffer-from": "^4.0.0", - "@smithy/util-utf8": "^4.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-body-length-browser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-4.0.0.tgz", - "integrity": "sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-body-length-node": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-4.0.0.tgz", - "integrity": "sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-buffer-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.0.0.tgz", - "integrity": "sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/is-array-buffer": "^4.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-config-provider": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-4.0.0.tgz", - "integrity": "sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser": { - "version": "4.0.25", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.25.tgz", - "integrity": "sha512-pxEWsxIsOPLfKNXvpgFHBGFC3pKYKUFhrud1kyooO9CJai6aaKDHfT10Mi5iiipPXN/JhKAu3qX9o75+X85OdQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/property-provider": "^4.0.4", - "@smithy/smithy-client": "^4.4.9", - "@smithy/types": "^4.3.1", - "bowser": "^2.11.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node": { - "version": "4.0.25", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.25.tgz", - "integrity": "sha512-+w4n4hKFayeCyELZLfsSQG5mCC3TwSkmRHv4+el5CzFU8ToQpYGhpV7mrRzqlwKkntlPilT1HJy1TVeEvEjWOQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/config-resolver": "^4.1.4", - "@smithy/credential-provider-imds": "^4.0.6", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/property-provider": "^4.0.4", - "@smithy/smithy-client": "^4.4.9", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-endpoints": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.6.tgz", - "integrity": "sha512-YARl3tFL3WgPuLzljRUnrS2ngLiUtkwhQtj8PAL13XZSyUiNLQxwG3fBBq3QXFqGFUXepIN73pINp3y8c2nBmA==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/node-config-provider": "^4.1.3", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-hex-encoding": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-4.0.0.tgz", - "integrity": "sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-middleware": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.4.tgz", - "integrity": "sha512-9MLKmkBmf4PRb0ONJikCbCwORACcil6gUWojwARCClT7RmLzF04hUR4WdRprIXal7XVyrddadYNfp2eF3nrvtQ==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-retry": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.6.tgz", - "integrity": "sha512-+YekoF2CaSMv6zKrA6iI/N9yva3Gzn4L6n35Luydweu5MMPYpiGZlWqehPHDHyNbnyaYlz/WJyYAZnC+loBDZg==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/service-error-classification": "^4.0.6", - "@smithy/types": "^4.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-stream": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.2.3.tgz", - "integrity": "sha512-cQn412DWHHFNKrQfbHY8vSFI3nTROY1aIKji9N0tpp8gUABRilr7wdf8fqBbSlXresobM+tQFNk6I+0LXK/YZg==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@smithy/fetch-http-handler": "^5.1.0", - "@smithy/node-http-handler": "^4.1.0", - "@smithy/types": "^4.3.1", - "@smithy/util-base64": "^4.0.0", - "@smithy/util-buffer-from": "^4.0.0", - "@smithy/util-hex-encoding": "^4.0.0", - "@smithy/util-utf8": "^4.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-uri-escape": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-4.0.0.tgz", - "integrity": "sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==", - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "dev": true, + "license": "MIT" }, - "node_modules/@smithy/util-utf8": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.0.0.tgz", - "integrity": "sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==", - "license": "Apache-2.0", - "optional": true, + "node_modules/@sqltools/formatter": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.5.tgz", + "integrity": "sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==", + "license": "MIT" + }, + "node_modules/@tryforge/forge.db": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@tryforge/forge.db/-/forge.db-2.1.1.tgz", + "integrity": "sha512-B/uUj0M0G16mxKaE3T5XZ/Xk6/y1JypsSJxIOYMbHc+JM3nf+Rvw6f1FugxNxuO/c3jtlbY/baH1H6+BOErsuA==", + "license": "GPL-3.0", "dependencies": { - "@smithy/util-buffer-from": "^4.0.0", - "tslib": "^2.6.2" + "tiny-typed-emitter": "^2.1.0", + "typeorm": "^0.3.26" }, "engines": { - "node": ">=18.0.0" + "node": ">=16.11.0" } }, "node_modules/@tryforge/forgescript": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@tryforge/forgescript/-/forgescript-2.3.0.tgz", - "integrity": "sha512-lbWaowBWgl6dBDBvYaYH8WHU8+DD0QtPeq/4MJn1f0SBwjkXGwz9Gewui46IwkedfdaHekr1zFhnKq5eKnL4ig==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@tryforge/forgescript/-/forgescript-2.5.0.tgz", + "integrity": "sha512-DhD7FfgzbR81Oc6l6PCgKQTP5O67CovZxL6IEIPCHZOg72ptsg9OQzJQbLOFCJspRiGZIZcZYhnOvErLXm/04g==", "dev": true, "license": "GPL-3.0", "dependencies": { "chalk": "^4.1.2", - "discord.js": "^14.18.0", + "discord.js": "^14.22.1", "ms-utility": "^3.3.0", "tiny-typed-emitter": "^2.1.0", "undici": "^5.23.0" @@ -1634,6 +373,7 @@ "version": "24.1.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.1.0.tgz", "integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==", + "dev": true, "license": "MIT", "dependencies": { "undici-types": "~7.8.0" @@ -1646,26 +386,11 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/webidl-conversions": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", - "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==", - "license": "MIT" - }, - "node_modules/@types/whatwg-url": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", - "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/webidl-conversions": "*" - } - }, "node_modules/@types/ws": { "version": "8.18.1", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "dev": true, "license": "MIT", "dependencies": { "@types/node": "*" @@ -1682,17 +407,29 @@ "version": "2.4.6", "resolved": "https://registry.npmjs.org/@vladfrangu/async_event_emitter/-/async_event_emitter-2.4.6.tgz", "integrity": "sha512-RaI5qZo6D2CVS6sTHFKg1v5Ohq/+Bo2LZ5gzUEwZ/WkHhwtGTCB/sVLw8ijOkAUxasZ+WshN/Rzj4ywsABJ5ZA==", + "dev": true, "license": "MIT", "engines": { "node": ">=v14.0.0", "npm": ">=7.0.0" } }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -1704,6 +441,24 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/ansis": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-3.17.0.tgz", + "integrity": "sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==", + "license": "ISC", + "engines": { + "node": ">=14" + } + }, + "node_modules/app-root-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.1.0.tgz", + "integrity": "sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -1711,11 +466,25 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, "license": "MIT" }, "node_modules/base64-js": { @@ -1739,11 +508,12 @@ "license": "MIT" }, "node_modules/better-sqlite3": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-9.6.0.tgz", - "integrity": "sha512-yR5HATnqeYNVnkaUTf4bOP2dJSnyhP4puJN/QPRyx4YkBEEUxib422n2XzPqDEHjQQqazoYoADdAm5vE15+dAQ==", + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-11.10.0.tgz", + "integrity": "sha512-EwhOpyXiOEL/lKzHz9AW1msWFNzGc/z+LzeB3/jnFJpxu+th2yqvzsSWas1v9jgs9+xiXJcD5A8CJxAG2TaghQ==", "hasInstallScript": true, "license": "MIT", + "peer": true, "dependencies": { "bindings": "^1.5.0", "prebuild-install": "^7.1.1" @@ -1769,39 +539,43 @@ "readable-stream": "^3.4.0" } }, - "node_modules/bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", - "optional": true + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } }, "node_modules/brace-expansion": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, - "node_modules/bson": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.2.tgz", - "integrity": "sha512-Ry9wCtIZ5kGqkJoi6aD8KjxFZEx78guTQDnpXWiNthsxzrxAK/i8E6pCHAIZTbaEFWcOCvbecMukfK7XUvyLpQ==", - "license": "Apache-2.0", - "dependencies": { - "buffer": "^5.6.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "funding": [ { "type": "github", @@ -1819,7 +593,54 @@ "license": "MIT", "dependencies": { "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "ieee754": "^1.2.1" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/ccount": { @@ -1878,11 +699,82 @@ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "license": "ISC" }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -1895,7 +787,6 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, "license": "MIT" }, "node_modules/comma-separated-tokens": { @@ -1909,6 +800,43 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/dayjs": { + "version": "1.11.18", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.18.tgz", + "integrity": "sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/decompress-response": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", @@ -1924,6 +852,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/dedent": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.0.tgz", + "integrity": "sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==", + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -1933,6 +875,23 @@ "node": ">=4.0.0" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -1967,42 +926,30 @@ } }, "node_modules/discord-api-types": { - "version": "0.38.18", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.38.18.tgz", - "integrity": "sha512-ygenySjZKUaBf5JT8BNhZSxLzwpwdp41O0wVroOTu/N2DxFH7dxYTZUSnFJ6v+/2F3BMcnD47PC47u4aLOLxrQ==", + "version": "0.38.30", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.38.30.tgz", + "integrity": "sha512-KhAqlBrg+rVK+Ob7INMF5o63yW4/GUzRatG/AjyVsIO8lgcLyR8qCl2HokIVzWwmzkJYG0CEPXsKMOqau3E8NA==", + "dev": true, "license": "MIT", "workspaces": [ "scripts/actions/documentation" ] }, - "node_modules/discord-giveaways-super": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/discord-giveaways-super/-/discord-giveaways-super-1.1.1.tgz", - "integrity": "sha512-09a3qM5RXC3zij8GhxYUIwN6vo7Hgok1LG8EW3NG/fEpw2VH0O6ioRV4RyWGbh7hNwB7G9gh+1r/p1dgPWe/SQ==", - "license": "MIT", - "dependencies": { - "discord.js": "^14.16.3", - "enmap": "^5.9.8", - "quick-mongo-super": "^1.0.19" - }, - "engines": { - "node": ">=16.9.0" - } - }, "node_modules/discord.js": { - "version": "14.21.0", - "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.21.0.tgz", - "integrity": "sha512-U5w41cEmcnSfwKYlLv5RJjB8Joa+QJyRwIJz5i/eg+v2Qvv6EYpCRhN9I2Rlf0900LuqSDg8edakUATrDZQncQ==", + "version": "14.23.2", + "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.23.2.tgz", + "integrity": "sha512-tU2NFr823X3TXEc8KyR/4m296KLxPai4nirN3q9kHCpY4TKj96n9lHZnyLzRNMui8EbL07jg9hgH2PWWfKMGIg==", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@discordjs/builders": "^1.11.2", + "@discordjs/builders": "^1.12.1", "@discordjs/collection": "1.5.3", "@discordjs/formatters": "^0.6.1", - "@discordjs/rest": "^2.5.1", + "@discordjs/rest": "^2.6.0", "@discordjs/util": "^1.1.1", "@discordjs/ws": "^1.2.3", "@sapphire/snowflake": "3.5.3", - "discord-api-types": "^0.38.1", + "discord-api-types": "^0.38.29", "fast-deep-equal": "3.1.3", "lodash.snakecase": "4.1.1", "magic-bytes.js": "^1.10.0", @@ -2020,11 +967,50 @@ "version": "6.21.3", "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.3.tgz", "integrity": "sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==", + "dev": true, "license": "MIT", "engines": { "node": ">=18.17" } }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, "node_modules/emoji-regex-xs": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz", @@ -2041,18 +1027,6 @@ "once": "^1.4.0" } }, - "node_modules/enmap": { - "version": "5.9.10", - "resolved": "https://registry.npmjs.org/enmap/-/enmap-5.9.10.tgz", - "integrity": "sha512-A2Jv4VbcJCTwADPmXfC7KLysLi6Y90RlUDWZ2s3NHzfJ3p6SVeA77YN8Kjjj4ui/C9dQzbthB7V5y/WjcYjY7w==", - "license": "Apache-2.0", - "dependencies": { - "better-sqlite3": "^9.4.3", - "lodash": "^4.17.21", - "on-change": "^3.0.2", - "serialize-javascript": "^6.0.2" - } - }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -2066,6 +1040,45 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/expand-template": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", @@ -2079,26 +1092,8 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" - }, - "node_modules/fast-xml-parser": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz", - "integrity": "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "strnum": "^2.1.0" - }, - "bin": { - "fxparser": "src/cli/cli.js" - } + "dev": true, + "license": "MIT" }, "node_modules/file-uri-to-path": { "version": "1.0.0", @@ -2106,18 +1101,136 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "license": "MIT" }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "license": "MIT" }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", "license": "MIT" }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -2128,6 +1241,57 @@ "node": ">=8" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/hast-util-to-html": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", @@ -2209,25 +1373,69 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "license": "ISC" }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "license": "MIT", "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" + "which-typed-array": "^1.1.16" }, "engines": { - "node": ">= 12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "license": "MIT" }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/linkify-it": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", @@ -2242,14 +1450,22 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, "license": "MIT" }, "node_modules/lodash.snakecase": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true, "license": "MIT" }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, "node_modules/lunr": { "version": "2.3.9", "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", @@ -2261,6 +1477,7 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/magic-bytes.js/-/magic-bytes.js-1.12.1.tgz", "integrity": "sha512-ThQLOhN86ZkJ7qemtVRGYM+gRgR8GEXNli9H/PMvpnZsE44Xfh3wx9kGJaldg314v85m+bFW6WBMaVHJc/c3zA==", + "dev": true, "license": "MIT" }, "node_modules/markdown-it": { @@ -2281,6 +1498,15 @@ "markdown-it": "bin/markdown-it.mjs" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/mdast-util-to-hast": { "version": "13.2.0", "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", @@ -2310,13 +1536,6 @@ "dev": true, "license": "MIT" }, - "node_modules/memory-pager": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", - "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", - "license": "MIT", - "optional": true - }, "node_modules/micromark-util-character": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", @@ -2427,7 +1646,6 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -2448,39 +1666,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/mkdirp-classic": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "license": "MIT" }, - "node_modules/mongodb": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.17.2.tgz", - "integrity": "sha512-mLV7SEiov2LHleRJPMPrK2PMyhXFZt2UQLC4VD4pnth3jMjYKHhtqfwwkkvS/NXuo/Fp3vbhaNcXrIDaLRb9Tg==", - "license": "Apache-2.0", - "dependencies": { - "bson": "^4.7.2", - "mongodb-connection-string-url": "^2.6.0", - "socks": "^2.7.1" - }, - "engines": { - "node": ">=12.9.0" - }, - "optionalDependencies": { - "@aws-sdk/credential-providers": "^3.186.0", - "@mongodb-js/saslprep": "^1.1.0" - } - }, - "node_modules/mongodb-connection-string-url": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", - "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", - "license": "Apache-2.0", - "dependencies": { - "@types/whatwg-url": "^8.2.1", - "whatwg-url": "^11.0.0" - } + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/ms-utility": { "version": "3.3.0", @@ -2507,60 +1712,6 @@ "node": ">=10" } }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" - }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "license": "BSD-2-Clause" - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/on-change": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/on-change/-/on-change-3.0.2.tgz", - "integrity": "sha512-rdt5YfIfo86aFNwvQqzzHMpaPPyVQ/XjcGK01d46chZh47G8Xzvoao79SgFb03GZfxRGREzNQVJuo31drqyIlA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/on-change?sponsor=1" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -2582,6 +1733,46 @@ "regex-recursion": "^5.1.1" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/prebuild-install": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", @@ -2629,15 +1820,6 @@ "once": "^1.3.1" } }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/punycode.js": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", @@ -2648,26 +1830,6 @@ "node": ">=6" } }, - "node_modules/quick-mongo-super": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/quick-mongo-super/-/quick-mongo-super-1.0.19.tgz", - "integrity": "sha512-temPzA0/F8wAgnGs2L0kDDHMOcyHEKLI2WYCDWY6Tfg3yl5ZA7k3bn55P6tTI3sFXg0w4ei6UULD8P4gM63MHw==", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "mongodb": "^4.17.0", - "node-fetch": "^2.6.7" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -2697,6 +1859,13 @@ "node": ">= 6" } }, + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "license": "Apache-2.0", + "peer": true + }, "node_modules/regex": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/regex/-/regex-5.1.1.tgz", @@ -2725,6 +1894,15 @@ "dev": true, "license": "MIT" }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -2757,13 +1935,62 @@ "node": ">=10" } }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "license": "BSD-3-Clause", + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/sha.js": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", + "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", + "license": "(MIT AND BSD-3-Clause)", + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.0" + }, + "bin": { + "sha.js": "bin.js" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { - "randombytes": "^2.1.0" + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" } }, "node_modules/shiki": { @@ -2783,6 +2010,18 @@ "@types/hast": "^3.0.4" } }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/simple-concat": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", @@ -2828,30 +2067,6 @@ "simple-concat": "^1.0.0" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "license": "MIT", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.6.tgz", - "integrity": "sha512-pe4Y2yzru68lXCb38aAqRf5gvN8YdjP1lok5o0J7BOHljkyCGKVz7H3vpVIXKD27rj2giOJ7DwVyk/GWrPHDWA==", - "license": "MIT", - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, "node_modules/space-separated-tokens": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", @@ -2863,22 +2078,22 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/sparse-bitfield": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", - "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "node_modules/sql-highlight": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sql-highlight/-/sql-highlight-6.1.0.tgz", + "integrity": "sha512-ed7OK4e9ywpE7pgRMkMQmZDPKSVdm0oX5IEtZiKnFucSF0zu6c80GZBe38UqHuVhTWJ9xsKgSMjCG2bml86KvA==", + "funding": [ + "https://github.com/scriptcoded/sql-highlight?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/scriptcoded" + } + ], "license": "MIT", - "optional": true, - "dependencies": { - "memory-pager": "^1.0.2" + "engines": { + "node": ">=14" } }, - "node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "license": "BSD-3-Clause" - }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -2888,6 +2103,65 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/stringify-entities": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", @@ -2903,6 +2177,43 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -2912,19 +2223,6 @@ "node": ">=0.10.0" } }, - "node_modules/strnum": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz", - "integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT", - "optional": true - }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -2939,9 +2237,9 @@ } }, "node_modules/tar-fs": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.3.tgz", - "integrity": "sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", "license": "MIT", "dependencies": { "chownr": "^1.1.1", @@ -2970,19 +2268,20 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz", "integrity": "sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==", - "dev": true, "license": "MIT" }, - "node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "node_modules/to-buffer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz", + "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==", "license": "MIT", "dependencies": { - "punycode": "^2.1.1" + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" }, "engines": { - "node": ">=12" + "node": ">= 0.4" } }, "node_modules/trim-lines": { @@ -3000,6 +2299,7 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.4.tgz", "integrity": "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==", + "dev": true, "license": "MIT" }, "node_modules/tslib": { @@ -3020,6 +2320,20 @@ "node": "*" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/typedoc": { "version": "0.26.11", "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.11.tgz", @@ -3043,12 +2357,115 @@ "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x" } }, + "node_modules/typeorm": { + "version": "0.3.27", + "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.3.27.tgz", + "integrity": "sha512-pNV1bn+1n8qEe8tUNsNdD8ejuPcMAg47u2lUGnbsajiNUr3p2Js1XLKQjBMH0yMRMDfdX8T+fIRejFmIwy9x4A==", + "license": "MIT", + "dependencies": { + "@sqltools/formatter": "^1.2.5", + "ansis": "^3.17.0", + "app-root-path": "^3.1.0", + "buffer": "^6.0.3", + "dayjs": "^1.11.13", + "debug": "^4.4.0", + "dedent": "^1.6.0", + "dotenv": "^16.4.7", + "glob": "^10.4.5", + "sha.js": "^2.4.12", + "sql-highlight": "^6.0.0", + "tslib": "^2.8.1", + "uuid": "^11.1.0", + "yargs": "^17.7.2" + }, + "bin": { + "typeorm": "cli.js", + "typeorm-ts-node-commonjs": "cli-ts-node-commonjs.js", + "typeorm-ts-node-esm": "cli-ts-node-esm.js" + }, + "engines": { + "node": ">=16.13.0" + }, + "funding": { + "url": "https://opencollective.com/typeorm" + }, + "peerDependencies": { + "@google-cloud/spanner": "^5.18.0 || ^6.0.0 || ^7.0.0", + "@sap/hana-client": "^2.14.22", + "better-sqlite3": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0", + "ioredis": "^5.0.4", + "mongodb": "^5.8.0 || ^6.0.0", + "mssql": "^9.1.1 || ^10.0.1 || ^11.0.1", + "mysql2": "^2.2.5 || ^3.0.1", + "oracledb": "^6.3.0", + "pg": "^8.5.1", + "pg-native": "^3.0.0", + "pg-query-stream": "^4.0.0", + "redis": "^3.1.1 || ^4.0.0 || ^5.0.14", + "reflect-metadata": "^0.1.14 || ^0.2.0", + "sql.js": "^1.4.0", + "sqlite3": "^5.0.3", + "ts-node": "^10.7.0", + "typeorm-aurora-data-api-driver": "^2.0.0 || ^3.0.0" + }, + "peerDependenciesMeta": { + "@google-cloud/spanner": { + "optional": true + }, + "@sap/hana-client": { + "optional": true + }, + "better-sqlite3": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "mongodb": { + "optional": true + }, + "mssql": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "oracledb": { + "optional": true + }, + "pg": { + "optional": true + }, + "pg-native": { + "optional": true + }, + "pg-query-stream": { + "optional": true + }, + "redis": { + "optional": true + }, + "sql.js": { + "optional": true + }, + "sqlite3": { + "optional": true + }, + "ts-node": { + "optional": true + }, + "typeorm-aurora-data-api-driver": { + "optional": true + } + } + }, "node_modules/typescript": { "version": "5.6.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -3081,6 +2498,7 @@ "version": "7.8.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", + "dev": true, "license": "MIT" }, "node_modules/unist-util-is": { @@ -3163,17 +2581,16 @@ "license": "MIT" }, "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], "license": "MIT", - "optional": true, "bin": { - "uuid": "dist/bin/uuid" + "uuid": "dist/esm/bin/uuid" } }, "node_modules/vfile": { @@ -3206,26 +2623,128 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "license": "BSD-2-Clause", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "license": "MIT", "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" + "ansi-regex": "^5.0.1" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/wrappy": { @@ -3238,6 +2757,7 @@ "version": "8.18.3", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "dev": true, "license": "MIT", "engines": { "node": ">=10.0.0" @@ -3255,6 +2775,15 @@ } } }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, "node_modules/yaml": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", @@ -3268,6 +2797,74 @@ "node": ">= 14.6" } }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/zwitch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", diff --git a/package.json b/package.json index ab74113..ee9115c 100644 --- a/package.json +++ b/package.json @@ -16,12 +16,13 @@ "author": "itsnicky.", "license": "GPL-3.0", "devDependencies": { - "@tryforge/forgescript": "^2.3.0", - "discord.js": "^14.21.0", + "@tryforge/forgescript": "^2.5.0", + "discord.js": "^14.23.2", "typedoc": "^0.26.11", "typescript": "^5.6.3" }, "dependencies": { - "discord-giveaways-super": "^1.1.1" + "@tryforge/forge.db": "^2.1.1", + "better-sqlite3": "^11.10.0" } } diff --git a/src/events/databaseConnect.ts b/src/events/databaseConnect.ts deleted file mode 100644 index a73f306..0000000 --- a/src/events/databaseConnect.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" -import { ForgeGiveaways } from ".." - -export default new GiveawaysEventHandler({ - name: "databaseConnect", - version: "1.0.0", - description: "This event is fired when the client connected to the giveaway database", - listener: async function() { - const commands = this.getExtension(ForgeGiveaways, true).commands?.get("databaseConnect") - - if (commands?.length) { - for (const command of commands) { - Interpreter.run({ - obj: {}, - command, - client: this, - data: command.compiled.code, - }) - } - } - - }, -}) \ No newline at end of file diff --git a/src/events/giveawayRestart.ts b/src/events/giveawayRestart.ts deleted file mode 100644 index 8fd504b..0000000 --- a/src/events/giveawayRestart.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" -import { ForgeGiveaways } from ".." - -export default new GiveawaysEventHandler({ - name: "giveawayRestart", - version: "1.0.0", - description: "This event is fired when a giveaway was restarted", - listener: async function(gw) { - const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayRestart") - - if (commands?.length) { - for (const command of commands) { - Interpreter.run({ - obj: gw, - command, - client: this, - data: command.compiled.code, - }) - } - } - - }, -}) \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index cdae266..d9c3000 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,11 +1,15 @@ import { EventManager, ForgeClient, ForgeExtension } from "@tryforge/forgescript" -import { GiveawaysEvents } from "./managers/GiveawaysEventManager" +import { IGiveawayEvents } from "./managers/GiveawaysEventManager" import { GiveawaysCommandManager } from "./managers/GiveawaysCommandManager" -import { DatabaseType, Giveaways } from "discord-giveaways-super" - -export interface IGiveawayOptions { - path: `${string}.json`, - events?: keyof GiveawaysEvents +import { GiveawaysManager } from "./managers/GiveawaysManager" + +export interface IForgeGiveawaysOptions { + events?: keyof IGiveawayEvents + messages?: { + start: string + end: string + reroll: string + } } export class ForgeGiveaways extends ForgeExtension { @@ -13,24 +17,15 @@ export class ForgeGiveaways extends ForgeExtension { description = "" version = require("../package.json").version + public readonly giveawaysManager = new GiveawaysManager(this) commands: GiveawaysCommandManager | null - giveawayManager: Giveaways | null - #path: `${string}.json` - public constructor (public readonly options: IGiveawayOptions) { + public constructor (public readonly options: IForgeGiveawaysOptions) { super() this.commands = null - this.giveawayManager = null - this.#path = options.path } public init (client: ForgeClient) { - this.giveawayManager = new Giveaways(client, { - connection: { - path: this.#path, - }, - database: DatabaseType.JSON - }) this.commands = new GiveawaysCommandManager(client) EventManager.load("ForgeGiveawaysEvents", __dirname + "/events") diff --git a/src/managers/DatabaseManager.ts b/src/managers/DatabaseManager.ts new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/managers/DatabaseManager.ts @@ -0,0 +1 @@ + diff --git a/src/managers/GiveawaysCommandManager.ts b/src/managers/GiveawaysCommandManager.ts index ab6bbbc..d799d70 100644 --- a/src/managers/GiveawaysCommandManager.ts +++ b/src/managers/GiveawaysCommandManager.ts @@ -1,6 +1,6 @@ import { BaseCommandManager } from "@tryforge/forgescript" -import { GiveawaysEvents } from "./GiveawaysEventManager" +import { IGiveawayEvents } from "./GiveawaysEventManager" -export class GiveawaysCommandManager extends BaseCommandManager { +export class GiveawaysCommandManager extends BaseCommandManager { handlerName = "ForgeGiveawaysEvents" } \ No newline at end of file diff --git a/src/managers/GiveawaysEventManager.ts b/src/managers/GiveawaysEventManager.ts index 7615d4b..67be47c 100644 --- a/src/managers/GiveawaysEventManager.ts +++ b/src/managers/GiveawaysEventManager.ts @@ -1,12 +1,27 @@ import { BaseEventHandler, ForgeClient } from "@tryforge/forgescript" -import { DatabaseType, IGiveawaysEvents } from "discord-giveaways-super" +import { IGiveaway } from "./GiveawaysManager" import { ForgeGiveaways } from ".." -export type GiveawaysEvents = IGiveawaysEvents +export interface IGiveawayEvents { + giveawayStart: [{ + data: IGiveaway | null + }] + giveawayEnd: [{ + data: IGiveaway | null + }] + giveawayEdit: [{ + newData: IGiveaway | null + oldData: IGiveaway | null + }] + giveawayReroll: [{ + newData: IGiveaway | null + oldData: IGiveaway | null + }] +} -export class GiveawaysEventHandler extends BaseEventHandler { +export class GiveawaysEventHandler extends BaseEventHandler { register(client: ForgeClient): void { //@ts-ignore - client.getExtension(ForgeGiveaways, true).giveawayManager.on(this.name, this.listener.bind(client)) + client.getExtension(ForgeGiveaways, true).giveawaysManager.on(this.name, this.listener.bind(client)) } } \ No newline at end of file diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts new file mode 100644 index 0000000..d8222f7 --- /dev/null +++ b/src/managers/GiveawaysManager.ts @@ -0,0 +1,121 @@ +import { Compiler, Context, Interpreter } from "@tryforge/forgescript" +import { Collection, Snowflake, SnowflakeUtil } from "discord.js" +import { ForgeGiveaways } from ".." + +export interface IGiveawayStartOptions { + prize: string + duration: number + winnersCount: number + hostID: Snowflake + guildID: Snowflake + channelID: Snowflake + requirements?: { + requiredRoles?: Snowflake[] + restrictedRoles?: Snowflake[] + restrictedMembers?: Snowflake[] + } +} + +export interface IGiveaway extends IGiveawayStartOptions { + id: Snowflake + messageID: Snowflake + entries: Snowflake[] + winners: Snowflake[] +} + +export class GiveawaysManager { + private readonly giveaways = new Collection() + + public constructor(private readonly client: ForgeGiveaways) {} + + public async start(ctx: Context, options: IGiveawayStartOptions) { + const id = SnowflakeUtil.generate().toString() + + await Interpreter.run({ + ...ctx.runtime, + data: Compiler.compile(this.client.options.messages?.start), + doNotSend: false + }) + + const giveaway = { + ...options, + id, + messageID: "", + entries: [], + winners: [] + } as IGiveaway + + this.giveaways.set(id, giveaway) + setTimeout(() => this.end(ctx, id), options.duration) + return giveaway + } + + public async end(ctx: Context, id: Snowflake) { + const giveaway = this.giveaways.get(id) + if (!giveaway) return null + + const eligibleEntries = giveaway.entries.filter(entry => { + const member = ctx.guild?.members.cache.get(entry) + if (!member) return false + + const { requirements } = giveaway + const hasRequiredRoles = requirements?.requiredRoles?.every(x => member.roles.cache.has(x)) ?? true + const noRestrictedRoles = requirements?.restrictedRoles?.every(x => !member.roles.cache.has(x)) ?? true + const notRestrictedMember = !requirements?.restrictedMembers?.includes(member.id) + + return hasRequiredRoles && noRestrictedRoles && notRestrictedMember + }) + + const winners = this.pickWinners(eligibleEntries, giveaway.winnersCount) + giveaway.winners = winners + + await Interpreter.run({ + ...ctx.runtime, + data: Compiler.compile(this.client.options.messages?.end), + doNotSend: false, + }) + + return giveaway + } + + public async reroll(ctx: Context, id: Snowflake) { + const giveaway = this.giveaways.get(id) + if (!giveaway) return null + + const eligibleEntries = giveaway.entries.filter(e => !giveaway.winners.includes(e)) + const newWinners = this.pickWinners(eligibleEntries, giveaway.winnersCount) + giveaway.winners = newWinners + + await Interpreter.run({ + ...ctx.runtime, + data: Compiler.compile(this.client.options.messages?.reroll), + doNotSend: false, + }) + + return giveaway + } + + public addEntry(id: Snowflake, userID: Snowflake) { + const giveaway = this.giveaways.get(id) + if (!giveaway || giveaway.entries.includes(userID)) return false + + giveaway.entries.push(userID) + return true + } + + public removeEntry(id: Snowflake, userID: Snowflake) { + const giveaway = this.giveaways.get(id) + if (!giveaway) return false + + const index = giveaway.entries.indexOf(userID) + if (index === -1) return false + + giveaway.entries.splice(index, 1) + return true + } + + private pickWinners(entries: Snowflake[], amount: number) { + const shuffled = entries.sort(() => Math.random() - 0.5) + return shuffled.slice(0, amount) + } +} diff --git a/src/native/startGiveaway.ts b/src/native/startGiveaway.ts index 93b1c51..91e3b1f 100644 --- a/src/native/startGiveaway.ts +++ b/src/native/startGiveaway.ts @@ -1,6 +1,6 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { ForgeGiveaways } from ".." import { BaseChannel, GuildBasedChannel } from "discord.js" +import { ForgeGiveaways } from ".." export default new NativeFunction({ name: "$startGiveaway", @@ -38,32 +38,28 @@ export default new NativeFunction({ description: "The duration for this giveaway.", rest: false, required: true, - type: ArgType.String + type: ArgType.Time }, { name: "winners", description: "How many winners this giveaway will have", rest: false, - required: false, type: ArgType.Number } ], - output: ArgType.Number, - async execute(ctx, [channel, host, prize, time, winners]) { + output: ArgType.String, + async execute(ctx, [channel, host, prize, duration, winners]) { const client = ctx.client.getExtension(ForgeGiveaways, true) - const giveaway = await client.giveawayManager?.start({ + const giveaway = await client.giveawaysManager.start(ctx, { guildID: (channel as GuildBasedChannel).guildId, channelID: channel.id, - hostMemberID: host.id, - time, + hostID: host.id, + duration, prize, - winnersCount: winners || 1, - defineEmbedStrings(giveaway, host) { - return {} - } + winnersCount: winners || 1 }) - return this.success(giveaway?.id) + return this.success(giveaway.id) } }) \ No newline at end of file From 78d47f10099f9b621db81697e60dc45733b4cd19 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Wed, 15 Oct 2025 00:31:16 +0200 Subject: [PATCH 06/87] Prevent crash --- dist/index.d.ts | 6 +++--- dist/index.d.ts.map | 2 +- dist/managers/GiveawaysEventManager.d.ts.map | 2 +- dist/managers/GiveawaysEventManager.js | 6 +----- dist/managers/GiveawaysEventManager.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/classes/GiveawaysCommandManager.html | 4 ++-- docs/classes/GiveawaysEventHandler.html | 4 ++-- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- docs/interfaces/IGiveawayEvents.html | 4 ++-- src/index.ts | 6 +++--- src/managers/GiveawaysEventManager.ts | 5 +---- 12 files changed, 22 insertions(+), 29 deletions(-) diff --git a/dist/index.d.ts b/dist/index.d.ts index 182c6c0..0256fa8 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -5,9 +5,9 @@ import { GiveawaysManager } from "./managers/GiveawaysManager"; export interface IForgeGiveawaysOptions { events?: keyof IGiveawayEvents; messages?: { - start: string; - end: string; - reroll: string; + start?: string; + end?: string; + reroll?: string; }; } export declare class ForgeGiveaways extends ForgeExtension { diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 919ca30..8e49356 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAQV,OAAO,EAAE,sBAAsB;IAPnE,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAE5C,SAAgB,gBAAgB,mBAA6B;IAC7D,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,EAAE,sBAAsB;IAK5D,IAAI,CAAE,MAAM,EAAE,WAAW;CAUnC;AAED,cAAc,YAAY,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,MAAM,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAQV,OAAO,EAAE,sBAAsB;IAPnE,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAE5C,SAAgB,gBAAgB,mBAA6B;IAC7D,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,EAAE,sBAAsB;IAK5D,IAAI,CAAE,MAAM,EAAE,WAAW;CAUnC;AAED,cAAc,YAAY,CAAA"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.d.ts.map b/dist/managers/GiveawaysEventManager.d.ts.map index f1caad8..aed3d65 100644 --- a/dist/managers/GiveawaysEventManager.d.ts.map +++ b/dist/managers/GiveawaysEventManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAG9C,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE;QAAC;YACZ,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;SACzB;KAAC,CAAA;IACF,WAAW,EAAE;QAAC;YACV,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;SACzB;KAAC,CAAA;IACF,YAAY,EAAE;QAAC;YACX,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;YACzB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;SAC5B;KAAC,CAAA;IACF,cAAc,EAAE;QAAC;YACb,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;YACzB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;SAC5B;KAAC,CAAA;CACL;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAItC"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAG9C,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE;QAAC;YACZ,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;SACzB;KAAC,CAAA;IACF,WAAW,EAAE;QAAC;YACV,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;SACzB;KAAC,CAAA;IACF,YAAY,EAAE;QAAC;YACX,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;YACzB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;SAC5B;KAAC,CAAA;IACF,cAAc,EAAE;QAAC;YACb,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;YACzB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;SAC5B;KAAC,CAAA;CACL;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CACtC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.js b/dist/managers/GiveawaysEventManager.js index 9c162a5..3e4732c 100644 --- a/dist/managers/GiveawaysEventManager.js +++ b/dist/managers/GiveawaysEventManager.js @@ -2,12 +2,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.GiveawaysEventHandler = void 0; const forgescript_1 = require("@tryforge/forgescript"); -const __1 = require(".."); class GiveawaysEventHandler extends forgescript_1.BaseEventHandler { - register(client) { - //@ts-ignore - client.getExtension(__1.ForgeGiveaways, true).giveawaysManager.on(this.name, this.listener.bind(client)); - } + register(client) { } } exports.GiveawaysEventHandler = GiveawaysEventHandler; //# sourceMappingURL=GiveawaysEventManager.js.map \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.js.map b/dist/managers/GiveawaysEventManager.js.map index 210cfcb..923a817 100644 --- a/dist/managers/GiveawaysEventManager.js.map +++ b/dist/managers/GiveawaysEventManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AAmBnC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,YAAY;QACZ,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACxG,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAqBrE,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB,IAAS,CAAC;CACzC;AAFD,sDAEC"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 20f9720..26333a2 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index f93f773..384dbbe 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index e9a54e6..27a34e8 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index dcb01a5..2b7c40d 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end?: string;
        reroll?: string;
        start?: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end?: string;
    reroll?: string;
    start?: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index ad699bb..dca0cfa 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,5 +1,5 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayEnd: [{
        data: null | IGiveaway;
    }];
    giveawayReroll: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayStart: [{
        data: null | IGiveaway;
    }];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayEnd: [{
        data: null | IGiveaway;
    }];
    giveawayReroll: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayStart: [{
        data: null | IGiveaway;
    }];
}

Properties

giveawayEdit: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayEnd: [{
    data: null | IGiveaway;
}]
giveawayReroll: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayStart: [{
    data: null | IGiveaway;
}]
+

Properties

giveawayEdit: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayEnd: [{
    data: null | IGiveaway;
}]
giveawayReroll: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayStart: [{
    data: null | IGiveaway;
}]
diff --git a/src/index.ts b/src/index.ts index d9c3000..f00dd69 100644 --- a/src/index.ts +++ b/src/index.ts @@ -6,9 +6,9 @@ import { GiveawaysManager } from "./managers/GiveawaysManager" export interface IForgeGiveawaysOptions { events?: keyof IGiveawayEvents messages?: { - start: string - end: string - reroll: string + start?: string + end?: string + reroll?: string } } diff --git a/src/managers/GiveawaysEventManager.ts b/src/managers/GiveawaysEventManager.ts index 67be47c..e768c60 100644 --- a/src/managers/GiveawaysEventManager.ts +++ b/src/managers/GiveawaysEventManager.ts @@ -20,8 +20,5 @@ export interface IGiveawayEvents { } export class GiveawaysEventHandler extends BaseEventHandler { - register(client: ForgeClient): void { - //@ts-ignore - client.getExtension(ForgeGiveaways, true).giveawaysManager.on(this.name, this.listener.bind(client)) - } + register(client: ForgeClient): void {} } \ No newline at end of file From 703af9eee9a500d0f6146fb2c995d461a13d44a4 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Wed, 15 Oct 2025 00:45:24 +0200 Subject: [PATCH 07/87] Test env variables --- dist/managers/GiveawaysManager.d.ts | 2 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 14 ++++++++------ dist/managers/GiveawaysManager.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/classes/GiveawaysCommandManager.html | 4 ++-- docs/classes/GiveawaysEventHandler.html | 4 ++-- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- docs/interfaces/IGiveawayEvents.html | 4 ++-- src/managers/GiveawaysManager.ts | 20 ++++++++++++-------- 10 files changed, 34 insertions(+), 28 deletions(-) diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index ed95779..39c42cd 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -16,7 +16,7 @@ export interface IGiveawayStartOptions { } export interface IGiveaway extends IGiveawayStartOptions { id: Snowflake; - messageID: Snowflake; + messageID?: Snowflake; entries: Snowflake[]; winners: Snowflake[]; } diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 45334d2..7fa4c7a 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAc,SAAS,EAAiB,MAAM,YAAY,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,gBAAgB;IAGN,OAAO,CAAC,QAAQ,CAAC,MAAM;IAF1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;gBAE/B,MAAM,EAAE,cAAc;IAE7C,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IAsBlD,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IA4B/B,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAiBxC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAQzC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAWnD,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAc,SAAS,EAAiB,MAAM,YAAY,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,gBAAgB;IAGN,OAAO,CAAC,QAAQ,CAAC,MAAM;IAF1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;gBAE/B,MAAM,EAAE,cAAc;IAE7C,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA0BlD,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IA4B/B,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAiBxC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAQzC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAWnD,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 4319fef..56b25b4 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -11,19 +11,21 @@ class GiveawaysManager { } async start(ctx, options) { const id = discord_js_1.SnowflakeUtil.generate().toString(); - await forgescript_1.Interpreter.run({ - ...ctx.runtime, - data: forgescript_1.Compiler.compile(this.client.options.messages?.start), - doNotSend: false - }); const giveaway = { ...options, id, - messageID: "", entries: [], winners: [] }; + ctx.setEnvironmentKey("giveaway", giveaway); + const result = await forgescript_1.Interpreter.run({ + ...ctx.runtime, + data: forgescript_1.Compiler.compile(this.client.options.messages?.start), + doNotSend: false + }); + giveaway.messageID = result || undefined; this.giveaways.set(id, giveaway); + console.log(this.giveaways); setTimeout(() => this.end(ctx, id), options.duration); return giveaway; } diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 53bda92..1671d9c 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":";;;AAAA,uDAAsE;AACtE,2CAAiE;AAwBjE,MAAa,gBAAgB;IAGW;IAFnB,SAAS,GAAG,IAAI,uBAAU,EAAwB,CAAA;IAEnE,YAAoC,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAEvD,KAAK,CAAC,KAAK,CAAC,GAAY,EAAE,OAA8B;QAC3D,MAAM,EAAE,GAAG,0BAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAA;QAE9C,MAAM,QAAQ,GAAG;YACb,GAAG,OAAO;YACV,EAAE;YACF,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;SACD,CAAA;QAEd,GAAG,CAAC,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAE3C,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC;YACjC,GAAG,GAAG,CAAC,OAAO;YACd,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC;YAC3D,SAAS,EAAE,KAAK;SACnB,CAAC,CAAA;QAEF,QAAQ,CAAC,SAAS,GAAG,MAAM,IAAI,SAAS,CAAA;QAExC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC3B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QACrD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,EAAa;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAE1B,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACpD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAClD,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAA;YAEzB,MAAM,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAA;YACjC,MAAM,gBAAgB,GAAG,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;YACnG,MAAM,iBAAiB,GAAG,YAAY,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;YACvG,MAAM,mBAAmB,GAAG,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAEjF,OAAO,gBAAgB,IAAI,iBAAiB,IAAI,mBAAmB,CAAA;QACvE,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QACxE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;QAE1B,MAAM,yBAAW,CAAC,GAAG,CAAC;YAClB,GAAG,GAAG,CAAC,OAAO;YACd,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;YACzD,SAAS,EAAE,KAAK;SACnB,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAY,EAAE,EAAa;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAE1B,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACnF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC3E,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAA;QAE7B,MAAM,yBAAW,CAAC,GAAG,CAAC;YAClB,GAAG,GAAG,CAAC,OAAO;YACd,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;YAC5D,SAAS,EAAE,KAAK;SACnB,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEM,QAAQ,CAAC,EAAa,EAAE,MAAiB;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAA;QAEhE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,WAAW,CAAC,EAAa,EAAE,MAAiB;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAA;QAE3B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC9C,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QAE9B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACjC,OAAO,IAAI,CAAA;IACf,CAAC;IAEO,WAAW,CAAC,OAAoB,EAAE,MAAc;QACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;QACxD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;CACJ;AAnGD,4CAmGC"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 26333a2..b3759f1 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 384dbbe..af740af 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 27a34e8..24c4f06 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 2b7c40d..5e25c7a 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end?: string;
        reroll?: string;
        start?: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end?: string;
        reroll?: string;
        start?: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end?: string;
    reroll?: string;
    start?: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end?: string;
    reroll?: string;
    start?: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index dca0cfa..02b94b3 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,5 +1,5 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayEnd: [{
        data: null | IGiveaway;
    }];
    giveawayReroll: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayStart: [{
        data: null | IGiveaway;
    }];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayEnd: [{
        data: null | IGiveaway;
    }];
    giveawayReroll: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayStart: [{
        data: null | IGiveaway;
    }];
}

Properties

giveawayEdit: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayEnd: [{
    data: null | IGiveaway;
}]
giveawayReroll: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayStart: [{
    data: null | IGiveaway;
}]
+

Properties

giveawayEdit: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayEnd: [{
    data: null | IGiveaway;
}]
giveawayReroll: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayStart: [{
    data: null | IGiveaway;
}]
diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index d8222f7..4370193 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -18,7 +18,7 @@ export interface IGiveawayStartOptions { export interface IGiveaway extends IGiveawayStartOptions { id: Snowflake - messageID: Snowflake + messageID?: Snowflake entries: Snowflake[] winners: Snowflake[] } @@ -31,21 +31,25 @@ export class GiveawaysManager { public async start(ctx: Context, options: IGiveawayStartOptions) { const id = SnowflakeUtil.generate().toString() - await Interpreter.run({ - ...ctx.runtime, - data: Compiler.compile(this.client.options.messages?.start), - doNotSend: false - }) - const giveaway = { ...options, id, - messageID: "", entries: [], winners: [] } as IGiveaway + ctx.setEnvironmentKey("giveaway", giveaway) + + const result = await Interpreter.run({ + ...ctx.runtime, + data: Compiler.compile(this.client.options.messages?.start), + doNotSend: false + }) + + giveaway.messageID = result || undefined + this.giveaways.set(id, giveaway) + console.log(this.giveaways) setTimeout(() => this.end(ctx, id), options.duration) return giveaway } From a8ddde3089505d84803f85c7a9887c36361f9d55 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Wed, 15 Oct 2025 00:50:42 +0200 Subject: [PATCH 08/87] Fix? --- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 4 ++-- dist/managers/GiveawaysManager.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/classes/GiveawaysCommandManager.html | 4 ++-- docs/classes/GiveawaysEventHandler.html | 4 ++-- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- docs/interfaces/IGiveawayEvents.html | 4 ++-- src/managers/GiveawaysManager.ts | 5 ++--- 9 files changed, 17 insertions(+), 18 deletions(-) diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 7fa4c7a..1805759 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAc,SAAS,EAAiB,MAAM,YAAY,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,gBAAgB;IAGN,OAAO,CAAC,QAAQ,CAAC,MAAM;IAF1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;gBAE/B,MAAM,EAAE,cAAc;IAE7C,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA0BlD,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IA4B/B,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAiBxC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAQzC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAWnD,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAc,SAAS,EAAiB,MAAM,YAAY,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,gBAAgB;IAGN,OAAO,CAAC,QAAQ,CAAC,MAAM;IAF1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;gBAE/B,MAAM,EAAE,cAAc;IAE7C,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IAyBlD,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IA4B/B,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAiBxC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAQzC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAWnD,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 56b25b4..7b17d1f 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -17,13 +17,13 @@ class GiveawaysManager { entries: [], winners: [] }; - ctx.setEnvironmentKey("giveaway", giveaway); const result = await forgescript_1.Interpreter.run({ ...ctx.runtime, + environment: { giveaway }, data: forgescript_1.Compiler.compile(this.client.options.messages?.start), doNotSend: false }); - giveaway.messageID = result || undefined; + giveaway.messageID = result?.trim() || undefined; this.giveaways.set(id, giveaway); console.log(this.giveaways); setTimeout(() => this.end(ctx, id), options.duration); diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 1671d9c..c1ae579 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index b3759f1..37bacb0 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index af740af..0786827 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 24c4f06..26f3af2 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 5e25c7a..f4ee8fa 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end?: string;
        reroll?: string;
        start?: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end?: string;
        reroll?: string;
        start?: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end?: string;
    reroll?: string;
    start?: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end?: string;
    reroll?: string;
    start?: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 02b94b3..e0595ae 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,5 +1,5 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayEnd: [{
        data: null | IGiveaway;
    }];
    giveawayReroll: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayStart: [{
        data: null | IGiveaway;
    }];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayEnd: [{
        data: null | IGiveaway;
    }];
    giveawayReroll: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayStart: [{
        data: null | IGiveaway;
    }];
}

Properties

giveawayEdit: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayEnd: [{
    data: null | IGiveaway;
}]
giveawayReroll: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayStart: [{
    data: null | IGiveaway;
}]
+

Properties

giveawayEdit: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayEnd: [{
    data: null | IGiveaway;
}]
giveawayReroll: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayStart: [{
    data: null | IGiveaway;
}]
diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 4370193..a912cce 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -38,15 +38,14 @@ export class GiveawaysManager { winners: [] } as IGiveaway - ctx.setEnvironmentKey("giveaway", giveaway) - const result = await Interpreter.run({ ...ctx.runtime, + environment: { giveaway }, data: Compiler.compile(this.client.options.messages?.start), doNotSend: false }) - giveaway.messageID = result || undefined + giveaway.messageID = result?.trim() || undefined this.giveaways.set(id, giveaway) console.log(this.giveaways) From ad8b505ba2e3e40564b249226f96d87db3d89738 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Wed, 15 Oct 2025 01:23:39 +0200 Subject: [PATCH 09/87] Added default messages --- dist/index.d.ts | 6 ++-- dist/index.d.ts.map | 2 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 33 ++++++++++++++----- dist/managers/GiveawaysManager.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 ++-- docs/classes/GiveawaysCommandManager.html | 4 +-- docs/classes/GiveawaysEventHandler.html | 4 +-- docs/interfaces/IForgeGiveawaysOptions.html | 4 +-- docs/interfaces/IGiveawayEvents.html | 4 +-- src/index.ts | 6 ++-- src/managers/GiveawaysManager.ts | 35 ++++++++++++++++----- 12 files changed, 73 insertions(+), 35 deletions(-) diff --git a/dist/index.d.ts b/dist/index.d.ts index 0256fa8..182c6c0 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -5,9 +5,9 @@ import { GiveawaysManager } from "./managers/GiveawaysManager"; export interface IForgeGiveawaysOptions { events?: keyof IGiveawayEvents; messages?: { - start?: string; - end?: string; - reroll?: string; + start: string; + end: string; + reroll: string; }; } export declare class ForgeGiveaways extends ForgeExtension { diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 8e49356..919ca30 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,MAAM,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAQV,OAAO,EAAE,sBAAsB;IAPnE,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAE5C,SAAgB,gBAAgB,mBAA6B;IAC7D,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,EAAE,sBAAsB;IAK5D,IAAI,CAAE,MAAM,EAAE,WAAW;CAUnC;AAED,cAAc,YAAY,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAQV,OAAO,EAAE,sBAAsB;IAPnE,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAE5C,SAAgB,gBAAgB,mBAA6B;IAC7D,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,EAAE,sBAAsB;IAK5D,IAAI,CAAE,MAAM,EAAE,WAAW;CAUnC;AAED,cAAc,YAAY,CAAA"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 1805759..1a13165 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAc,SAAS,EAAiB,MAAM,YAAY,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,gBAAgB;IAGN,OAAO,CAAC,QAAQ,CAAC,MAAM;IAF1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;gBAE/B,MAAM,EAAE,cAAc;IAE7C,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IAyBlD,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IA4B/B,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAiBxC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAQzC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAWnD,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAc,SAAS,EAA8B,MAAM,YAAY,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,gBAAgB;IAGN,OAAO,CAAC,QAAQ,CAAC,MAAM;IAF1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;gBAE/B,MAAM,EAAE,cAAc;IAE7C,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IAoClD,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAmC/B,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAkBxC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAQzC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAWnD,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 7b17d1f..141fc91 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -20,12 +20,23 @@ class GiveawaysManager { const result = await forgescript_1.Interpreter.run({ ...ctx.runtime, environment: { giveaway }, - data: forgescript_1.Compiler.compile(this.client.options.messages?.start), - doNotSend: false + data: forgescript_1.Compiler.compile(this.client.options.messages?.start || ` + $sendMessage[$env[giveaway;channelID]; + $title[🎉 GIVEAWAY 🎉] + $description[**Prize:** $env[giveaway;prize]\n**Winners:** $env[giveaway;winnersCount]] + $addField[Ends;;true] + $addField[Hosted by;<@$env[giveaway;hostID]>;true] + $color[Green] + $addActionRow + $addButton[giveaway;Enter;Primary] + ;true] + `), + doNotSend: true, }); - giveaway.messageID = result?.trim() || undefined; + const res = result?.trim(); + const chan = ctx.client.channels.cache.get(giveaway.channelID); + giveaway.messageID = (res && chan?.messages.cache.get(res) ? res : undefined); this.giveaways.set(id, giveaway); - console.log(this.giveaways); setTimeout(() => this.end(ctx, id), options.duration); return giveaway; } @@ -47,8 +58,15 @@ class GiveawaysManager { giveaway.winners = winners; await forgescript_1.Interpreter.run({ ...ctx.runtime, - data: forgescript_1.Compiler.compile(this.client.options.messages?.end), - doNotSend: false, + environment: { giveaway }, + data: forgescript_1.Compiler.compile(this.client.options.messages?.end || ` + $!editMessage[$env[giveaway;channelID];$env[giveaway;messageID]; + $fetchEmbeds[$env[giveaway;channelID];$env[giveaway;messageID]] + $title[🎉 GIVEAWAY ENDED 🎉] + $color[Red] + ] + `), + doNotSend: true, }); return giveaway; } @@ -61,8 +79,9 @@ class GiveawaysManager { giveaway.winners = newWinners; await forgescript_1.Interpreter.run({ ...ctx.runtime, + environment: { giveaway }, data: forgescript_1.Compiler.compile(this.client.options.messages?.reroll), - doNotSend: false, + doNotSend: true, }); return giveaway; } diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index c1ae579..04a2153 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 37bacb0..e5076c9 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 0786827..a76b8e9 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 26f3af2..6dd5991 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index f4ee8fa..999209b 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end?: string;
        reroll?: string;
        start?: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end?: string;
    reroll?: string;
    start?: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index e0595ae..2c2aedb 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,5 +1,5 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayEnd: [{
        data: null | IGiveaway;
    }];
    giveawayReroll: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayStart: [{
        data: null | IGiveaway;
    }];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayEnd: [{
        data: null | IGiveaway;
    }];
    giveawayReroll: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayStart: [{
        data: null | IGiveaway;
    }];
}

Properties

giveawayEdit: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayEnd: [{
    data: null | IGiveaway;
}]
giveawayReroll: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayStart: [{
    data: null | IGiveaway;
}]
+

Properties

giveawayEdit: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayEnd: [{
    data: null | IGiveaway;
}]
giveawayReroll: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayStart: [{
    data: null | IGiveaway;
}]
diff --git a/src/index.ts b/src/index.ts index f00dd69..d9c3000 100644 --- a/src/index.ts +++ b/src/index.ts @@ -6,9 +6,9 @@ import { GiveawaysManager } from "./managers/GiveawaysManager" export interface IForgeGiveawaysOptions { events?: keyof IGiveawayEvents messages?: { - start?: string - end?: string - reroll?: string + start: string + end: string + reroll: string } } diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index a912cce..a370de9 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -1,5 +1,5 @@ import { Compiler, Context, Interpreter } from "@tryforge/forgescript" -import { Collection, Snowflake, SnowflakeUtil } from "discord.js" +import { Collection, Snowflake, SnowflakeUtil, TextChannel } from "discord.js" import { ForgeGiveaways } from ".." export interface IGiveawayStartOptions { @@ -41,14 +41,25 @@ export class GiveawaysManager { const result = await Interpreter.run({ ...ctx.runtime, environment: { giveaway }, - data: Compiler.compile(this.client.options.messages?.start), - doNotSend: false + data: Compiler.compile(this.client.options.messages?.start || ` + $sendMessage[$env[giveaway;channelID]; + $title[🎉 GIVEAWAY 🎉] + $description[**Prize:** $env[giveaway;prize]\n**Winners:** $env[giveaway;winnersCount]] + $addField[Ends;;true] + $addField[Hosted by;<@$env[giveaway;hostID]>;true] + $color[Green] + $addActionRow + $addButton[giveaway;Enter;Primary] + ;true] + `), + doNotSend: true, }) - giveaway.messageID = result?.trim() || undefined + const res = result?.trim() + const chan = ctx.client.channels.cache.get(giveaway.channelID) + giveaway.messageID = (res && (chan as TextChannel)?.messages.cache.get(res) ? res : undefined) this.giveaways.set(id, giveaway) - console.log(this.giveaways) setTimeout(() => this.end(ctx, id), options.duration) return giveaway } @@ -74,8 +85,15 @@ export class GiveawaysManager { await Interpreter.run({ ...ctx.runtime, - data: Compiler.compile(this.client.options.messages?.end), - doNotSend: false, + environment: { giveaway }, + data: Compiler.compile(this.client.options.messages?.end || ` + $!editMessage[$env[giveaway;channelID];$env[giveaway;messageID]; + $fetchEmbeds[$env[giveaway;channelID];$env[giveaway;messageID]] + $title[🎉 GIVEAWAY ENDED 🎉] + $color[Red] + ] + `), + doNotSend: true, }) return giveaway @@ -91,8 +109,9 @@ export class GiveawaysManager { await Interpreter.run({ ...ctx.runtime, + environment: { giveaway }, data: Compiler.compile(this.client.options.messages?.reroll), - doNotSend: false, + doNotSend: true, }) return giveaway From 0f0c61f23437aa6e1bdc16f8f44f05d11064daf0 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Wed, 15 Oct 2025 23:13:38 +0200 Subject: [PATCH 10/87] Added event emitter --- dist/index.d.ts | 7 +++- dist/index.d.ts.map | 2 +- dist/index.js | 6 ++- dist/index.js.map | 2 +- dist/managers/GiveawaysEventManager.d.ts.map | 2 +- dist/managers/GiveawaysEventManager.js | 6 ++- dist/managers/GiveawaysEventManager.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 25 ++++++++++- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 34 ++++++++++++--- dist/managers/GiveawaysManager.js.map | 2 +- dist/managers/index.d.ts | 1 + dist/managers/index.d.ts.map | 2 +- dist/managers/index.js | 1 + dist/managers/index.js.map | 2 +- docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/ForgeGiveaways.html | 9 ++-- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysManager.html | 14 +++++++ docs/hierarchy.html | 1 + docs/interfaces/IForgeGiveawaysOptions.html | 4 +- docs/interfaces/IGiveaway.html | 12 ++++++ docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 8 ++++ docs/modules.html | 3 ++ package-lock.json | 3 +- package.json | 3 +- src/index.ts | 10 +++-- src/managers/GiveawaysEventManager.ts | 41 +++++++++++------- src/managers/GiveawaysManager.ts | 44 ++++++++++++++++---- src/managers/index.ts | 3 +- 33 files changed, 205 insertions(+), 62 deletions(-) create mode 100644 docs/classes/GiveawaysManager.html create mode 100644 docs/hierarchy.html create mode 100644 docs/interfaces/IGiveaway.html create mode 100644 docs/interfaces/IGiveawayStartOptions.html diff --git a/dist/index.d.ts b/dist/index.d.ts index 182c6c0..9814199 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -2,6 +2,8 @@ import { ForgeClient, ForgeExtension } from "@tryforge/forgescript"; import { IGiveawayEvents } from "./managers/GiveawaysEventManager"; import { GiveawaysCommandManager } from "./managers/GiveawaysCommandManager"; import { GiveawaysManager } from "./managers/GiveawaysManager"; +import { TypedEmitter } from "tiny-typed-emitter"; +import { TransformEvents } from "@tryforge/forge.db"; export interface IForgeGiveawaysOptions { events?: keyof IGiveawayEvents; messages?: { @@ -11,13 +13,14 @@ export interface IForgeGiveawaysOptions { }; } export declare class ForgeGiveaways extends ForgeExtension { - readonly options: IForgeGiveawaysOptions; + readonly options?: IForgeGiveawaysOptions | undefined; name: string; description: string; version: any; + emitter: TypedEmitter>; readonly giveawaysManager: GiveawaysManager; commands: GiveawaysCommandManager | null; - constructor(options: IForgeGiveawaysOptions); + constructor(options?: IForgeGiveawaysOptions | undefined); init(client: ForgeClient): void; } export * from "./managers"; diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 919ca30..3f92c43 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAQV,OAAO,EAAE,sBAAsB;IAPnE,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAE5C,SAAgB,gBAAgB,mBAA6B;IAC7D,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,EAAE,sBAAsB;IAK5D,IAAI,CAAE,MAAM,EAAE,WAAW;CAUnC;AAED,cAAc,YAAY,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAUV,OAAO,CAAC,EAAE,sBAAsB;IATpE,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAErC,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAK7D,IAAI,CAAE,MAAM,EAAE,WAAW;CAUnC;AAED,cAAc,YAAY,CAAA"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 28ced9d..ea31328 100644 --- a/dist/index.js +++ b/dist/index.js @@ -18,12 +18,14 @@ exports.ForgeGiveaways = void 0; const forgescript_1 = require("@tryforge/forgescript"); const GiveawaysCommandManager_1 = require("./managers/GiveawaysCommandManager"); const GiveawaysManager_1 = require("./managers/GiveawaysManager"); +const tiny_typed_emitter_1 = require("tiny-typed-emitter"); class ForgeGiveaways extends forgescript_1.ForgeExtension { options; name = "ForgeGiveaways"; description = ""; version = require("../package.json").version; - giveawaysManager = new GiveawaysManager_1.GiveawaysManager(this); + emitter = new tiny_typed_emitter_1.TypedEmitter(); + giveawaysManager = new GiveawaysManager_1.GiveawaysManager(this, this.emitter); commands; constructor(options) { super(); @@ -34,7 +36,7 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { this.commands = new GiveawaysCommandManager_1.GiveawaysCommandManager(client); forgescript_1.EventManager.load("ForgeGiveawaysEvents", __dirname + "/events"); this.load(__dirname + "/native"); - if (this.options.events?.length) { + if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); } } diff --git a/dist/index.js.map b/dist/index.js.map index 187024b..0c69ffc 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AAEjF,gFAA4E;AAC5E,kEAA8D;AAW9D,MAAa,cAAe,SAAQ,4BAAc;IAQV;IAPpC,IAAI,GAAG,gBAAgB,CAAA;IACvB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAE5B,gBAAgB,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,CAAA;IAC7D,QAAQ,CAAgC;IAExC,YAAoC,OAA+B;QAC/D,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAwB;QAE/D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,IAAI,CAAE,MAAmB;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,iDAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AAvBD,wCAuBC;AAED,6CAA0B"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AAEjF,gFAA4E;AAC5E,kEAA8D;AAC9D,2DAAiD;AAYjD,MAAa,cAAe,SAAQ,4BAAc;IAUV;IATpC,IAAI,GAAG,gBAAgB,CAAA;IACvB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAErC,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,mCAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,IAAI,CAAE,MAAmB;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,iDAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AAzBD,wCAyBC;AAED,6CAA0B"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.d.ts.map b/dist/managers/GiveawaysEventManager.d.ts.map index aed3d65..381c006 100644 --- a/dist/managers/GiveawaysEventManager.d.ts.map +++ b/dist/managers/GiveawaysEventManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAG9C,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE;QAAC;YACZ,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;SACzB;KAAC,CAAA;IACF,WAAW,EAAE;QAAC;YACV,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;SACzB;KAAC,CAAA;IACF,YAAY,EAAE;QAAC;YACX,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;YACzB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;SAC5B;KAAC,CAAA;IACF,cAAc,EAAE;QAAC;YACb,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;YACzB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;SAC5B;KAAC,CAAA;CACL;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CACtC"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAG9C,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE;QACX;YACI,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;SACzB;KACJ,CAAA;IACD,WAAW,EAAE;QACT;YACI,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;SACzB;KACJ,CAAA;IACD,YAAY,EAAE;QACV;YACI,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;YACzB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;SAC5B;KACJ,CAAA;IACD,cAAc,EAAE;QACZ;YACI,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;YACzB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;SAC5B;KACJ,CAAA;CACJ;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.js b/dist/managers/GiveawaysEventManager.js index 3e4732c..fa34855 100644 --- a/dist/managers/GiveawaysEventManager.js +++ b/dist/managers/GiveawaysEventManager.js @@ -2,8 +2,12 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.GiveawaysEventHandler = void 0; const forgescript_1 = require("@tryforge/forgescript"); +const __1 = require(".."); class GiveawaysEventHandler extends forgescript_1.BaseEventHandler { - register(client) { } + register(client) { + // @ts-ignore + client.getExtension(__1.ForgeGiveaways, true).emitter.on(this.name, this.listener.bind(client)); + } } exports.GiveawaysEventHandler = GiveawaysEventHandler; //# sourceMappingURL=GiveawaysEventManager.js.map \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.js.map b/dist/managers/GiveawaysEventManager.js.map index 923a817..376907c 100644 --- a/dist/managers/GiveawaysEventManager.js.map +++ b/dist/managers/GiveawaysEventManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAqBrE,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB,IAAS,CAAC;CACzC;AAFD,sDAEC"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AA2BnC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index 39c42cd..bb062ec 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -1,6 +1,8 @@ import { Context } from "@tryforge/forgescript"; import { Snowflake } from "discord.js"; -import { ForgeGiveaways } from ".."; +import { ForgeGiveaways, IGiveawayEvents } from ".."; +import { TypedEmitter } from "tiny-typed-emitter"; +import { TransformEvents } from "@tryforge/forge.db"; export interface IGiveawayStartOptions { prize: string; duration: number; @@ -22,10 +24,29 @@ export interface IGiveaway extends IGiveawayStartOptions { } export declare class GiveawaysManager { private readonly client; + private emitter; private readonly giveaways; - constructor(client: ForgeGiveaways); + constructor(client: ForgeGiveaways, emitter: TypedEmitter>); + /** + * + * @param ctx The current context. + * @param options The start options for the giveaway. + * @returns + */ start(ctx: Context, options: IGiveawayStartOptions): Promise; + /** + * + * @param ctx The current context. + * @param id The id of the giveaway to end. + * @returns + */ end(ctx: Context, id: Snowflake): Promise; + /** + * Rerolls an existing giveaway. + * @param ctx The current context. + * @param id The id of the giveaway to reroll. + * @returns + */ reroll(ctx: Context, id: Snowflake): Promise; addEntry(id: Snowflake, userID: Snowflake): boolean; removeEntry(id: Snowflake, userID: Snowflake): boolean; diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 1a13165..5d4c053 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAc,SAAS,EAA8B,MAAM,YAAY,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,gBAAgB;IAGN,OAAO,CAAC,QAAQ,CAAC,MAAM;IAF1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;gBAE/B,MAAM,EAAE,cAAc;IAE7C,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IAoClD,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAmC/B,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAkBxC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAQzC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAWnD,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAc,SAAS,EAA8B,MAAM,YAAY,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;gBAG9C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IAsC/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqC5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqBxC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAQzC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAWnD,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 141fc91..29b3a66 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -5,10 +5,18 @@ const forgescript_1 = require("@tryforge/forgescript"); const discord_js_1 = require("discord.js"); class GiveawaysManager { client; + emitter; giveaways = new discord_js_1.Collection(); - constructor(client) { + constructor(client, emitter) { this.client = client; + this.emitter = emitter; } + /** + * + * @param ctx The current context. + * @param options The start options for the giveaway. + * @returns + */ async start(ctx, options) { const id = discord_js_1.SnowflakeUtil.generate().toString(); const giveaway = { @@ -20,11 +28,11 @@ class GiveawaysManager { const result = await forgescript_1.Interpreter.run({ ...ctx.runtime, environment: { giveaway }, - data: forgescript_1.Compiler.compile(this.client.options.messages?.start || ` + data: forgescript_1.Compiler.compile(this.client.options?.messages?.start || ` $sendMessage[$env[giveaway;channelID]; $title[🎉 GIVEAWAY 🎉] $description[**Prize:** $env[giveaway;prize]\n**Winners:** $env[giveaway;winnersCount]] - $addField[Ends;;true] + $addField[Ends;;true] $addField[Hosted by;<@$env[giveaway;hostID]>;true] $color[Green] $addActionRow @@ -36,10 +44,17 @@ class GiveawaysManager { const res = result?.trim(); const chan = ctx.client.channels.cache.get(giveaway.channelID); giveaway.messageID = (res && chan?.messages.cache.get(res) ? res : undefined); + this.emitter.emit("giveawayStart", { data: giveaway }); this.giveaways.set(id, giveaway); setTimeout(() => this.end(ctx, id), options.duration); return giveaway; } + /** + * + * @param ctx The current context. + * @param id The id of the giveaway to end. + * @returns + */ async end(ctx, id) { const giveaway = this.giveaways.get(id); if (!giveaway) @@ -59,7 +74,7 @@ class GiveawaysManager { await forgescript_1.Interpreter.run({ ...ctx.runtime, environment: { giveaway }, - data: forgescript_1.Compiler.compile(this.client.options.messages?.end || ` + data: forgescript_1.Compiler.compile(this.client.options?.messages?.end || ` $!editMessage[$env[giveaway;channelID];$env[giveaway;messageID]; $fetchEmbeds[$env[giveaway;channelID];$env[giveaway;messageID]] $title[🎉 GIVEAWAY ENDED 🎉] @@ -68,21 +83,30 @@ class GiveawaysManager { `), doNotSend: true, }); + this.emitter.emit("giveawayEnd", { data: giveaway }); return giveaway; } + /** + * Rerolls an existing giveaway. + * @param ctx The current context. + * @param id The id of the giveaway to reroll. + * @returns + */ async reroll(ctx, id) { const giveaway = this.giveaways.get(id); if (!giveaway) return null; + const oldGiveaway = giveaway; const eligibleEntries = giveaway.entries.filter(e => !giveaway.winners.includes(e)); const newWinners = this.pickWinners(eligibleEntries, giveaway.winnersCount); giveaway.winners = newWinners; await forgescript_1.Interpreter.run({ ...ctx.runtime, environment: { giveaway }, - data: forgescript_1.Compiler.compile(this.client.options.messages?.reroll), + data: forgescript_1.Compiler.compile(this.client.options?.messages?.reroll), doNotSend: true, }); + this.emitter.emit("giveawayReroll", { newData: giveaway, oldData: oldGiveaway }); return giveaway; } addEntry(id, userID) { diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 04a2153..21ab8f1 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/managers/index.d.ts b/dist/managers/index.d.ts index bb82364..133e190 100644 --- a/dist/managers/index.d.ts +++ b/dist/managers/index.d.ts @@ -1,3 +1,4 @@ export * from "./GiveawaysCommandManager"; export * from "./GiveawaysEventManager"; +export * from "./GiveawaysManager"; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/managers/index.d.ts.map b/dist/managers/index.d.ts.map index b5bd0b5..2130360 100644 --- a/dist/managers/index.d.ts.map +++ b/dist/managers/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA"} \ No newline at end of file diff --git a/dist/managers/index.js b/dist/managers/index.js index bb99e0c..9366bbd 100644 --- a/dist/managers/index.js +++ b/dist/managers/index.js @@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) { Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./GiveawaysCommandManager"), exports); __exportStar(require("./GiveawaysEventManager"), exports); +__exportStar(require("./GiveawaysManager"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/managers/index.js.map b/dist/managers/index.js.map index 30a3d5c..56e1da2 100644 --- a/dist/managers/index.js.map +++ b/dist/managers/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,0DAAuC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,0DAAuC;AACvC,qDAAkC"} \ No newline at end of file diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 5922342..060d07d 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE43QzQrCMAzA8XfJuTgcKNKr+LGD+ADiIWxxK27paMNUxHcXBEfL3PCcPz+SnJ4gdBfQsLWupJ3pCG/48KCgRalAQ16j9+STeD6rpKlBwdVwAXqerl6ql/pobZsGuTggY0luSI6Ef9mbjlj2yEU9KYfZlJvF5x1bMZaDLxgWchfMySe/0xhPF8sQ/8afbUbUuBly5zcvr2zyqwEAAA==" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE43QPQvCQAyA4f+SuVgsKNJV/BrEwVEcQhvbw15a7kJVxP8uCC09+uHNeXlIcnmD0FMghm1pMtqpmvCBLwsBVCg5xJAUaC3Z0J3PctEFBHBXnEI8j1afoJXaaF1qjZwekTEj0ydHQi97UxPLHjktJuVu5uX+X9Zjy4P7rFMlquTOTxULmRsmZMPh1MWjxbKLN/Gw10y9iN97RhZzGy/uLGhk8tqhsk9fv1f8zWCXAgAA" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index fff3d09..8707649 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7WYW2/aQBCF/8vwuiLMgA34tUovD22lVuqLhSILb4hVsJHtpK0Q/71aX2fZNVmH9ikRnnP27Prbm0+QZ78KCMIT/EzSGALyfAFpdJAQwKf3Wb6TH5IXGf2K/hRfj2WSpQUIeM73EECSljJ/jLayuLNXTp/Kwx4EbPdRUcgCAoCzaBvCGS26luSLTMuxzpNOxRoQcIxymZbD8QciHGRRRDs5OgTTvTGG73nzftAfHso/R/nWFNNOPibMtOvEwOAUZZSXN2aatiZvStZ2bAigNL41Xm3xP8LlMs/2+1vzdS7/KiKtuoS6tkvatHSnP746rT2kznWbpUWZP2/LLHexnOj19m5eJB0Y8eqPS5NN4S1txbLY5kk13E5N6vW3tPwi88K11b72lhZ3bcHnKI120u21WkS3ZNhmh0OUxk6UTljxLW1mF1vftSb72pEt0mzRz8gkTUqn5prCsb1jk797/q4erKF3O1Dnvss/RWm8l/kX2+S8Zj7RhfauDvWCjS8/2rTl98MnD73EvZst798HN02L8+RSNbDKX+R+JcL9wLZ4LcD9tX1wZPNxMn4AGtE/CfBteOe9FuHbK1vtcAjbtKqqPtYID3PPq66ypi0TudwlRTnKd8I0r0wlLfl5IyBJY/kbglO39QRA0/l0DQIeE7mP1U2i3XzV0qv8BMTZ9rn6d9OU/ZBqj1fFdfXdDEQ4E7SaeuRvNiJsxdWD6ofWo/+lEiKIEG1CNISoCQlESDYhGULShHMQ4dwmnBvCuSZcgAgXNuHCEC40oQci9GxCzxB6mtAHEfo2oW8IfU24BBEubcKlIVxqwhWIcGUTrgzhShOuQYRrm3BtCNc6AIoHtLKDJjx4QU+Fj50fC0A6Qai4QCtDaEKEOkWo2EArR2iChDpJqPhAK0towoQ6TagYQStPaAKFOlGoOEErU2hChTpVqFhBK1dogoU6Wah4QStbaMKFOl2omEErX2gChjphpJghK2FkEkY6YaSYISthZBJGF2tUtUjZVynLMqUTRooZshJGJmGkE0aKGbISRiZhzU/V/vAi81LGn+p9Igy7zxkneGg2j3m7eZ1gDsHpfO63iuB0ZruFeta2XJ/hexNkLuhqw26XvdOqN1o5+Wj3N5ZoxhLNnJyqLw69g9cbeG765uzKQrAMThaP6oLQXdC41bK3WjpZtS6yOr/1RsRCkVuqzkofIGJDTG5D3Dq1H0+YGTEzGmVWNEQe2osSewE+ewP+ONfqdT6150SWlLFObqx3nraIrOM4suP13YR5rZnX2smr6WB9SGROjDd0Ay7R4e3u3b0p48UNl6Qjz5xabKFAt5WivpozCzbD0W2K91+XGQ8MByeTy7FmL83tnVmGFhesLwsnl/7ewfrCbMjV5nIqsznnNuUMjlkKtxDd5zQ2InzxdVjnNgKOyVHuk1RCEG7O579JpUIPjBkAAA=="; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index e5076c9..ff45c8f 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,9 +1,10 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index a76b8e9..b8d1f3c 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 6dd5991..27dc648 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html new file mode 100644 index 0000000..8f2b9e4 --- /dev/null +++ b/docs/classes/GiveawaysManager.html @@ -0,0 +1,14 @@ +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

diff --git a/docs/hierarchy.html b/docs/hierarchy.html new file mode 100644 index 0000000..410b2b6 --- /dev/null +++ b/docs/hierarchy.html @@ -0,0 +1 @@ +forge.giveaways

forge.giveaways

Class Hierarchy

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 999209b..a415b00 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html new file mode 100644 index 0000000..f9c4994 --- /dev/null +++ b/docs/interfaces/IGiveaway.html @@ -0,0 +1,12 @@ +IGiveaway | forge.giveaways

Interface IGiveaway

interface IGiveaway {
    channelID: string;
    duration: number;
    entries: string[];
    guildID: string;
    hostID: string;
    id: string;
    messageID?: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winners: string[];
    winnersCount: number;
}

Hierarchy (view full)

Properties

channelID: string
duration: number
entries: string[]
guildID: string
hostID: string
id: string
messageID?: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winners: string[]
winnersCount: number
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 2c2aedb..c8f953e 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,5 +1,5 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayEnd: [{
        data: null | IGiveaway;
    }];
    giveawayReroll: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayStart: [{
        data: null | IGiveaway;
    }];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayEnd: [{
        data: null | IGiveaway;
    }];
    giveawayReroll: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayStart: [{
        data: null | IGiveaway;
    }];
}

Properties

giveawayEdit: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayEnd: [{
    data: null | IGiveaway;
}]
giveawayReroll: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayStart: [{
    data: null | IGiveaway;
}]
+

Properties

giveawayEdit: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayEnd: [{
    data: null | IGiveaway;
}]
giveawayReroll: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayStart: [{
    data: null | IGiveaway;
}]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html new file mode 100644 index 0000000..81d354f --- /dev/null +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -0,0 +1,8 @@ +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Hierarchy (view full)

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
diff --git a/docs/modules.html b/docs/modules.html index d3b4bdf..22c941a 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -1,6 +1,9 @@ forge.giveaways
diff --git a/package-lock.json b/package-lock.json index 0b2d151..4cca015 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,8 @@ "license": "GPL-3.0", "dependencies": { "@tryforge/forge.db": "^2.1.1", - "better-sqlite3": "^11.10.0" + "better-sqlite3": "^11.10.0", + "tiny-typed-emitter": "^2.1.0" }, "devDependencies": { "@tryforge/forgescript": "^2.5.0", diff --git a/package.json b/package.json index ee9115c..6ac4cce 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ }, "dependencies": { "@tryforge/forge.db": "^2.1.1", - "better-sqlite3": "^11.10.0" + "better-sqlite3": "^11.10.0", + "tiny-typed-emitter": "^2.1.0" } } diff --git a/src/index.ts b/src/index.ts index d9c3000..4dc525a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,6 +2,8 @@ import { EventManager, ForgeClient, ForgeExtension } from "@tryforge/forgescript import { IGiveawayEvents } from "./managers/GiveawaysEventManager" import { GiveawaysCommandManager } from "./managers/GiveawaysCommandManager" import { GiveawaysManager } from "./managers/GiveawaysManager" +import { TypedEmitter } from "tiny-typed-emitter" +import { TransformEvents } from "@tryforge/forge.db" export interface IForgeGiveawaysOptions { events?: keyof IGiveawayEvents @@ -17,10 +19,12 @@ export class ForgeGiveaways extends ForgeExtension { description = "" version = require("../package.json").version - public readonly giveawaysManager = new GiveawaysManager(this) + public emitter = new TypedEmitter>() + + public readonly giveawaysManager = new GiveawaysManager(this, this.emitter) commands: GiveawaysCommandManager | null - public constructor (public readonly options: IForgeGiveawaysOptions) { + public constructor (public readonly options?: IForgeGiveawaysOptions) { super() this.commands = null } @@ -31,7 +35,7 @@ export class ForgeGiveaways extends ForgeExtension { EventManager.load("ForgeGiveawaysEvents", __dirname + "/events") this.load(__dirname + "/native") - if (this.options.events?.length) { + if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events) } } diff --git a/src/managers/GiveawaysEventManager.ts b/src/managers/GiveawaysEventManager.ts index e768c60..5c26333 100644 --- a/src/managers/GiveawaysEventManager.ts +++ b/src/managers/GiveawaysEventManager.ts @@ -3,22 +3,33 @@ import { IGiveaway } from "./GiveawaysManager" import { ForgeGiveaways } from ".." export interface IGiveawayEvents { - giveawayStart: [{ - data: IGiveaway | null - }] - giveawayEnd: [{ - data: IGiveaway | null - }] - giveawayEdit: [{ - newData: IGiveaway | null - oldData: IGiveaway | null - }] - giveawayReroll: [{ - newData: IGiveaway | null - oldData: IGiveaway | null - }] + giveawayStart: [ + { + data: IGiveaway | null + } + ] + giveawayEnd: [ + { + data: IGiveaway | null + } + ] + giveawayEdit: [ + { + newData: IGiveaway | null + oldData: IGiveaway | null + } + ] + giveawayReroll: [ + { + newData: IGiveaway | null + oldData: IGiveaway | null + } + ] } export class GiveawaysEventHandler extends BaseEventHandler { - register(client: ForgeClient): void {} + register(client: ForgeClient) { + // @ts-ignore + client.getExtension(ForgeGiveaways, true).emitter.on(this.name, this.listener.bind(client)) + } } \ No newline at end of file diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index a370de9..3c3da09 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -1,6 +1,8 @@ import { Compiler, Context, Interpreter } from "@tryforge/forgescript" import { Collection, Snowflake, SnowflakeUtil, TextChannel } from "discord.js" -import { ForgeGiveaways } from ".." +import { ForgeGiveaways, IGiveawayEvents } from ".." +import { TypedEmitter } from "tiny-typed-emitter" +import { TransformEvents } from "@tryforge/forge.db" export interface IGiveawayStartOptions { prize: string @@ -26,8 +28,17 @@ export interface IGiveaway extends IGiveawayStartOptions { export class GiveawaysManager { private readonly giveaways = new Collection() - public constructor(private readonly client: ForgeGiveaways) {} - + public constructor( + private readonly client: ForgeGiveaways, + private emitter: TypedEmitter> + ) {} + + /** + * + * @param ctx The current context. + * @param options The start options for the giveaway. + * @returns + */ public async start(ctx: Context, options: IGiveawayStartOptions) { const id = SnowflakeUtil.generate().toString() @@ -41,11 +52,11 @@ export class GiveawaysManager { const result = await Interpreter.run({ ...ctx.runtime, environment: { giveaway }, - data: Compiler.compile(this.client.options.messages?.start || ` + data: Compiler.compile(this.client.options?.messages?.start || ` $sendMessage[$env[giveaway;channelID]; $title[🎉 GIVEAWAY 🎉] $description[**Prize:** $env[giveaway;prize]\n**Winners:** $env[giveaway;winnersCount]] - $addField[Ends;;true] + $addField[Ends;;true] $addField[Hosted by;<@$env[giveaway;hostID]>;true] $color[Green] $addActionRow @@ -59,11 +70,19 @@ export class GiveawaysManager { const chan = ctx.client.channels.cache.get(giveaway.channelID) giveaway.messageID = (res && (chan as TextChannel)?.messages.cache.get(res) ? res : undefined) + this.emitter.emit("giveawayStart", { data: giveaway }) + this.giveaways.set(id, giveaway) setTimeout(() => this.end(ctx, id), options.duration) return giveaway } + /** + * + * @param ctx The current context. + * @param id The id of the giveaway to end. + * @returns + */ public async end(ctx: Context, id: Snowflake) { const giveaway = this.giveaways.get(id) if (!giveaway) return null @@ -86,7 +105,7 @@ export class GiveawaysManager { await Interpreter.run({ ...ctx.runtime, environment: { giveaway }, - data: Compiler.compile(this.client.options.messages?.end || ` + data: Compiler.compile(this.client.options?.messages?.end || ` $!editMessage[$env[giveaway;channelID];$env[giveaway;messageID]; $fetchEmbeds[$env[giveaway;channelID];$env[giveaway;messageID]] $title[🎉 GIVEAWAY ENDED 🎉] @@ -96,12 +115,21 @@ export class GiveawaysManager { doNotSend: true, }) + this.emitter.emit("giveawayEnd", { data: giveaway }) + return giveaway } + /** + * Rerolls an existing giveaway. + * @param ctx The current context. + * @param id The id of the giveaway to reroll. + * @returns + */ public async reroll(ctx: Context, id: Snowflake) { const giveaway = this.giveaways.get(id) if (!giveaway) return null + const oldGiveaway = giveaway const eligibleEntries = giveaway.entries.filter(e => !giveaway.winners.includes(e)) const newWinners = this.pickWinners(eligibleEntries, giveaway.winnersCount) @@ -110,10 +138,12 @@ export class GiveawaysManager { await Interpreter.run({ ...ctx.runtime, environment: { giveaway }, - data: Compiler.compile(this.client.options.messages?.reroll), + data: Compiler.compile(this.client.options?.messages?.reroll), doNotSend: true, }) + this.emitter.emit("giveawayReroll", { newData: giveaway, oldData: oldGiveaway }) + return giveaway } diff --git a/src/managers/index.ts b/src/managers/index.ts index b46af8b..c43781e 100644 --- a/src/managers/index.ts +++ b/src/managers/index.ts @@ -1,2 +1,3 @@ export * from "./GiveawaysCommandManager" -export * from "./GiveawaysEventManager" \ No newline at end of file +export * from "./GiveawaysEventManager" +export * from "./GiveawaysManager" \ No newline at end of file From 370ae4fe70b45d1f7070f01114cb6baf7b0fdaa5 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Thu, 16 Oct 2025 01:35:06 +0200 Subject: [PATCH 11/87] Tests --- dist/events/giveawayEdit.d.ts.map | 2 +- dist/events/giveawayEdit.js | 1 + dist/events/giveawayEdit.js.map | 2 +- dist/events/giveawayEnd.d.ts.map | 2 +- dist/events/giveawayEnd.js | 1 + dist/events/giveawayEnd.js.map | 2 +- dist/events/giveawayReroll.d.ts.map | 2 +- dist/events/giveawayReroll.js | 1 + dist/events/giveawayReroll.js.map | 2 +- dist/events/giveawayStart.d.ts.map | 2 +- dist/events/giveawayStart.js | 1 + dist/events/giveawayStart.js.map | 2 +- dist/functions/defineProperties.d.ts | 6 ++ dist/functions/defineProperties.d.ts.map | 1 + dist/functions/defineProperties.js | 7 +++ dist/functions/defineProperties.js.map | 1 + dist/managers/Giveaway.d.ts | 40 +++++++++++++ dist/managers/Giveaway.d.ts.map | 1 + dist/managers/Giveaway.js | 53 +++++++++++++++++ dist/managers/Giveaway.js.map | 1 + dist/managers/GiveawaysEventManager.d.ts | 14 ++--- dist/managers/GiveawaysEventManager.d.ts.map | 2 +- dist/managers/GiveawaysEventManager.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 15 ++--- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 36 +++--------- dist/managers/GiveawaysManager.js.map | 2 +- dist/managers/index.d.ts | 1 + dist/managers/index.d.ts.map | 2 +- dist/managers/index.js | 1 + dist/managers/index.js.map | 2 +- dist/native/giveawayID.d.ts | 4 ++ dist/native/giveawayID.d.ts.map | 1 + dist/native/giveawayID.js | 13 +++++ dist/native/giveawayID.js.map | 1 + dist/native/state/newGiveaway.d.ts | 17 ++++++ dist/native/state/newGiveaway.d.ts.map | 1 + dist/native/state/newGiveaway.js | 34 +++++++++++ dist/native/state/newGiveaway.js.map | 1 + dist/properties/giveaway.d.ts | 18 ++++++ dist/properties/giveaway.d.ts.map | 1 + dist/properties/giveaway.js | 39 +++++++++++++ dist/properties/giveaway.js.map | 1 + dist/structures/Context.d.ts | 6 ++ dist/structures/Context.d.ts.map | 1 + dist/structures/Context.js | 9 +++ dist/structures/Context.js.map | 1 + dist/structures/index.d.ts | 2 + dist/structures/index.d.ts.map | 1 + dist/structures/index.js | 18 ++++++ dist/structures/index.js.map | 1 + docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/ForgeGiveaways.html | 6 +- docs/classes/Giveaway.html | 21 +++++++ docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysManager.html | 14 ++--- docs/hierarchy.html | 2 +- docs/interfaces/IForgeGiveawaysOptions.html | 4 +- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/modules.html | 1 + metadata/enums.json | 2 +- metadata/functions.json | 2 +- src/events/giveawayEdit.ts | 1 + src/events/giveawayEnd.ts | 1 + src/events/giveawayReroll.ts | 1 + src/events/giveawayStart.ts | 1 + src/functions/defineProperties.ts | 9 +++ src/managers/Giveaway.ts | 60 ++++++++++++++++++++ src/managers/GiveawaysEventManager.ts | 15 +++-- src/managers/GiveawaysManager.ts | 50 +++------------- src/managers/index.ts | 3 +- src/native/giveawayID.ts | 13 +++++ src/native/state/newGiveaway.ts | 34 +++++++++++ src/properties/giveaway.ts | 34 +++++++++++ src/structures/Context.ts | 6 ++ src/structures/index.ts | 1 + 80 files changed, 545 insertions(+), 139 deletions(-) create mode 100644 dist/functions/defineProperties.d.ts create mode 100644 dist/functions/defineProperties.d.ts.map create mode 100644 dist/functions/defineProperties.js create mode 100644 dist/functions/defineProperties.js.map create mode 100644 dist/managers/Giveaway.d.ts create mode 100644 dist/managers/Giveaway.d.ts.map create mode 100644 dist/managers/Giveaway.js create mode 100644 dist/managers/Giveaway.js.map create mode 100644 dist/native/giveawayID.d.ts create mode 100644 dist/native/giveawayID.d.ts.map create mode 100644 dist/native/giveawayID.js create mode 100644 dist/native/giveawayID.js.map create mode 100644 dist/native/state/newGiveaway.d.ts create mode 100644 dist/native/state/newGiveaway.d.ts.map create mode 100644 dist/native/state/newGiveaway.js create mode 100644 dist/native/state/newGiveaway.js.map create mode 100644 dist/properties/giveaway.d.ts create mode 100644 dist/properties/giveaway.d.ts.map create mode 100644 dist/properties/giveaway.js create mode 100644 dist/properties/giveaway.js.map create mode 100644 dist/structures/Context.d.ts create mode 100644 dist/structures/Context.d.ts.map create mode 100644 dist/structures/Context.js create mode 100644 dist/structures/Context.js.map create mode 100644 dist/structures/index.d.ts create mode 100644 dist/structures/index.d.ts.map create mode 100644 dist/structures/index.js create mode 100644 dist/structures/index.js.map create mode 100644 docs/classes/Giveaway.html create mode 100644 src/functions/defineProperties.ts create mode 100644 src/managers/Giveaway.ts create mode 100644 src/native/giveawayID.ts create mode 100644 src/native/state/newGiveaway.ts create mode 100644 src/properties/giveaway.ts create mode 100644 src/structures/Context.ts create mode 100644 src/structures/index.ts diff --git a/dist/events/giveawayEdit.d.ts.map b/dist/events/giveawayEdit.d.ts.map index 96b19e6..58d207b 100644 --- a/dist/events/giveawayEdit.d.ts.map +++ b/dist/events/giveawayEdit.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEdit.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayEdit.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAoBE"} \ No newline at end of file diff --git a/dist/events/giveawayEdit.js b/dist/events/giveawayEdit.js index 002ad98..70dd82c 100644 --- a/dist/events/giveawayEdit.js +++ b/dist/events/giveawayEdit.js @@ -16,6 +16,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ command, client: this, data: command.compiled.code, + extras: gw }); } } diff --git a/dist/events/giveawayEdit.js.map b/dist/events/giveawayEdit.js.map index 8a2f18b..381a6d6 100644 --- a/dist/events/giveawayEdit.js.map +++ b/dist/events/giveawayEdit.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;QAEtF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;QAEtF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC3B,MAAM,EAAE,EAAE;iBACb,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEnd.d.ts.map b/dist/events/giveawayEnd.d.ts.map index 707361e..39bc4f1 100644 --- a/dist/events/giveawayEnd.d.ts.map +++ b/dist/events/giveawayEnd.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEnd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayEnd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAoBE"} \ No newline at end of file diff --git a/dist/events/giveawayEnd.js b/dist/events/giveawayEnd.js index d8ccd47..5dfb82b 100644 --- a/dist/events/giveawayEnd.js +++ b/dist/events/giveawayEnd.js @@ -16,6 +16,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ command, client: this, data: command.compiled.code, + extras: gw }); } } diff --git a/dist/events/giveawayEnd.js.map b/dist/events/giveawayEnd.js.map index 9279fbc..85312bd 100644 --- a/dist/events/giveawayEnd.js.map +++ b/dist/events/giveawayEnd.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEnd.js","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;QAErF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEnd.js","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;QAErF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC3B,MAAM,EAAE,EAAE;iBACb,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayReroll.d.ts.map b/dist/events/giveawayReroll.d.ts.map index d463b4b..e1301cc 100644 --- a/dist/events/giveawayReroll.d.ts.map +++ b/dist/events/giveawayReroll.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayReroll.d.ts","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayReroll.d.ts","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAoBE"} \ No newline at end of file diff --git a/dist/events/giveawayReroll.js b/dist/events/giveawayReroll.js index 65bb50e..10dc370 100644 --- a/dist/events/giveawayReroll.js +++ b/dist/events/giveawayReroll.js @@ -16,6 +16,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ command, client: this, data: command.compiled.code, + extras: gw }); } } diff --git a/dist/events/giveawayReroll.js.map b/dist/events/giveawayReroll.js.map index 871aa76..315356b 100644 --- a/dist/events/giveawayReroll.js.map +++ b/dist/events/giveawayReroll.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAExF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAExF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC3B,MAAM,EAAE,EAAE;iBACb,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayStart.d.ts.map b/dist/events/giveawayStart.d.ts.map index d32629f..906fea5 100644 --- a/dist/events/giveawayStart.d.ts.map +++ b/dist/events/giveawayStart.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAoBE"} \ No newline at end of file diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index 4b1ab9e..e5604f5 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -16,6 +16,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ command, client: this, data: command.compiled.code, + extras: gw }); } } diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index 2974ca3..387a926 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEvF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEvF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC3B,MAAM,EAAE,EAAE;iBACb,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/functions/defineProperties.d.ts b/dist/functions/defineProperties.d.ts new file mode 100644 index 0000000..3c450ea --- /dev/null +++ b/dist/functions/defineProperties.d.ts @@ -0,0 +1,6 @@ +import { EnumLike } from "@tryforge/forgescript"; +export type Properties = { + [P in keyof Enum]: (v?: Type | null, sep?: string | null, index?: number | null) => null | undefined | string | number | boolean; +}; +export default function defineProperties(props: Properties): Properties; +//# sourceMappingURL=defineProperties.d.ts.map \ No newline at end of file diff --git a/dist/functions/defineProperties.d.ts.map b/dist/functions/defineProperties.d.ts.map new file mode 100644 index 0000000..9510ade --- /dev/null +++ b/dist/functions/defineProperties.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"defineProperties.d.ts","sourceRoot":"","sources":["../../src/functions/defineProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,QAAQ,EAAE,IAAI,IAAI;KACjD,CAAC,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;CACnI,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,IAAI,SAAS,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,0BAElG"} \ No newline at end of file diff --git a/dist/functions/defineProperties.js b/dist/functions/defineProperties.js new file mode 100644 index 0000000..d8d4b94 --- /dev/null +++ b/dist/functions/defineProperties.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = defineProperties; +function defineProperties(props) { + return props; +} +//# sourceMappingURL=defineProperties.js.map \ No newline at end of file diff --git a/dist/functions/defineProperties.js.map b/dist/functions/defineProperties.js.map new file mode 100644 index 0000000..1e59798 --- /dev/null +++ b/dist/functions/defineProperties.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defineProperties.js","sourceRoot":"","sources":["../../src/functions/defineProperties.ts"],"names":[],"mappings":";;AAMA,mCAEC;AAFD,SAAwB,gBAAgB,CAA8B,KAA6B;IAC/F,OAAO,KAAK,CAAA;AAChB,CAAC"} \ No newline at end of file diff --git a/dist/managers/Giveaway.d.ts b/dist/managers/Giveaway.d.ts new file mode 100644 index 0000000..aac8b71 --- /dev/null +++ b/dist/managers/Giveaway.d.ts @@ -0,0 +1,40 @@ +import { Snowflake } from "discord.js"; +import { IGiveawayStartOptions } from "./GiveawaysManager"; +export interface IGiveaway extends IGiveawayStartOptions { + id: Snowflake; + messageID?: Snowflake; + entries: Snowflake[]; + winners: Snowflake[]; +} +export declare class Giveaway implements IGiveaway { + id: Snowflake; + prize: string; + duration: number; + winnersCount: number; + hostID: Snowflake; + guildID: Snowflake; + channelID: Snowflake; + entries: Snowflake[]; + winners: Snowflake[]; + requirements?: IGiveawayStartOptions["requirements"]; + messageID?: Snowflake; + constructor(options: IGiveawayStartOptions & { + id?: Snowflake; + }); + /** + * Returns whether the giveaway has ended. + * @returns + */ + hasEnded(): boolean; + /** + * Adds a user entry to the giveaway. + * @param userID The user to add as participant. + */ + addEntry(userID: Snowflake): void; + /** + * Removes a user entry from the giveaway. + * @param userID The user to remove as participant. + */ + removeEntry(userID: Snowflake): void; +} +//# sourceMappingURL=Giveaway.d.ts.map \ No newline at end of file diff --git a/dist/managers/Giveaway.d.ts.map b/dist/managers/Giveaway.d.ts.map new file mode 100644 index 0000000..76d6372 --- /dev/null +++ b/dist/managers/Giveaway.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/managers/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,QAAS,YAAW,SAAS;IAC/B,EAAE,EAAE,SAAS,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IACpD,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,EAAE,qBAAqB,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAa/D;;;OAGG;IACI,QAAQ;IAIf;;;OAGG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAIjC;;;OAGG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;CAGvC"} \ No newline at end of file diff --git a/dist/managers/Giveaway.js b/dist/managers/Giveaway.js new file mode 100644 index 0000000..cedf72a --- /dev/null +++ b/dist/managers/Giveaway.js @@ -0,0 +1,53 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Giveaway = void 0; +const discord_js_1 = require("discord.js"); +class Giveaway { + id; + prize; + duration; + winnersCount; + hostID; + guildID; + channelID; + entries; + winners; + requirements; + messageID; + constructor(options) { + this.id = options.id ?? discord_js_1.SnowflakeUtil.generate().toString(); + this.prize = options.prize; + this.duration = options.duration; + this.winnersCount = options.winnersCount; + this.hostID = options.hostID; + this.guildID = options.guildID; + this.channelID = options.channelID; + this.requirements = options.requirements; + this.entries = []; + this.winners = []; + } + /** + * Returns whether the giveaway has ended. + * @returns + */ + hasEnded() { + return (Date.now() > discord_js_1.SnowflakeUtil.timestampFrom(this.id) + this.duration); + } + /** + * Adds a user entry to the giveaway. + * @param userID The user to add as participant. + */ + addEntry(userID) { + if (!this.entries.includes(userID)) + this.entries.push(userID); + } + /** + * Removes a user entry from the giveaway. + * @param userID The user to remove as participant. + */ + removeEntry(userID) { + this.entries = this.entries.filter((e) => e !== userID); + } +} +exports.Giveaway = Giveaway; +//# sourceMappingURL=Giveaway.js.map \ No newline at end of file diff --git a/dist/managers/Giveaway.js.map b/dist/managers/Giveaway.js.map new file mode 100644 index 0000000..cddc15b --- /dev/null +++ b/dist/managers/Giveaway.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/managers/Giveaway.ts"],"names":[],"mappings":";;;AAAA,2CAAqD;AAUrD,MAAa,QAAQ;IACV,EAAE,CAAW;IACb,KAAK,CAAQ;IACb,QAAQ,CAAQ;IAChB,YAAY,CAAQ;IACpB,MAAM,CAAW;IACjB,OAAO,CAAW;IAClB,SAAS,CAAW;IACpB,OAAO,CAAa;IACpB,OAAO,CAAa;IACpB,YAAY,CAAwC;IACpD,SAAS,CAAY;IAE5B,YAAY,OAAmD;QAC3D,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,0BAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAA;QAC3D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IACrB,CAAC;IAED;;;OAGG;IACI,QAAQ;QACX,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,0BAAa,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC9E,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,MAAiB;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjE,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,MAAiB;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;IAC3D,CAAC;CACJ;AAjDD,4BAiDC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.d.ts b/dist/managers/GiveawaysEventManager.d.ts index 43c6065..772e70e 100644 --- a/dist/managers/GiveawaysEventManager.d.ts +++ b/dist/managers/GiveawaysEventManager.d.ts @@ -1,26 +1,26 @@ import { BaseEventHandler, ForgeClient } from "@tryforge/forgescript"; -import { IGiveaway } from "./GiveawaysManager"; +import { Giveaway } from ".."; export interface IGiveawayEvents { giveawayStart: [ { - data: IGiveaway | null; + data: Giveaway | null; } ]; giveawayEnd: [ { - data: IGiveaway | null; + data: Giveaway | null; } ]; giveawayEdit: [ { - newData: IGiveaway | null; - oldData: IGiveaway | null; + newData: Giveaway | null; + oldData: Giveaway | null; } ]; giveawayReroll: [ { - newData: IGiveaway | null; - oldData: IGiveaway | null; + newData: Giveaway | null; + oldData: Giveaway | null; } ]; } diff --git a/dist/managers/GiveawaysEventManager.d.ts.map b/dist/managers/GiveawaysEventManager.d.ts.map index 381c006..e87f3e5 100644 --- a/dist/managers/GiveawaysEventManager.d.ts.map +++ b/dist/managers/GiveawaysEventManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAG9C,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE;QACX;YACI,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;SACzB;KACJ,CAAA;IACD,WAAW,EAAE;QACT;YACI,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;SACzB;KACJ,CAAA;IACD,YAAY,EAAE;QACV;YACI,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;YACzB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;SAC5B;KACJ,CAAA;IACD,cAAc,EAAE;QACZ;YACI,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;YACzB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAA;SAC5B;KACJ,CAAA;CACJ;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAkB,QAAQ,EAAE,MAAM,IAAI,CAAA;AAE7C,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE;QACX;YACI,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAA;SACxB;KACJ,CAAA;IACD,WAAW,EAAE;QACT;YACI,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAA;SACxB;KACJ,CAAA;IACD,YAAY,EAAE;QACV;YACI,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;YACxB,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;SAC3B;KACJ,CAAA;IACD,cAAc,EAAE;QACZ;YACI,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;YACxB,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;SAC3B;KACJ,CAAA;CACJ;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.js.map b/dist/managers/GiveawaysEventManager.js.map index 376907c..116ba00 100644 --- a/dist/managers/GiveawaysEventManager.js.map +++ b/dist/managers/GiveawaysEventManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AA2BnC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AACrE,0BAA6C;AA2B7C,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index bb062ec..03735b6 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -3,6 +3,7 @@ import { Snowflake } from "discord.js"; import { ForgeGiveaways, IGiveawayEvents } from ".."; import { TypedEmitter } from "tiny-typed-emitter"; import { TransformEvents } from "@tryforge/forge.db"; +import { Giveaway } from "./Giveaway"; export interface IGiveawayStartOptions { prize: string; duration: number; @@ -16,12 +17,6 @@ export interface IGiveawayStartOptions { restrictedMembers?: Snowflake[]; }; } -export interface IGiveaway extends IGiveawayStartOptions { - id: Snowflake; - messageID?: Snowflake; - entries: Snowflake[]; - winners: Snowflake[]; -} export declare class GiveawaysManager { private readonly client; private emitter; @@ -33,23 +28,21 @@ export declare class GiveawaysManager { * @param options The start options for the giveaway. * @returns */ - start(ctx: Context, options: IGiveawayStartOptions): Promise; + start(ctx: Context, options: IGiveawayStartOptions): Promise; /** * * @param ctx The current context. * @param id The id of the giveaway to end. * @returns */ - end(ctx: Context, id: Snowflake): Promise; + end(ctx: Context, id: Snowflake): Promise; /** * Rerolls an existing giveaway. * @param ctx The current context. * @param id The id of the giveaway to reroll. * @returns */ - reroll(ctx: Context, id: Snowflake): Promise; - addEntry(id: Snowflake, userID: Snowflake): boolean; - removeEntry(id: Snowflake, userID: Snowflake): boolean; + reroll(ctx: Context, id: Snowflake): Promise; private pickWinners; } //# sourceMappingURL=GiveawaysManager.d.ts.map \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 5d4c053..bce39b9 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAc,SAAS,EAA8B,MAAM,YAAY,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;gBAG9C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IAsC/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqC5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqBxC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAQzC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAWnD,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAc,SAAS,EAAe,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA+B/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqC5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 29b3a66..4de6045 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.GiveawaysManager = void 0; const forgescript_1 = require("@tryforge/forgescript"); const discord_js_1 = require("discord.js"); +const Giveaway_1 = require("./Giveaway"); class GiveawaysManager { client; emitter; @@ -18,13 +19,7 @@ class GiveawaysManager { * @returns */ async start(ctx, options) { - const id = discord_js_1.SnowflakeUtil.generate().toString(); - const giveaway = { - ...options, - id, - entries: [], - winners: [] - }; + const giveaway = new Giveaway_1.Giveaway(options); const result = await forgescript_1.Interpreter.run({ ...ctx.runtime, environment: { giveaway }, @@ -45,8 +40,8 @@ class GiveawaysManager { const chan = ctx.client.channels.cache.get(giveaway.channelID); giveaway.messageID = (res && chan?.messages.cache.get(res) ? res : undefined); this.emitter.emit("giveawayStart", { data: giveaway }); - this.giveaways.set(id, giveaway); - setTimeout(() => this.end(ctx, id), options.duration); + this.giveaways.set(giveaway.id, giveaway); + setTimeout(() => this.end(ctx, giveaway.id), giveaway.duration); return giveaway; } /** @@ -64,8 +59,8 @@ class GiveawaysManager { if (!member) return false; const { requirements } = giveaway; - const hasRequiredRoles = requirements?.requiredRoles?.every(x => member.roles.cache.has(x)) ?? true; - const noRestrictedRoles = requirements?.restrictedRoles?.every(x => !member.roles.cache.has(x)) ?? true; + const hasRequiredRoles = requirements?.requiredRoles?.every((x) => member.roles.cache.has(x)) ?? true; + const noRestrictedRoles = requirements?.restrictedRoles?.every((x) => !member.roles.cache.has(x)) ?? true; const notRestrictedMember = !requirements?.restrictedMembers?.includes(member.id); return hasRequiredRoles && noRestrictedRoles && notRestrictedMember; }); @@ -97,7 +92,7 @@ class GiveawaysManager { if (!giveaway) return null; const oldGiveaway = giveaway; - const eligibleEntries = giveaway.entries.filter(e => !giveaway.winners.includes(e)); + const eligibleEntries = giveaway.entries.filter((e) => !giveaway.winners.includes(e)); const newWinners = this.pickWinners(eligibleEntries, giveaway.winnersCount); giveaway.winners = newWinners; await forgescript_1.Interpreter.run({ @@ -109,23 +104,6 @@ class GiveawaysManager { this.emitter.emit("giveawayReroll", { newData: giveaway, oldData: oldGiveaway }); return giveaway; } - addEntry(id, userID) { - const giveaway = this.giveaways.get(id); - if (!giveaway || giveaway.entries.includes(userID)) - return false; - giveaway.entries.push(userID); - return true; - } - removeEntry(id, userID) { - const giveaway = this.giveaways.get(id); - if (!giveaway) - return false; - const index = giveaway.entries.indexOf(userID); - if (index === -1) - return false; - giveaway.entries.splice(index, 1); - return true; - } pickWinners(entries, amount) { const shuffled = entries.sort(() => Math.random() - 0.5); return shuffled.slice(0, amount); diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 21ab8f1..cd6191e 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/managers/index.d.ts b/dist/managers/index.d.ts index 133e190..fe3d4d4 100644 --- a/dist/managers/index.d.ts +++ b/dist/managers/index.d.ts @@ -1,4 +1,5 @@ export * from "./GiveawaysCommandManager"; export * from "./GiveawaysEventManager"; export * from "./GiveawaysManager"; +export * from "./Giveaway"; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/managers/index.d.ts.map b/dist/managers/index.d.ts.map index 2130360..fdd20a7 100644 --- a/dist/managers/index.d.ts.map +++ b/dist/managers/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA"} \ No newline at end of file diff --git a/dist/managers/index.js b/dist/managers/index.js index 9366bbd..b361d6b 100644 --- a/dist/managers/index.js +++ b/dist/managers/index.js @@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./GiveawaysCommandManager"), exports); __exportStar(require("./GiveawaysEventManager"), exports); __exportStar(require("./GiveawaysManager"), exports); +__exportStar(require("./Giveaway"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/managers/index.js.map b/dist/managers/index.js.map index 56e1da2..afafdf1 100644 --- a/dist/managers/index.js.map +++ b/dist/managers/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,0DAAuC;AACvC,qDAAkC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,0DAAuC;AACvC,qDAAkC;AAClC,6CAA0B"} \ No newline at end of file diff --git a/dist/native/giveawayID.d.ts b/dist/native/giveawayID.d.ts new file mode 100644 index 0000000..35953b1 --- /dev/null +++ b/dist/native/giveawayID.d.ts @@ -0,0 +1,4 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction>[], false>; +export default _default; +//# sourceMappingURL=giveawayID.d.ts.map \ No newline at end of file diff --git a/dist/native/giveawayID.d.ts.map b/dist/native/giveawayID.d.ts.map new file mode 100644 index 0000000..35cb90c --- /dev/null +++ b/dist/native/giveawayID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;AAG/D,wBAQE"} \ No newline at end of file diff --git a/dist/native/giveawayID.js b/dist/native/giveawayID.js new file mode 100644 index 0000000..5421a47 --- /dev/null +++ b/dist/native/giveawayID.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +exports.default = new forgescript_1.NativeFunction({ + name: "$giveawayID", + description: "Returns the id of the current giveaway", + unwrap: false, + output: forgescript_1.ArgType.String, + execute(ctx) { + return this.success(ctx.giveaway?.id); + } +}); +//# sourceMappingURL=giveawayID.js.map \ No newline at end of file diff --git a/dist/native/giveawayID.js.map b/dist/native/giveawayID.js.map new file mode 100644 index 0000000..c1a5b71 --- /dev/null +++ b/dist/native/giveawayID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayID.js","sourceRoot":"","sources":["../../src/native/giveawayID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAG/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/state/newGiveaway.d.ts b/dist/native/state/newGiveaway.d.ts new file mode 100644 index 0000000..1354218 --- /dev/null +++ b/dist/native/state/newGiveaway.d.ts @@ -0,0 +1,17 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +import { GiveawayProperty } from "../../properties/giveaway"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.Enum; + enum: typeof GiveawayProperty; +}, { + name: string; + description: string; + rest: false; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=newGiveaway.d.ts.map \ No newline at end of file diff --git a/dist/native/state/newGiveaway.d.ts.map b/dist/native/state/newGiveaway.d.ts.map new file mode 100644 index 0000000..acbd0c2 --- /dev/null +++ b/dist/native/state/newGiveaway.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"newGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAIhF,wBA2BE"} \ No newline at end of file diff --git a/dist/native/state/newGiveaway.js b/dist/native/state/newGiveaway.js new file mode 100644 index 0000000..ec8ddec --- /dev/null +++ b/dist/native/state/newGiveaway.js @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const giveaway_1 = require("../../properties/giveaway"); +exports.default = new forgescript_1.NativeFunction({ + name: "$newGiveaway", + description: "Retrieves new data from an event whose context was a giveaway instance", + unwrap: true, + brackets: false, + args: [ + { + name: "property", + description: "The property of the giveaway to return", + rest: false, + required: true, + type: forgescript_1.ArgType.Enum, + enum: giveaway_1.GiveawayProperty + }, + { + name: "separator", + description: "The separator to use in case of array", + rest: false, + type: forgescript_1.ArgType.String + } + ], + output: forgescript_1.ArgType.Unknown, + execute(ctx, [prop, sep]) { + const giveaway = ctx.runtime.extras; + if (!giveaway || prop) + return this.success(giveaway_1.GiveawayProperties[prop](giveaway.newData, sep)); + return this.successJSON(giveaway.newData); + } +}); +//# sourceMappingURL=newGiveaway.js.map \ No newline at end of file diff --git a/dist/native/state/newGiveaway.js.map b/dist/native/state/newGiveaway.js.map new file mode 100644 index 0000000..1e74673 --- /dev/null +++ b/dist/native/state/newGiveaway.js.map @@ -0,0 +1 @@ +{"version":3,"file":"newGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAIhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAY,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAA+B,CAAA;QAC5D,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;QAC3F,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/properties/giveaway.d.ts b/dist/properties/giveaway.d.ts new file mode 100644 index 0000000..27aad58 --- /dev/null +++ b/dist/properties/giveaway.d.ts @@ -0,0 +1,18 @@ +import { Giveaway } from "../managers/Giveaway"; +export declare enum GiveawayProperty { + id = "id", + prize = "prize", + duration = "duration", + winnersCount = "winnersCount", + hostID = "hostID", + guildID = "guildID", + channelID = "channelID", + messageID = "messageID", + entries = "entries", + winners = "winners", + requiredRoles = "requiredRoles", + restrictedRoles = "restrictedRoles", + restrictedMembers = "restrictedMembers" +} +export declare const GiveawayProperties: import("../functions/defineProperties").Properties; +//# sourceMappingURL=giveaway.d.ts.map \ No newline at end of file diff --git a/dist/properties/giveaway.d.ts.map b/dist/properties/giveaway.d.ts.map new file mode 100644 index 0000000..8236f29 --- /dev/null +++ b/dist/properties/giveaway.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveaway.d.ts","sourceRoot":"","sources":["../../src/properties/giveaway.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,oBAAY,gBAAgB;IACxB,EAAE,OAAO;IACT,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;CAC1C;AAED,eAAO,MAAM,kBAAkB,uFAc7B,CAAA"} \ No newline at end of file diff --git a/dist/properties/giveaway.js b/dist/properties/giveaway.js new file mode 100644 index 0000000..56b1245 --- /dev/null +++ b/dist/properties/giveaway.js @@ -0,0 +1,39 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GiveawayProperties = exports.GiveawayProperty = void 0; +const defineProperties_1 = __importDefault(require("../functions/defineProperties")); +var GiveawayProperty; +(function (GiveawayProperty) { + GiveawayProperty["id"] = "id"; + GiveawayProperty["prize"] = "prize"; + GiveawayProperty["duration"] = "duration"; + GiveawayProperty["winnersCount"] = "winnersCount"; + GiveawayProperty["hostID"] = "hostID"; + GiveawayProperty["guildID"] = "guildID"; + GiveawayProperty["channelID"] = "channelID"; + GiveawayProperty["messageID"] = "messageID"; + GiveawayProperty["entries"] = "entries"; + GiveawayProperty["winners"] = "winners"; + GiveawayProperty["requiredRoles"] = "requiredRoles"; + GiveawayProperty["restrictedRoles"] = "restrictedRoles"; + GiveawayProperty["restrictedMembers"] = "restrictedMembers"; +})(GiveawayProperty || (exports.GiveawayProperty = GiveawayProperty = {})); +exports.GiveawayProperties = (0, defineProperties_1.default)({ + id: (i) => i?.id, + prize: (i) => i?.prize, + duration: (i) => i?.duration, + winnersCount: (i) => i?.winnersCount, + hostID: (i) => i?.hostID, + guildID: (i) => i?.guildID, + channelID: (i) => i?.channelID, + messageID: (i) => i?.messageID, + entries: (i, sep) => i?.entries.join(sep ?? ", "), + winners: (i, sep) => i?.winners.join(sep ?? ", "), + requiredRoles: (i, sep) => i?.requirements?.requiredRoles?.join(sep ?? ", "), + restrictedRoles: (i, sep) => i?.requirements?.restrictedRoles?.join(sep ?? ", "), + restrictedMembers: (i, sep) => i?.requirements?.restrictedMembers?.join(sep ?? ", "), +}); +//# sourceMappingURL=giveaway.js.map \ No newline at end of file diff --git a/dist/properties/giveaway.js.map b/dist/properties/giveaway.js.map new file mode 100644 index 0000000..828bde8 --- /dev/null +++ b/dist/properties/giveaway.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveaway.js","sourceRoot":"","sources":["../../src/properties/giveaway.ts"],"names":[],"mappings":";;;;;;AAAA,qFAA4D;AAG5D,IAAY,gBAcX;AAdD,WAAY,gBAAgB;IACxB,6BAAS,CAAA;IACT,mCAAe,CAAA;IACf,yCAAqB,CAAA;IACrB,iDAA6B,CAAA;IAC7B,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,mDAA+B,CAAA;IAC/B,uDAAmC,CAAA;IACnC,2DAAuC,CAAA;AAC3C,CAAC,EAdW,gBAAgB,gCAAhB,gBAAgB,QAc3B;AAEY,QAAA,kBAAkB,GAAG,IAAA,0BAAgB,EAAoC;IAClF,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK;IACtB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ;IAC5B,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY;IACpC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM;IACxB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO;IAC1B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS;IAC9B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS;IAC9B,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IACjD,aAAa,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IAC5E,eAAe,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IAChF,iBAAiB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;CACvF,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/structures/Context.d.ts b/dist/structures/Context.d.ts new file mode 100644 index 0000000..67aedd9 --- /dev/null +++ b/dist/structures/Context.d.ts @@ -0,0 +1,6 @@ +import { Context as ctx } from "@tryforge/forgescript"; +import { Giveaway } from "../managers/Giveaway"; +export declare class Context extends ctx { + giveaway?: Giveaway; +} +//# sourceMappingURL=Context.d.ts.map \ No newline at end of file diff --git a/dist/structures/Context.d.ts.map b/dist/structures/Context.d.ts.map new file mode 100644 index 0000000..036af69 --- /dev/null +++ b/dist/structures/Context.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,qBAAa,OAAQ,SAAQ,GAAG;IAC5B,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACtB"} \ No newline at end of file diff --git a/dist/structures/Context.js b/dist/structures/Context.js new file mode 100644 index 0000000..ad31c82 --- /dev/null +++ b/dist/structures/Context.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Context = void 0; +const forgescript_1 = require("@tryforge/forgescript"); +class Context extends forgescript_1.Context { + giveaway; +} +exports.Context = Context; +//# sourceMappingURL=Context.js.map \ No newline at end of file diff --git a/dist/structures/Context.js.map b/dist/structures/Context.js.map new file mode 100644 index 0000000..c388910 --- /dev/null +++ b/dist/structures/Context.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":";;;AAAA,uDAAsD;AAGtD,MAAa,OAAQ,SAAQ,qBAAG;IAC5B,QAAQ,CAAW;CACtB;AAFD,0BAEC"} \ No newline at end of file diff --git a/dist/structures/index.d.ts b/dist/structures/index.d.ts new file mode 100644 index 0000000..c74e03a --- /dev/null +++ b/dist/structures/index.d.ts @@ -0,0 +1,2 @@ +export * from "./Context"; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/structures/index.d.ts.map b/dist/structures/index.d.ts.map new file mode 100644 index 0000000..4279753 --- /dev/null +++ b/dist/structures/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/structures/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"} \ No newline at end of file diff --git a/dist/structures/index.js b/dist/structures/index.js new file mode 100644 index 0000000..f0388f9 --- /dev/null +++ b/dist/structures/index.js @@ -0,0 +1,18 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./Context"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/structures/index.js.map b/dist/structures/index.js.map new file mode 100644 index 0000000..a67a6a3 --- /dev/null +++ b/dist/structures/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/structures/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB"} \ No newline at end of file diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 060d07d..a62922c 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE43QPQvCQAyA4f+SuVgsKNJV/BrEwVEcQhvbw15a7kJVxP8uCC09+uHNeXlIcnmD0FMghm1pMtqpmvCBLwsBVCg5xJAUaC3Z0J3PctEFBHBXnEI8j1afoJXaaF1qjZwekTEj0ydHQi97UxPLHjktJuVu5uX+X9Zjy4P7rFMlquTOTxULmRsmZMPh1MWjxbKLN/Gw10y9iN97RhZzGy/uLGhk8tqhsk9fv1f8zWCXAgAA" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE43RTQvCMAwG4P+S83A4UGRX8esgHjyKh7DFrbhlow1TEf+7IExa92HPefuQ5j09QeguEMO60hltVEN4w4eBAGqUHGJICjSGTOjOJ7mUBQRwVZxCPI0Wr+ArtaGu0U58XptlVZbI6R4ZM9LD2E/Qy141xLJFTotR2Y55uf+X9dhy5576UIuq2GpEsZC+YEIm7I+6eDSb23i3Hdvrb2iA+JxnYDE348UdBbWM/rYv2aXPbzaN7C7VAgAA" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 8707649..41cca53 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7WcTW/jOBKG/4ty1bjNbzvX2cxMH2YW6AX2YgQNr81OhLHljKSkdzbIf19IpqQqFSlRtvuURsKqekk9rCpRUr8nxel7mdxv3pM/s3yf3HOl0yTfHm1yn3z+5VQ82V+zN7v9vv27/OdLlZ3yMkmT1+KQ3CdZXtni23Zny0/+kYvn6nhI0mR32JalLZP7JPlI20BsyWUXyb7ZvJrr+a6zAgHS5GVb2LwKyw9IONqy3D7Z2SKA3YUytFKiX/SvX6u/X+ylKhad+Rwxi24SgcUpq21RXalp0Tq5SFk7sRBA+f5aeWcXP0JcYYvT4XCtvs7LrSTyVacQ23ZKXaRP+M+j21ox3nndnfKyKl531amIcXmHx/unOVAaWPHmR0xIN/CaWHtb7oqsWe6okHj8NZHfbFHGRu3HXhPRHrOqsnFXsx97TcSndsDv23z7FBnaY3SNht3peNzm+6h9cQcGXxPzNCi2YyH7sTMj8qXsc0CWZ1VUODdw7uxAuun+/vN5sULXNjAuvq943ub7gy3+8KWDMed32NA/1dAswPrCZqod/hDudfCQ+Gm2vP8rWKY9nu+GVoG6MtA9IeEhUIjHBDyMVd6Z4ffZ/AVwRjcR8CVc68ckfJko7mERvm3VjPrtjHCYezhqlDWUJgr7lJW+GhD2ewdsJrYSUj6xkRpux25KfAPjN9VLkf3P34cH/d61NhNXESkPtRWvxRb1FHEKgNkNRHzP8twW5c+n13x8W1EhA9MbiHk+ldXnf8yU0RndQMDTa3bYz1bQW91Awu55m+f2MFsEtLuBjML+9ZoV9jhZyaiSgellYqJvmeN0TN41e92gmYwv1P7L6RA4WpilcDH0d6neyTvWsiqyXXVL4UOPP1z67/b4H1vcVnzv84byfSV8siWO6YVjb8a9TqNux4neQNeAD5DG446fE8VGhCdC4/HGDn5iow2OeMYDTpzkjMX09UGjgMf3O9l44+7u/SI69YkT1onahQ6/YupV+EiwKrKJ3NUC0I68MJTrdSJC9SMvDDXdlYY60arc/5SVP2X5sy2yyu5nhY3qRkc60KuCR3ehE53nVSIius9gx3lV4JiuM9xpXhU6rtsc6zCvCh/dZU50lnNFzO4ur+gob9xF3qxz/FHd4g07xB/XFd60E7yg+wv2ETft9uZ3eRGtgz/ISNswr+D53Y8fu8yubf4gkycrF5Uxf6yow5OZFcsfaeJ8ZG5x8geZOgKZX4cCLE+ecsxtGv1xphrGuf3iKAQXR/GWT3+oqEOZuZVyOtRUlbxBkYwWEVkgb1kf52iLq423LY2X6Jsqi5copDeOfmXTN40ehNFt/PO2fMj3dqqcgWGXxdnu9w95VUwU+jsw7LI4hT2e3mxMKDxyKtpjmmT53v43uX/v3kK4T/hCLNZJmnzL7GFfv1TWvodRPxO3TSXbn3avzT8f3bB/27rzqAefR39aJulmmYr1wmj9+JhuWuPmD80vWh/9bxpDlqQb5jNkxJAhQ56kG+4z5MSQI0ORpBuR8tXCmDUyFMRQIEOZpBuZCrnQyiBDSQwlMlRJulE+Q0UMFTLUSbrRPkNNDDUyNEm6Mb7FMcTQIMNVkm5WqWALvhbIcEUMV8hwnaSbtS/imhiuMQA1D8zLDqPwsAE9DT5+fjwAYYJYzQXzMsQoRAxTxGo2mPBdHEZBYpgkVvPBpDcyhYlhmljNCFNeYwoUw0SxmhOmvcYUKoapYjUrzMsVo2AxTBareWErrzGFi2G6WM0M8/LFKGAME8ZrZriXME4J45gwXjPDvYRxShgf5KgmSfmzlCdNYcJ4zQwXXmNKGMeE8ZoZ7iWMU8I4JozXzHAvYZwSxjFhvGaGewnjlDCOCeM1M9z4EhCnhHFMGK+Z4d7sxSlhHBPGa2b42mtMCeOYMFEzI5Y+Y0EJE5gwUTMjmNeYEiYwYaJmRnCvMSVMDCphUwqF19hTDDFhQgbrKAVMYMBEjYyQ3sAUMIEBEzUyQnmNKWACAyZqZIT2GlPABAZMrII5X1DABAZMrEOlVVC+BOZLLoOtB8VLYrwkC3UfktIlMV2ShxoQSeGSGC7ZwOUtFpLCJQetVgPXyhvZ021humRD19prTOmSmC5Z8yKXXmNKl8R0yZoXybzGlC6J6ZKrYO6TlC6J6ZLrYO6TFC+J8VLLYO5TlC+F+VIsmPsUBUxhwBQP5j5FCVOYMCWCuU9RwhQmTMlg7lOUMDVo6FUo9ylPS48BUzqY+xQFTGHAlAnmPkUBUxgwtQrmPkUBUxgwVSMjva2MooApDJhehnKfpnxpzJdmwVSgKV8a86V5cE9pypfGfGkR3FOa8qUxX1oG95SmfGnMl1bBPaUpYHpw06iDe0p77hsxYNoE95SmgGkMmF4Fc6emgGkMmF4Hc6emgGkMmFkGd7OhhBlMmGGh3WwoYAYDZnhwNxsKmMGAGRHczYYCZjBgRgZ3s6GAGQyYCZdIQwEzGDDTlEjvjYmhgJnByURTIr03JsZzOIEBMw1g3hsTQwFzv2pOvd5sUdn95/Pp12bTHXq/J1/dkZhoj9/eE5Hcv3+kiZDnn0qdfxpW//zoD8aa33ZnY/Xf6vjb/d6eD+R651L23o2JcuOeitTP4IBIDlRyJ8/J1ZF+uy9dercMyGMy0g14ANl7WvWOVm4V107eMsov+s4KKFwChZGeuid/vRsO9HEnULYCRZTb7gMpIA5cFcbjvOTouqregYNNxsHWPdMCrIGlktrNbRXnzX3kAqYGZhbl4lv9JVH3JRd0ZcAWiHLVekGTA0ut1rPc2OZ7EcACcMXjrlrnCl89DlaJxy1T66l9qRA4A4mIxyHZLbfb28f2LVRwHcHqs3nLXzZUPLffpQClIGvwuKzR+fRJBBNnbQqO47Zze34HFUgEe4HHpY3mqfcg64LrK5jLui77ah3l1S3f+ckKmDPIRyxurs/b0p6fYoFdAZbORAo6ldVglmCtxNLN0s1WqyinA4dgctLVUh23PTKcRrpPJXvnQGzcdc186USAbSHjNlvnx5Ms1+BqxiWnDKHrmSfXgOC4S3v+0hPIAi5YnAv3THZwPcH0ZNsTxYHR/3cLYGZgYlFOhpsHyIlbbM/yMlB5Wdxc3GtLYCIAIm5c+XbNhY6bWv+pHXALpPE4aefHwbT7BJ5MXJZpX6sozi8uAAhA0hcOAuW6DBM7WfjaCnANW3BXAJTLGyZuk9NyCth3KmWsyvbliGP7cgSQCtwKd8mVu+QmrhT2/ukag+slnGrlopi4LEUqIbhsbkll3JJ2/wUB2DSwK4xL6N1bUUAR8CLd7HTcRnbeducX7cCWASmBu7ZeuVKmIy7LY5q8ZC/2kOU2ud88fnz8HxRaYKNpRwAA"; \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index ff45c8f..a9cee02 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html new file mode 100644 index 0000000..66ec77f --- /dev/null +++ b/docs/classes/Giveaway.html @@ -0,0 +1,21 @@ +Giveaway | forge.giveaways

Implements

Constructors

Properties

channelID: string
duration: number
entries: string[]
guildID: string
hostID: string
id: string
messageID?: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winners: string[]
winnersCount: number

Methods

  • Adds a user entry to the giveaway.

    +

    Parameters

    • userID: string

      The user to add as participant.

      +

    Returns void

  • Returns whether the giveaway has ended.

    +

    Returns boolean

  • Removes a user entry from the giveaway.

    +

    Parameters

    • userID: string

      The user to remove as participant.

      +

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index b8d1f3c..df9b1c8 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 27dc648..b454c64 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 8f2b9e4..c150244 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,14 +1,12 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

addEntry -end -removeEntry +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Parameters

    • ctx: Context

      The current context.

      +

Constructors

Methods

  • Rerolls an existing giveaway.

    +

Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/hierarchy.html b/docs/hierarchy.html index 410b2b6..c81892c 100644 --- a/docs/hierarchy.html +++ b/docs/hierarchy.html @@ -1 +1 @@ -forge.giveaways

forge.giveaways

Class Hierarchy

+forge.giveaways

forge.giveaways

Class Hierarchy

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index a415b00..99e3995 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index f9c4994..b183fe2 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

Interface IGiveaway

interface IGiveaway {
    channelID: string;
    duration: number;
    entries: string[];
    guildID: string;
    hostID: string;
    id: string;
    messageID?: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winners: string[];
    winnersCount: number;
}

Hierarchy (view full)

Properties

channelID +IGiveaway | forge.giveaways

Interface IGiveaway

interface IGiveaway {
    channelID: string;
    duration: number;
    entries: string[];
    guildID: string;
    hostID: string;
    id: string;
    messageID?: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winners: string[];
    winnersCount: number;
}

Hierarchy (view full)

Implemented by

Properties

channelID: string
duration: number
entries: string[]
guildID: string
hostID: string
id: string
messageID?: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winners: string[]
winnersCount: number
+

Properties

channelID: string
duration: number
entries: string[]
guildID: string
hostID: string
id: string
messageID?: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winners: string[]
winnersCount: number
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index c8f953e..e256245 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,5 +1,5 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayEnd: [{
        data: null | IGiveaway;
    }];
    giveawayReroll: [{
        newData: null | IGiveaway;
        oldData: null | IGiveaway;
    }];
    giveawayStart: [{
        data: null | IGiveaway;
    }];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayEnd: [{
        data: null | Giveaway;
    }];
    giveawayReroll: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayStart: [{
        data: null | Giveaway;
    }];
}

Properties

giveawayEdit: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayEnd: [{
    data: null | IGiveaway;
}]
giveawayReroll: [{
    newData: null | IGiveaway;
    oldData: null | IGiveaway;
}]
giveawayStart: [{
    data: null | IGiveaway;
}]
+

Properties

giveawayEdit: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayEnd: [{
    data: null | Giveaway;
}]
giveawayReroll: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayStart: [{
    data: null | Giveaway;
}]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 81d354f..17589ac 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Hierarchy (view full)

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Hierarchy (view full)

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
diff --git a/docs/modules.html b/docs/modules.html index 22c941a..f19a477 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -1,4 +1,5 @@ forge.giveaways

forge.giveaways

Index

Classes

ForgeGiveaways +Giveaway GiveawaysCommandManager GiveawaysEventHandler GiveawaysManager diff --git a/metadata/enums.json b/metadata/enums.json index 9e26dfe..fd04172 100644 --- a/metadata/enums.json +++ b/metadata/enums.json @@ -1 +1 @@ -{} \ No newline at end of file +{"GiveawayProperty":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"]} \ No newline at end of file diff --git a/metadata/functions.json b/metadata/functions.json index 27d3bbe..1030170 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"]}] \ No newline at end of file +[{"name":"$giveawayID","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"],"version":"1.0.0"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"]},{"name":"$newGiveaway","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state","version":"1.0.0"}] \ No newline at end of file diff --git a/src/events/giveawayEdit.ts b/src/events/giveawayEdit.ts index ad014fe..c350be3 100644 --- a/src/events/giveawayEdit.ts +++ b/src/events/giveawayEdit.ts @@ -16,6 +16,7 @@ export default new GiveawaysEventHandler({ command, client: this, data: command.compiled.code, + extras: gw }) } } diff --git a/src/events/giveawayEnd.ts b/src/events/giveawayEnd.ts index 475b346..d2b8e8e 100644 --- a/src/events/giveawayEnd.ts +++ b/src/events/giveawayEnd.ts @@ -16,6 +16,7 @@ export default new GiveawaysEventHandler({ command, client: this, data: command.compiled.code, + extras: gw }) } } diff --git a/src/events/giveawayReroll.ts b/src/events/giveawayReroll.ts index c274807..f8c3f8a 100644 --- a/src/events/giveawayReroll.ts +++ b/src/events/giveawayReroll.ts @@ -16,6 +16,7 @@ export default new GiveawaysEventHandler({ command, client: this, data: command.compiled.code, + extras: gw }) } } diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index 957a132..cc528a1 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -16,6 +16,7 @@ export default new GiveawaysEventHandler({ command, client: this, data: command.compiled.code, + extras: gw }) } } diff --git a/src/functions/defineProperties.ts b/src/functions/defineProperties.ts new file mode 100644 index 0000000..14f855d --- /dev/null +++ b/src/functions/defineProperties.ts @@ -0,0 +1,9 @@ +import { EnumLike } from "@tryforge/forgescript" + +export type Properties = { + [P in keyof Enum]: (v?: Type | null, sep?: string | null, index?: number | null) => null | undefined | string | number | boolean +} + +export default function defineProperties(props: Properties) { + return props +} \ No newline at end of file diff --git a/src/managers/Giveaway.ts b/src/managers/Giveaway.ts new file mode 100644 index 0000000..bcdf2fa --- /dev/null +++ b/src/managers/Giveaway.ts @@ -0,0 +1,60 @@ +import { Snowflake, SnowflakeUtil } from "discord.js" +import { IGiveawayStartOptions } from "./GiveawaysManager" + +export interface IGiveaway extends IGiveawayStartOptions { + id: Snowflake + messageID?: Snowflake + entries: Snowflake[] + winners: Snowflake[] +} + +export class Giveaway implements IGiveaway { + public id: Snowflake + public prize: string + public duration: number + public winnersCount: number + public hostID: Snowflake + public guildID: Snowflake + public channelID: Snowflake + public entries: Snowflake[] + public winners: Snowflake[] + public requirements?: IGiveawayStartOptions["requirements"] + public messageID?: Snowflake + + constructor(options: IGiveawayStartOptions & { id?: Snowflake }) { + this.id = options.id ?? SnowflakeUtil.generate().toString() + this.prize = options.prize + this.duration = options.duration + this.winnersCount = options.winnersCount + this.hostID = options.hostID + this.guildID = options.guildID + this.channelID = options.channelID + this.requirements = options.requirements + this.entries = [] + this.winners = [] + } + + /** + * Returns whether the giveaway has ended. + * @returns + */ + public hasEnded() { + return (Date.now() > SnowflakeUtil.timestampFrom(this.id) + this.duration) + } + + /** + * Adds a user entry to the giveaway. + * @param userID The user to add as participant. + */ + public addEntry(userID: Snowflake) { + if (!this.entries.includes(userID)) this.entries.push(userID) + } + + /** + * Removes a user entry from the giveaway. + * @param userID The user to remove as participant. + */ + public removeEntry(userID: Snowflake) { + this.entries = this.entries.filter((e) => e !== userID) + } +} \ No newline at end of file diff --git a/src/managers/GiveawaysEventManager.ts b/src/managers/GiveawaysEventManager.ts index 5c26333..957dad7 100644 --- a/src/managers/GiveawaysEventManager.ts +++ b/src/managers/GiveawaysEventManager.ts @@ -1,28 +1,27 @@ import { BaseEventHandler, ForgeClient } from "@tryforge/forgescript" -import { IGiveaway } from "./GiveawaysManager" -import { ForgeGiveaways } from ".." +import { ForgeGiveaways, Giveaway } from ".." export interface IGiveawayEvents { giveawayStart: [ { - data: IGiveaway | null + data: Giveaway | null } ] giveawayEnd: [ { - data: IGiveaway | null + data: Giveaway | null } ] giveawayEdit: [ { - newData: IGiveaway | null - oldData: IGiveaway | null + newData: Giveaway | null + oldData: Giveaway | null } ] giveawayReroll: [ { - newData: IGiveaway | null - oldData: IGiveaway | null + newData: Giveaway | null + oldData: Giveaway | null } ] } diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 3c3da09..fa0d243 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -1,8 +1,9 @@ import { Compiler, Context, Interpreter } from "@tryforge/forgescript" -import { Collection, Snowflake, SnowflakeUtil, TextChannel } from "discord.js" +import { Collection, Snowflake, TextChannel } from "discord.js" import { ForgeGiveaways, IGiveawayEvents } from ".." import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" +import { Giveaway } from "./Giveaway" export interface IGiveawayStartOptions { prize: string @@ -18,15 +19,8 @@ export interface IGiveawayStartOptions { } } -export interface IGiveaway extends IGiveawayStartOptions { - id: Snowflake - messageID?: Snowflake - entries: Snowflake[] - winners: Snowflake[] -} - export class GiveawaysManager { - private readonly giveaways = new Collection() + private readonly giveaways = new Collection() public constructor( private readonly client: ForgeGiveaways, @@ -40,14 +34,7 @@ export class GiveawaysManager { * @returns */ public async start(ctx: Context, options: IGiveawayStartOptions) { - const id = SnowflakeUtil.generate().toString() - - const giveaway = { - ...options, - id, - entries: [], - winners: [] - } as IGiveaway + const giveaway = new Giveaway(options) const result = await Interpreter.run({ ...ctx.runtime, @@ -71,9 +58,9 @@ export class GiveawaysManager { giveaway.messageID = (res && (chan as TextChannel)?.messages.cache.get(res) ? res : undefined) this.emitter.emit("giveawayStart", { data: giveaway }) + this.giveaways.set(giveaway.id, giveaway) + setTimeout(() => this.end(ctx, giveaway.id), giveaway.duration) - this.giveaways.set(id, giveaway) - setTimeout(() => this.end(ctx, id), options.duration) return giveaway } @@ -92,8 +79,8 @@ export class GiveawaysManager { if (!member) return false const { requirements } = giveaway - const hasRequiredRoles = requirements?.requiredRoles?.every(x => member.roles.cache.has(x)) ?? true - const noRestrictedRoles = requirements?.restrictedRoles?.every(x => !member.roles.cache.has(x)) ?? true + const hasRequiredRoles = requirements?.requiredRoles?.every((x) => member.roles.cache.has(x)) ?? true + const noRestrictedRoles = requirements?.restrictedRoles?.every((x) => !member.roles.cache.has(x)) ?? true const notRestrictedMember = !requirements?.restrictedMembers?.includes(member.id) return hasRequiredRoles && noRestrictedRoles && notRestrictedMember @@ -131,7 +118,7 @@ export class GiveawaysManager { if (!giveaway) return null const oldGiveaway = giveaway - const eligibleEntries = giveaway.entries.filter(e => !giveaway.winners.includes(e)) + const eligibleEntries = giveaway.entries.filter((e) => !giveaway.winners.includes(e)) const newWinners = this.pickWinners(eligibleEntries, giveaway.winnersCount) giveaway.winners = newWinners @@ -147,25 +134,6 @@ export class GiveawaysManager { return giveaway } - public addEntry(id: Snowflake, userID: Snowflake) { - const giveaway = this.giveaways.get(id) - if (!giveaway || giveaway.entries.includes(userID)) return false - - giveaway.entries.push(userID) - return true - } - - public removeEntry(id: Snowflake, userID: Snowflake) { - const giveaway = this.giveaways.get(id) - if (!giveaway) return false - - const index = giveaway.entries.indexOf(userID) - if (index === -1) return false - - giveaway.entries.splice(index, 1) - return true - } - private pickWinners(entries: Snowflake[], amount: number) { const shuffled = entries.sort(() => Math.random() - 0.5) return shuffled.slice(0, amount) diff --git a/src/managers/index.ts b/src/managers/index.ts index c43781e..c46a276 100644 --- a/src/managers/index.ts +++ b/src/managers/index.ts @@ -1,3 +1,4 @@ export * from "./GiveawaysCommandManager" export * from "./GiveawaysEventManager" -export * from "./GiveawaysManager" \ No newline at end of file +export * from "./GiveawaysManager" +export * from "./Giveaway" \ No newline at end of file diff --git a/src/native/giveawayID.ts b/src/native/giveawayID.ts new file mode 100644 index 0000000..f9619ae --- /dev/null +++ b/src/native/giveawayID.ts @@ -0,0 +1,13 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import { Context } from "../structures/Context" + +export default new NativeFunction({ + name: "$giveawayID", + version: "1.0.0", + description: "Returns the id of the current giveaway", + unwrap: false, + output: ArgType.String, + execute(ctx: Context) { + return this.success(ctx.giveaway?.id) + } +}) \ No newline at end of file diff --git a/src/native/state/newGiveaway.ts b/src/native/state/newGiveaway.ts new file mode 100644 index 0000000..6d0e7a5 --- /dev/null +++ b/src/native/state/newGiveaway.ts @@ -0,0 +1,34 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import { GiveawayProperties, GiveawayProperty } from "../../properties/giveaway" +import { Context } from "../../structures/Context" +import { Giveaway } from "../../managers" + +export default new NativeFunction({ + name: "$newGiveaway", + version: "1.0.0", + description: "Retrieves new data from an event whose context was a giveaway instance", + unwrap: true, + brackets: false, + args: [ + { + name: "property", + description: "The property of the giveaway to return", + rest: false, + required: true, + type: ArgType.Enum, + enum: GiveawayProperty + }, + { + name: "separator", + description: "The separator to use in case of array", + rest: false, + type: ArgType.String + } + ], + output: ArgType.Unknown, + execute(ctx: Context, [prop, sep]) { + const giveaway = ctx.runtime.extras as { newData: Giveaway } + if (!giveaway || prop) return this.success(GiveawayProperties[prop](giveaway.newData, sep)) + return this.successJSON(giveaway.newData) + } +}) \ No newline at end of file diff --git a/src/properties/giveaway.ts b/src/properties/giveaway.ts new file mode 100644 index 0000000..d544bb2 --- /dev/null +++ b/src/properties/giveaway.ts @@ -0,0 +1,34 @@ +import defineProperties from "../functions/defineProperties" +import { Giveaway } from "../managers/Giveaway" + +export enum GiveawayProperty { + id = "id", + prize = "prize", + duration = "duration", + winnersCount = "winnersCount", + hostID = "hostID", + guildID = "guildID", + channelID = "channelID", + messageID = "messageID", + entries = "entries", + winners = "winners", + requiredRoles = "requiredRoles", + restrictedRoles = "restrictedRoles", + restrictedMembers = "restrictedMembers", +} + +export const GiveawayProperties = defineProperties({ + id: (i) => i?.id, + prize: (i) => i?.prize, + duration: (i) => i?.duration, + winnersCount: (i) => i?.winnersCount, + hostID: (i) => i?.hostID, + guildID: (i) => i?.guildID, + channelID: (i) => i?.channelID, + messageID: (i) => i?.messageID, + entries: (i, sep) => i?.entries.join(sep ?? ", "), + winners: (i, sep) => i?.winners.join(sep ?? ", "), + requiredRoles: (i, sep) => i?.requirements?.requiredRoles?.join(sep ?? ", "), + restrictedRoles: (i, sep) => i?.requirements?.restrictedRoles?.join(sep ?? ", "), + restrictedMembers: (i, sep) => i?.requirements?.restrictedMembers?.join(sep ?? ", "), +}) \ No newline at end of file diff --git a/src/structures/Context.ts b/src/structures/Context.ts new file mode 100644 index 0000000..4ab5ec9 --- /dev/null +++ b/src/structures/Context.ts @@ -0,0 +1,6 @@ +import { Context as ctx } from "@tryforge/forgescript" +import { Giveaway } from "../managers/Giveaway" + +export class Context extends ctx { + giveaway?: Giveaway +} \ No newline at end of file diff --git a/src/structures/index.ts b/src/structures/index.ts new file mode 100644 index 0000000..3ade648 --- /dev/null +++ b/src/structures/index.ts @@ -0,0 +1 @@ +export * from "./Context" \ No newline at end of file From 4838f8d039ed6604cdefbd59a4c49f61e765fda0 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Thu, 16 Oct 2025 01:53:55 +0200 Subject: [PATCH 12/87] Test event data --- dist/managers/GiveawaysEventManager.d.ts | 6 +-- dist/managers/GiveawaysEventManager.d.ts.map | 2 +- dist/managers/GiveawaysEventManager.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 2 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 6 +-- dist/managers/GiveawaysManager.js.map | 2 +- dist/managers/index.d.ts | 1 - dist/managers/index.d.ts.map | 2 +- dist/managers/index.js | 1 - dist/managers/index.js.map | 2 +- dist/native/giveawayID.d.ts.map | 2 +- dist/native/giveawayID.js | 1 + dist/native/giveawayID.js.map | 2 +- dist/native/state/newGiveaway.d.ts.map | 2 +- dist/native/state/newGiveaway.js | 2 + dist/native/state/newGiveaway.js.map | 2 +- dist/properties/giveaway.d.ts | 2 +- dist/properties/giveaway.d.ts.map | 2 +- dist/structures/Context.d.ts | 2 +- dist/structures/Context.d.ts.map | 2 +- dist/structures/Giveaway.d.ts | 40 +++++++++++++++ dist/structures/Giveaway.d.ts.map | 1 + dist/structures/Giveaway.js | 53 ++++++++++++++++++++ dist/structures/Giveaway.js.map | 1 + dist/structures/index.d.ts | 1 + dist/structures/index.d.ts.map | 2 +- dist/structures/index.js | 1 + dist/structures/index.js.map | 2 +- docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/ForgeGiveaways.html | 6 +-- docs/classes/Giveaway.html | 21 -------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysManager.html | 10 ++-- docs/hierarchy.html | 1 - docs/interfaces/IForgeGiveawaysOptions.html | 4 +- docs/interfaces/IGiveaway.html | 12 ----- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/modules.html | 2 - metadata/functions.json | 2 +- src/managers/GiveawaysEventManager.ts | 7 +-- src/managers/GiveawaysManager.ts | 6 +-- src/managers/index.ts | 3 +- src/native/giveawayID.ts | 2 +- src/native/state/newGiveaway.ts | 4 +- src/properties/giveaway.ts | 2 +- src/structures/Context.ts | 2 +- src/{managers => structures}/Giveaway.ts | 2 +- src/structures/index.ts | 3 +- 52 files changed, 160 insertions(+), 97 deletions(-) create mode 100644 dist/structures/Giveaway.d.ts create mode 100644 dist/structures/Giveaway.d.ts.map create mode 100644 dist/structures/Giveaway.js create mode 100644 dist/structures/Giveaway.js.map delete mode 100644 docs/classes/Giveaway.html delete mode 100644 docs/hierarchy.html delete mode 100644 docs/interfaces/IGiveaway.html rename src/{managers => structures}/Giveaway.ts (96%) diff --git a/dist/managers/GiveawaysEventManager.d.ts b/dist/managers/GiveawaysEventManager.d.ts index 772e70e..1047e8b 100644 --- a/dist/managers/GiveawaysEventManager.d.ts +++ b/dist/managers/GiveawaysEventManager.d.ts @@ -1,14 +1,14 @@ import { BaseEventHandler, ForgeClient } from "@tryforge/forgescript"; -import { Giveaway } from ".."; +import { Giveaway } from "../structures"; export interface IGiveawayEvents { giveawayStart: [ { - data: Giveaway | null; + newData: Giveaway | null; } ]; giveawayEnd: [ { - data: Giveaway | null; + newData: Giveaway | null; } ]; giveawayEdit: [ diff --git a/dist/managers/GiveawaysEventManager.d.ts.map b/dist/managers/GiveawaysEventManager.d.ts.map index e87f3e5..283d992 100644 --- a/dist/managers/GiveawaysEventManager.d.ts.map +++ b/dist/managers/GiveawaysEventManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAkB,QAAQ,EAAE,MAAM,IAAI,CAAA;AAE7C,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE;QACX;YACI,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAA;SACxB;KACJ,CAAA;IACD,WAAW,EAAE;QACT;YACI,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAA;SACxB;KACJ,CAAA;IACD,YAAY,EAAE;QACV;YACI,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;YACxB,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;SAC3B;KACJ,CAAA;IACD,cAAc,EAAE;QACZ;YACI,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;YACxB,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;SAC3B;KACJ,CAAA;CACJ;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE;QACX;YACI,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;SAC3B;KACJ,CAAA;IACD,WAAW,EAAE;QACT;YACI,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;SAC3B;KACJ,CAAA;IACD,YAAY,EAAE;QACV;YACI,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;YACxB,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;SAC3B;KACJ,CAAA;IACD,cAAc,EAAE;QACZ;YACI,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;YACxB,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;SAC3B;KACJ,CAAA;CACJ;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.js.map b/dist/managers/GiveawaysEventManager.js.map index 116ba00..376907c 100644 --- a/dist/managers/GiveawaysEventManager.js.map +++ b/dist/managers/GiveawaysEventManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AACrE,0BAA6C;AA2B7C,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AA2BnC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index 03735b6..40df443 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -3,7 +3,7 @@ import { Snowflake } from "discord.js"; import { ForgeGiveaways, IGiveawayEvents } from ".."; import { TypedEmitter } from "tiny-typed-emitter"; import { TransformEvents } from "@tryforge/forge.db"; -import { Giveaway } from "./Giveaway"; +import { Giveaway } from "../structures/Giveaway"; export interface IGiveawayStartOptions { prize: string; duration: number; diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index bce39b9..19d616d 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAc,SAAS,EAAe,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA+B/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqC5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAc,SAAS,EAAe,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA+B/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqC5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 4de6045..cf6930c 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.GiveawaysManager = void 0; const forgescript_1 = require("@tryforge/forgescript"); const discord_js_1 = require("discord.js"); -const Giveaway_1 = require("./Giveaway"); +const Giveaway_1 = require("../structures/Giveaway"); class GiveawaysManager { client; emitter; @@ -39,7 +39,7 @@ class GiveawaysManager { const res = result?.trim(); const chan = ctx.client.channels.cache.get(giveaway.channelID); giveaway.messageID = (res && chan?.messages.cache.get(res) ? res : undefined); - this.emitter.emit("giveawayStart", { data: giveaway }); + this.emitter.emit("giveawayStart", { newData: giveaway }); this.giveaways.set(giveaway.id, giveaway); setTimeout(() => this.end(ctx, giveaway.id), giveaway.duration); return giveaway; @@ -78,7 +78,7 @@ class GiveawaysManager { `), doNotSend: true, }); - this.emitter.emit("giveawayEnd", { data: giveaway }); + this.emitter.emit("giveawayEnd", { newData: giveaway }); return giveaway; } /** diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index cd6191e..8086ce8 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/managers/index.d.ts b/dist/managers/index.d.ts index fe3d4d4..133e190 100644 --- a/dist/managers/index.d.ts +++ b/dist/managers/index.d.ts @@ -1,5 +1,4 @@ export * from "./GiveawaysCommandManager"; export * from "./GiveawaysEventManager"; export * from "./GiveawaysManager"; -export * from "./Giveaway"; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/managers/index.d.ts.map b/dist/managers/index.d.ts.map index fdd20a7..2130360 100644 --- a/dist/managers/index.d.ts.map +++ b/dist/managers/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA"} \ No newline at end of file diff --git a/dist/managers/index.js b/dist/managers/index.js index b361d6b..9366bbd 100644 --- a/dist/managers/index.js +++ b/dist/managers/index.js @@ -17,5 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./GiveawaysCommandManager"), exports); __exportStar(require("./GiveawaysEventManager"), exports); __exportStar(require("./GiveawaysManager"), exports); -__exportStar(require("./Giveaway"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/managers/index.js.map b/dist/managers/index.js.map index afafdf1..56e1da2 100644 --- a/dist/managers/index.js.map +++ b/dist/managers/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,0DAAuC;AACvC,qDAAkC;AAClC,6CAA0B"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,0DAAuC;AACvC,qDAAkC"} \ No newline at end of file diff --git a/dist/native/giveawayID.d.ts.map b/dist/native/giveawayID.d.ts.map index 35cb90c..cc78f6f 100644 --- a/dist/native/giveawayID.d.ts.map +++ b/dist/native/giveawayID.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;AAG/D,wBAQE"} \ No newline at end of file +{"version":3,"file":"giveawayID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;AAG/D,wBASE"} \ No newline at end of file diff --git a/dist/native/giveawayID.js b/dist/native/giveawayID.js index 5421a47..153c63e 100644 --- a/dist/native/giveawayID.js +++ b/dist/native/giveawayID.js @@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayID", + version: "1.0.0", description: "Returns the id of the current giveaway", unwrap: false, output: forgescript_1.ArgType.String, diff --git a/dist/native/giveawayID.js.map b/dist/native/giveawayID.js.map index c1a5b71..4d9ad3a 100644 --- a/dist/native/giveawayID.js.map +++ b/dist/native/giveawayID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayID.js","sourceRoot":"","sources":["../../src/native/giveawayID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAG/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayID.js","sourceRoot":"","sources":["../../src/native/giveawayID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAG/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/state/newGiveaway.d.ts.map b/dist/native/state/newGiveaway.d.ts.map index acbd0c2..66ffc03 100644 --- a/dist/native/state/newGiveaway.d.ts.map +++ b/dist/native/state/newGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"newGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAIhF,wBA2BE"} \ No newline at end of file +{"version":3,"file":"newGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAGhF,wBA6BE"} \ No newline at end of file diff --git a/dist/native/state/newGiveaway.js b/dist/native/state/newGiveaway.js index ec8ddec..3a48095 100644 --- a/dist/native/state/newGiveaway.js +++ b/dist/native/state/newGiveaway.js @@ -4,6 +4,7 @@ const forgescript_1 = require("@tryforge/forgescript"); const giveaway_1 = require("../../properties/giveaway"); exports.default = new forgescript_1.NativeFunction({ name: "$newGiveaway", + version: "1.0.0", description: "Retrieves new data from an event whose context was a giveaway instance", unwrap: true, brackets: false, @@ -25,6 +26,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Unknown, execute(ctx, [prop, sep]) { + console.log(`Extras: ${ctx.runtime.extras}`, `Obj: ${ctx.obj}`); const giveaway = ctx.runtime.extras; if (!giveaway || prop) return this.success(giveaway_1.GiveawayProperties[prop](giveaway.newData, sep)); diff --git a/dist/native/state/newGiveaway.js.map b/dist/native/state/newGiveaway.js.map index 1e74673..10abef2 100644 --- a/dist/native/state/newGiveaway.js.map +++ b/dist/native/state/newGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"newGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAIhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAY,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAA+B,CAAA;QAC5D,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;QAC3F,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"newGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAGhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAY,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;QAC/D,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAA+B,CAAA;QAC5D,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;QAC3F,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/properties/giveaway.d.ts b/dist/properties/giveaway.d.ts index 27aad58..57517d5 100644 --- a/dist/properties/giveaway.d.ts +++ b/dist/properties/giveaway.d.ts @@ -1,4 +1,4 @@ -import { Giveaway } from "../managers/Giveaway"; +import { Giveaway } from "../structures/Giveaway"; export declare enum GiveawayProperty { id = "id", prize = "prize", diff --git a/dist/properties/giveaway.d.ts.map b/dist/properties/giveaway.d.ts.map index 8236f29..3be023f 100644 --- a/dist/properties/giveaway.d.ts.map +++ b/dist/properties/giveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveaway.d.ts","sourceRoot":"","sources":["../../src/properties/giveaway.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,oBAAY,gBAAgB;IACxB,EAAE,OAAO;IACT,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;CAC1C;AAED,eAAO,MAAM,kBAAkB,uFAc7B,CAAA"} \ No newline at end of file +{"version":3,"file":"giveaway.d.ts","sourceRoot":"","sources":["../../src/properties/giveaway.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,oBAAY,gBAAgB;IACxB,EAAE,OAAO;IACT,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;CAC1C;AAED,eAAO,MAAM,kBAAkB,uFAc7B,CAAA"} \ No newline at end of file diff --git a/dist/structures/Context.d.ts b/dist/structures/Context.d.ts index 67aedd9..7c731a1 100644 --- a/dist/structures/Context.d.ts +++ b/dist/structures/Context.d.ts @@ -1,5 +1,5 @@ import { Context as ctx } from "@tryforge/forgescript"; -import { Giveaway } from "../managers/Giveaway"; +import { Giveaway } from "./Giveaway"; export declare class Context extends ctx { giveaway?: Giveaway; } diff --git a/dist/structures/Context.d.ts.map b/dist/structures/Context.d.ts.map index 036af69..44634fe 100644 --- a/dist/structures/Context.d.ts.map +++ b/dist/structures/Context.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,qBAAa,OAAQ,SAAQ,GAAG;IAC5B,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACtB"} \ No newline at end of file +{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,qBAAa,OAAQ,SAAQ,GAAG;IAC5B,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACtB"} \ No newline at end of file diff --git a/dist/structures/Giveaway.d.ts b/dist/structures/Giveaway.d.ts new file mode 100644 index 0000000..15312ab --- /dev/null +++ b/dist/structures/Giveaway.d.ts @@ -0,0 +1,40 @@ +import { Snowflake } from "discord.js"; +import { IGiveawayStartOptions } from "../managers/GiveawaysManager"; +export interface IGiveaway extends IGiveawayStartOptions { + id: Snowflake; + messageID?: Snowflake; + entries: Snowflake[]; + winners: Snowflake[]; +} +export declare class Giveaway implements IGiveaway { + id: Snowflake; + prize: string; + duration: number; + winnersCount: number; + hostID: Snowflake; + guildID: Snowflake; + channelID: Snowflake; + entries: Snowflake[]; + winners: Snowflake[]; + requirements?: IGiveawayStartOptions["requirements"]; + messageID?: Snowflake; + constructor(options: IGiveawayStartOptions & { + id?: Snowflake; + }); + /** + * Returns whether the giveaway has ended. + * @returns + */ + hasEnded(): boolean; + /** + * Adds a user entry to the giveaway. + * @param userID The user to add as participant. + */ + addEntry(userID: Snowflake): void; + /** + * Removes a user entry from the giveaway. + * @param userID The user to remove as participant. + */ + removeEntry(userID: Snowflake): void; +} +//# sourceMappingURL=Giveaway.d.ts.map \ No newline at end of file diff --git a/dist/structures/Giveaway.d.ts.map b/dist/structures/Giveaway.d.ts.map new file mode 100644 index 0000000..845ae00 --- /dev/null +++ b/dist/structures/Giveaway.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,QAAS,YAAW,SAAS;IAC/B,EAAE,EAAE,SAAS,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IACpD,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,EAAE,qBAAqB,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAa/D;;;OAGG;IACI,QAAQ;IAIf;;;OAGG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAIjC;;;OAGG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;CAGvC"} \ No newline at end of file diff --git a/dist/structures/Giveaway.js b/dist/structures/Giveaway.js new file mode 100644 index 0000000..cedf72a --- /dev/null +++ b/dist/structures/Giveaway.js @@ -0,0 +1,53 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Giveaway = void 0; +const discord_js_1 = require("discord.js"); +class Giveaway { + id; + prize; + duration; + winnersCount; + hostID; + guildID; + channelID; + entries; + winners; + requirements; + messageID; + constructor(options) { + this.id = options.id ?? discord_js_1.SnowflakeUtil.generate().toString(); + this.prize = options.prize; + this.duration = options.duration; + this.winnersCount = options.winnersCount; + this.hostID = options.hostID; + this.guildID = options.guildID; + this.channelID = options.channelID; + this.requirements = options.requirements; + this.entries = []; + this.winners = []; + } + /** + * Returns whether the giveaway has ended. + * @returns + */ + hasEnded() { + return (Date.now() > discord_js_1.SnowflakeUtil.timestampFrom(this.id) + this.duration); + } + /** + * Adds a user entry to the giveaway. + * @param userID The user to add as participant. + */ + addEntry(userID) { + if (!this.entries.includes(userID)) + this.entries.push(userID); + } + /** + * Removes a user entry from the giveaway. + * @param userID The user to remove as participant. + */ + removeEntry(userID) { + this.entries = this.entries.filter((e) => e !== userID); + } +} +exports.Giveaway = Giveaway; +//# sourceMappingURL=Giveaway.js.map \ No newline at end of file diff --git a/dist/structures/Giveaway.js.map b/dist/structures/Giveaway.js.map new file mode 100644 index 0000000..8d713b8 --- /dev/null +++ b/dist/structures/Giveaway.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":";;;AAAA,2CAAqD;AAUrD,MAAa,QAAQ;IACV,EAAE,CAAW;IACb,KAAK,CAAQ;IACb,QAAQ,CAAQ;IAChB,YAAY,CAAQ;IACpB,MAAM,CAAW;IACjB,OAAO,CAAW;IAClB,SAAS,CAAW;IACpB,OAAO,CAAa;IACpB,OAAO,CAAa;IACpB,YAAY,CAAwC;IACpD,SAAS,CAAY;IAE5B,YAAY,OAAmD;QAC3D,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,0BAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAA;QAC3D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IACrB,CAAC;IAED;;;OAGG;IACI,QAAQ;QACX,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,0BAAa,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC9E,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,MAAiB;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjE,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,MAAiB;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;IAC3D,CAAC;CACJ;AAjDD,4BAiDC"} \ No newline at end of file diff --git a/dist/structures/index.d.ts b/dist/structures/index.d.ts index c74e03a..b7ea445 100644 --- a/dist/structures/index.d.ts +++ b/dist/structures/index.d.ts @@ -1,2 +1,3 @@ export * from "./Context"; +export * from "./Giveaway"; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/structures/index.d.ts.map b/dist/structures/index.d.ts.map index 4279753..94a15af 100644 --- a/dist/structures/index.d.ts.map +++ b/dist/structures/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/structures/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/structures/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA"} \ No newline at end of file diff --git a/dist/structures/index.js b/dist/structures/index.js index f0388f9..39ec594 100644 --- a/dist/structures/index.js +++ b/dist/structures/index.js @@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) { }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./Context"), exports); +__exportStar(require("./Giveaway"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/structures/index.js.map b/dist/structures/index.js.map index a67a6a3..3096d19 100644 --- a/dist/structures/index.js.map +++ b/dist/structures/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/structures/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/structures/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,6CAA0B"} \ No newline at end of file diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index a62922c..0a64508 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE43RTQvCMAwG4P+S83A4UGRX8esgHjyKh7DFrbhlow1TEf+7IExa92HPefuQ5j09QeguEMO60hltVEN4w4eBAGqUHGJICjSGTOjOJ7mUBQRwVZxCPI0Wr+ArtaGu0U58XptlVZbI6R4ZM9LD2E/Qy141xLJFTotR2Y55uf+X9dhy5576UIuq2GpEsZC+YEIm7I+6eDSb23i3Hdvrb2iA+JxnYDE348UdBbWM/rYv2aXPbzaN7C7VAgAA" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE43QTQuCQBDG8e8yZ0kSivAavXiIDh2jw6CTLrmj7A5WRN89CBIXX9rz/vnx7JxfIPQQiGFbmZx2qiG849NCADVKATGkJVpLNnTfZ4XoEgK4Kc4gnkerd9BKbbSutEbODsiYk+mTI6GXvWmIZY+clZNyN/Ny/4/1WJm4xzrWoiru3FSxkLliSjYcTl08Wiy7+C/+/m1EdRsv7iRoZHLqUNmnLx8Csu4LVAIAAA==" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 41cca53..75529b3 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index a9cee02..4e92d79 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html deleted file mode 100644 index 66ec77f..0000000 --- a/docs/classes/Giveaway.html +++ /dev/null @@ -1,21 +0,0 @@ -Giveaway | forge.giveaways

Implements

Constructors

Properties

channelID: string
duration: number
entries: string[]
guildID: string
hostID: string
id: string
messageID?: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winners: string[]
winnersCount: number

Methods

  • Adds a user entry to the giveaway.

    -

    Parameters

    • userID: string

      The user to add as participant.

      -

    Returns void

  • Returns whether the giveaway has ended.

    -

    Returns boolean

  • Removes a user entry from the giveaway.

    -

    Parameters

    • userID: string

      The user to remove as participant.

      -

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index df9b1c8..086a75b 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index b454c64..7630ef4 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index c150244..ace2008 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,12 +1,12 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Parameters

    • ctx: Context

      The current context.

      +

Constructors

Methods

  • Rerolls an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/hierarchy.html b/docs/hierarchy.html deleted file mode 100644 index c81892c..0000000 --- a/docs/hierarchy.html +++ /dev/null @@ -1 +0,0 @@ -forge.giveaways

forge.giveaways

Class Hierarchy

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 99e3995..604051c 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html deleted file mode 100644 index b183fe2..0000000 --- a/docs/interfaces/IGiveaway.html +++ /dev/null @@ -1,12 +0,0 @@ -IGiveaway | forge.giveaways

Interface IGiveaway

interface IGiveaway {
    channelID: string;
    duration: number;
    entries: string[];
    guildID: string;
    hostID: string;
    id: string;
    messageID?: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winners: string[];
    winnersCount: number;
}

Hierarchy (view full)

Implemented by

Properties

channelID: string
duration: number
entries: string[]
guildID: string
hostID: string
id: string
messageID?: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winners: string[]
winnersCount: number
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index e256245..1f8bf43 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,5 +1,5 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayEnd: [{
        data: null | Giveaway;
    }];
    giveawayReroll: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayStart: [{
        data: null | Giveaway;
    }];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayEnd: [{
        newData: null | Giveaway;
    }];
    giveawayReroll: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayStart: [{
        newData: null | Giveaway;
    }];
}

Properties

giveawayEdit: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayEnd: [{
    data: null | Giveaway;
}]
giveawayReroll: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayStart: [{
    data: null | Giveaway;
}]
+

Properties

giveawayEdit: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayEnd: [{
    newData: null | Giveaway;
}]
giveawayReroll: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayStart: [{
    newData: null | Giveaway;
}]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 17589ac..4cfd94b 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Hierarchy (view full)

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
diff --git a/docs/modules.html b/docs/modules.html index f19a477..e6ef7c5 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -1,10 +1,8 @@ forge.giveaways
diff --git a/metadata/functions.json b/metadata/functions.json index 1030170..6d2082e 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$giveawayID","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"],"version":"1.0.0"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"]},{"name":"$newGiveaway","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state","version":"1.0.0"}] \ No newline at end of file +[{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"]},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file diff --git a/src/managers/GiveawaysEventManager.ts b/src/managers/GiveawaysEventManager.ts index 957dad7..8764d74 100644 --- a/src/managers/GiveawaysEventManager.ts +++ b/src/managers/GiveawaysEventManager.ts @@ -1,15 +1,16 @@ import { BaseEventHandler, ForgeClient } from "@tryforge/forgescript" -import { ForgeGiveaways, Giveaway } from ".." +import { Giveaway } from "../structures" +import { ForgeGiveaways } from ".." export interface IGiveawayEvents { giveawayStart: [ { - data: Giveaway | null + newData: Giveaway | null } ] giveawayEnd: [ { - data: Giveaway | null + newData: Giveaway | null } ] giveawayEdit: [ diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index fa0d243..b80577f 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -3,7 +3,7 @@ import { Collection, Snowflake, TextChannel } from "discord.js" import { ForgeGiveaways, IGiveawayEvents } from ".." import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" -import { Giveaway } from "./Giveaway" +import { Giveaway } from "../structures/Giveaway" export interface IGiveawayStartOptions { prize: string @@ -57,7 +57,7 @@ export class GiveawaysManager { const chan = ctx.client.channels.cache.get(giveaway.channelID) giveaway.messageID = (res && (chan as TextChannel)?.messages.cache.get(res) ? res : undefined) - this.emitter.emit("giveawayStart", { data: giveaway }) + this.emitter.emit("giveawayStart", { newData: giveaway }) this.giveaways.set(giveaway.id, giveaway) setTimeout(() => this.end(ctx, giveaway.id), giveaway.duration) @@ -102,7 +102,7 @@ export class GiveawaysManager { doNotSend: true, }) - this.emitter.emit("giveawayEnd", { data: giveaway }) + this.emitter.emit("giveawayEnd", { newData: giveaway }) return giveaway } diff --git a/src/managers/index.ts b/src/managers/index.ts index c46a276..c43781e 100644 --- a/src/managers/index.ts +++ b/src/managers/index.ts @@ -1,4 +1,3 @@ export * from "./GiveawaysCommandManager" export * from "./GiveawaysEventManager" -export * from "./GiveawaysManager" -export * from "./Giveaway" \ No newline at end of file +export * from "./GiveawaysManager" \ No newline at end of file diff --git a/src/native/giveawayID.ts b/src/native/giveawayID.ts index f9619ae..b5d9fe9 100644 --- a/src/native/giveawayID.ts +++ b/src/native/giveawayID.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Context } from "../structures/Context" +import { Context } from "../structures" export default new NativeFunction({ name: "$giveawayID", diff --git a/src/native/state/newGiveaway.ts b/src/native/state/newGiveaway.ts index 6d0e7a5..7dc044e 100644 --- a/src/native/state/newGiveaway.ts +++ b/src/native/state/newGiveaway.ts @@ -1,7 +1,6 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" import { GiveawayProperties, GiveawayProperty } from "../../properties/giveaway" -import { Context } from "../../structures/Context" -import { Giveaway } from "../../managers" +import { Context, Giveaway } from "../../structures" export default new NativeFunction({ name: "$newGiveaway", @@ -27,6 +26,7 @@ export default new NativeFunction({ ], output: ArgType.Unknown, execute(ctx: Context, [prop, sep]) { + console.log(`Extras: ${ctx.runtime.extras}`, `Obj: ${ctx.obj}`) const giveaway = ctx.runtime.extras as { newData: Giveaway } if (!giveaway || prop) return this.success(GiveawayProperties[prop](giveaway.newData, sep)) return this.successJSON(giveaway.newData) diff --git a/src/properties/giveaway.ts b/src/properties/giveaway.ts index d544bb2..4ea5f6b 100644 --- a/src/properties/giveaway.ts +++ b/src/properties/giveaway.ts @@ -1,5 +1,5 @@ import defineProperties from "../functions/defineProperties" -import { Giveaway } from "../managers/Giveaway" +import { Giveaway } from "../structures/Giveaway" export enum GiveawayProperty { id = "id", diff --git a/src/structures/Context.ts b/src/structures/Context.ts index 4ab5ec9..c52360b 100644 --- a/src/structures/Context.ts +++ b/src/structures/Context.ts @@ -1,5 +1,5 @@ import { Context as ctx } from "@tryforge/forgescript" -import { Giveaway } from "../managers/Giveaway" +import { Giveaway } from "./Giveaway" export class Context extends ctx { giveaway?: Giveaway diff --git a/src/managers/Giveaway.ts b/src/structures/Giveaway.ts similarity index 96% rename from src/managers/Giveaway.ts rename to src/structures/Giveaway.ts index bcdf2fa..8ea3eca 100644 --- a/src/managers/Giveaway.ts +++ b/src/structures/Giveaway.ts @@ -1,5 +1,5 @@ import { Snowflake, SnowflakeUtil } from "discord.js" -import { IGiveawayStartOptions } from "./GiveawaysManager" +import { IGiveawayStartOptions } from "../managers/GiveawaysManager" export interface IGiveaway extends IGiveawayStartOptions { id: Snowflake diff --git a/src/structures/index.ts b/src/structures/index.ts index 3ade648..72e810f 100644 --- a/src/structures/index.ts +++ b/src/structures/index.ts @@ -1 +1,2 @@ -export * from "./Context" \ No newline at end of file +export * from "./Context" +export * from "./Giveaway" \ No newline at end of file From e005dcfc1c868e26abc6a5c3fcbc08cb09ef4714 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Thu, 16 Oct 2025 01:57:40 +0200 Subject: [PATCH 13/87] Test event data --- dist/native/state/newGiveaway.js | 2 +- dist/native/state/newGiveaway.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/classes/GiveawaysCommandManager.html | 4 ++-- docs/classes/GiveawaysEventHandler.html | 4 ++-- docs/classes/GiveawaysManager.html | 10 +++++----- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- docs/interfaces/IGiveawayEvents.html | 4 ++-- docs/interfaces/IGiveawayStartOptions.html | 4 ++-- src/native/state/newGiveaway.ts | 2 +- 10 files changed, 21 insertions(+), 21 deletions(-) diff --git a/dist/native/state/newGiveaway.js b/dist/native/state/newGiveaway.js index 3a48095..7fe8836 100644 --- a/dist/native/state/newGiveaway.js +++ b/dist/native/state/newGiveaway.js @@ -26,7 +26,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Unknown, execute(ctx, [prop, sep]) { - console.log(`Extras: ${ctx.runtime.extras}`, `Obj: ${ctx.obj}`); + console.log(`Extras: ${JSON.stringify(ctx.runtime.extras, undefined, 4)}`, `Obj: ${JSON.stringify(ctx.obj, undefined, 4)}`); const giveaway = ctx.runtime.extras; if (!giveaway || prop) return this.success(giveaway_1.GiveawayProperties[prop](giveaway.newData, sep)); diff --git a/dist/native/state/newGiveaway.js.map b/dist/native/state/newGiveaway.js.map index 10abef2..e8deca9 100644 --- a/dist/native/state/newGiveaway.js.map +++ b/dist/native/state/newGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"newGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAGhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAY,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;QAC/D,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAA+B,CAAA;QAC5D,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;QAC3F,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"newGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAGhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAY,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QAC3H,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAA+B,CAAA;QAC5D,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;QAC3F,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 4e92d79..390b3c0 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 086a75b..d991ba3 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 7630ef4..d153e4f 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index ace2008..8414aa1 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,12 +1,12 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Parameters

    • ctx: Context

      The current context.

      +

Constructors

Methods

  • Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Rerolls an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 604051c..4c7ea25 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 1f8bf43..273ce14 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,5 +1,5 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayEnd: [{
        newData: null | Giveaway;
    }];
    giveawayReroll: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayStart: [{
        newData: null | Giveaway;
    }];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayEnd: [{
        newData: null | Giveaway;
    }];
    giveawayReroll: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayStart: [{
        newData: null | Giveaway;
    }];
}

Properties

giveawayEdit: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayEnd: [{
    newData: null | Giveaway;
}]
giveawayReroll: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayStart: [{
    newData: null | Giveaway;
}]
+

Properties

giveawayEdit: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayEnd: [{
    newData: null | Giveaway;
}]
giveawayReroll: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayStart: [{
    newData: null | Giveaway;
}]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 4cfd94b..287742d 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
diff --git a/src/native/state/newGiveaway.ts b/src/native/state/newGiveaway.ts index 7dc044e..6220a56 100644 --- a/src/native/state/newGiveaway.ts +++ b/src/native/state/newGiveaway.ts @@ -26,7 +26,7 @@ export default new NativeFunction({ ], output: ArgType.Unknown, execute(ctx: Context, [prop, sep]) { - console.log(`Extras: ${ctx.runtime.extras}`, `Obj: ${ctx.obj}`) + console.log(`Extras: ${JSON.stringify(ctx.runtime.extras, undefined, 4)}`, `Obj: ${JSON.stringify(ctx.obj, undefined, 4)}`) const giveaway = ctx.runtime.extras as { newData: Giveaway } if (!giveaway || prop) return this.success(GiveawayProperties[prop](giveaway.newData, sep)) return this.successJSON(giveaway.newData) From a334032a6e4ff46de83176acf65b7442a9d7459c Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Thu, 16 Oct 2025 02:04:05 +0200 Subject: [PATCH 14/87] Fixed broken timestamp --- dist/events/giveawayEdit.d.ts.map | 2 +- dist/events/giveawayEdit.js | 1 - dist/events/giveawayEdit.js.map | 2 +- dist/events/giveawayEnd.d.ts.map | 2 +- dist/events/giveawayEnd.js | 1 - dist/events/giveawayEnd.js.map | 2 +- dist/events/giveawayReroll.d.ts.map | 2 +- dist/events/giveawayReroll.js | 1 - dist/events/giveawayReroll.js.map | 2 +- dist/events/giveawayStart.d.ts.map | 2 +- dist/events/giveawayStart.js | 1 - dist/events/giveawayStart.js.map | 2 +- dist/managers/GiveawaysManager.js | 2 +- dist/native/state/newGiveaway.d.ts.map | 2 +- dist/native/state/newGiveaway.js | 3 +-- dist/native/state/newGiveaway.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/classes/GiveawaysCommandManager.html | 4 ++-- docs/classes/GiveawaysEventHandler.html | 4 ++-- docs/classes/GiveawaysManager.html | 10 +++++----- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- docs/interfaces/IGiveawayEvents.html | 4 ++-- docs/interfaces/IGiveawayStartOptions.html | 4 ++-- src/events/giveawayEdit.ts | 1 - src/events/giveawayEnd.ts | 1 - src/events/giveawayReroll.ts | 1 - src/events/giveawayStart.ts | 1 - src/managers/GiveawaysManager.ts | 2 +- src/native/state/newGiveaway.ts | 3 +-- 29 files changed, 32 insertions(+), 42 deletions(-) diff --git a/dist/events/giveawayEdit.d.ts.map b/dist/events/giveawayEdit.d.ts.map index 58d207b..96b19e6 100644 --- a/dist/events/giveawayEdit.d.ts.map +++ b/dist/events/giveawayEdit.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEdit.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAoBE"} \ No newline at end of file +{"version":3,"file":"giveawayEdit.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file diff --git a/dist/events/giveawayEdit.js b/dist/events/giveawayEdit.js index 70dd82c..002ad98 100644 --- a/dist/events/giveawayEdit.js +++ b/dist/events/giveawayEdit.js @@ -16,7 +16,6 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ command, client: this, data: command.compiled.code, - extras: gw }); } } diff --git a/dist/events/giveawayEdit.js.map b/dist/events/giveawayEdit.js.map index 381a6d6..8a2f18b 100644 --- a/dist/events/giveawayEdit.js.map +++ b/dist/events/giveawayEdit.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;QAEtF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC3B,MAAM,EAAE,EAAE;iBACb,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;QAEtF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEnd.d.ts.map b/dist/events/giveawayEnd.d.ts.map index 39bc4f1..707361e 100644 --- a/dist/events/giveawayEnd.d.ts.map +++ b/dist/events/giveawayEnd.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEnd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAoBE"} \ No newline at end of file +{"version":3,"file":"giveawayEnd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file diff --git a/dist/events/giveawayEnd.js b/dist/events/giveawayEnd.js index 5dfb82b..d8ccd47 100644 --- a/dist/events/giveawayEnd.js +++ b/dist/events/giveawayEnd.js @@ -16,7 +16,6 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ command, client: this, data: command.compiled.code, - extras: gw }); } } diff --git a/dist/events/giveawayEnd.js.map b/dist/events/giveawayEnd.js.map index 85312bd..9279fbc 100644 --- a/dist/events/giveawayEnd.js.map +++ b/dist/events/giveawayEnd.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEnd.js","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;QAErF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC3B,MAAM,EAAE,EAAE;iBACb,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEnd.js","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;QAErF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayReroll.d.ts.map b/dist/events/giveawayReroll.d.ts.map index e1301cc..d463b4b 100644 --- a/dist/events/giveawayReroll.d.ts.map +++ b/dist/events/giveawayReroll.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayReroll.d.ts","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAoBE"} \ No newline at end of file +{"version":3,"file":"giveawayReroll.d.ts","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file diff --git a/dist/events/giveawayReroll.js b/dist/events/giveawayReroll.js index 10dc370..65bb50e 100644 --- a/dist/events/giveawayReroll.js +++ b/dist/events/giveawayReroll.js @@ -16,7 +16,6 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ command, client: this, data: command.compiled.code, - extras: gw }); } } diff --git a/dist/events/giveawayReroll.js.map b/dist/events/giveawayReroll.js.map index 315356b..871aa76 100644 --- a/dist/events/giveawayReroll.js.map +++ b/dist/events/giveawayReroll.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAExF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC3B,MAAM,EAAE,EAAE;iBACb,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAExF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayStart.d.ts.map b/dist/events/giveawayStart.d.ts.map index 906fea5..d32629f 100644 --- a/dist/events/giveawayStart.d.ts.map +++ b/dist/events/giveawayStart.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAoBE"} \ No newline at end of file +{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index e5604f5..4b1ab9e 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -16,7 +16,6 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ command, client: this, data: command.compiled.code, - extras: gw }); } } diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index 387a926..2974ca3 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEvF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC3B,MAAM,EAAE,EAAE;iBACb,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEvF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index cf6930c..dd866d0 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -27,7 +27,7 @@ class GiveawaysManager { $sendMessage[$env[giveaway;channelID]; $title[🎉 GIVEAWAY 🎉] $description[**Prize:** $env[giveaway;prize]\n**Winners:** $env[giveaway;winnersCount]] - $addField[Ends;;true] + $addField[Ends;;true] $addField[Hosted by;<@$env[giveaway;hostID]>;true] $color[Green] $addActionRow diff --git a/dist/native/state/newGiveaway.d.ts.map b/dist/native/state/newGiveaway.d.ts.map index 66ffc03..0d8274a 100644 --- a/dist/native/state/newGiveaway.d.ts.map +++ b/dist/native/state/newGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"newGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAGhF,wBA6BE"} \ No newline at end of file +{"version":3,"file":"newGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAGhF,wBA4BE"} \ No newline at end of file diff --git a/dist/native/state/newGiveaway.js b/dist/native/state/newGiveaway.js index 7fe8836..92e5094 100644 --- a/dist/native/state/newGiveaway.js +++ b/dist/native/state/newGiveaway.js @@ -26,8 +26,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Unknown, execute(ctx, [prop, sep]) { - console.log(`Extras: ${JSON.stringify(ctx.runtime.extras, undefined, 4)}`, `Obj: ${JSON.stringify(ctx.obj, undefined, 4)}`); - const giveaway = ctx.runtime.extras; + const giveaway = ctx.runtime.obj; if (!giveaway || prop) return this.success(giveaway_1.GiveawayProperties[prop](giveaway.newData, sep)); return this.successJSON(giveaway.newData); diff --git a/dist/native/state/newGiveaway.js.map b/dist/native/state/newGiveaway.js.map index e8deca9..fcede67 100644 --- a/dist/native/state/newGiveaway.js.map +++ b/dist/native/state/newGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"newGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAGhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAY,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QAC3H,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAA+B,CAAA;QAC5D,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;QAC3F,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"newGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAGhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAY,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAA4B,CAAA;QACzD,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;QAC3F,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 390b3c0..aaa9cb8 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index d991ba3..d0e991c 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index d153e4f..12c5810 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 8414aa1..5878e36 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,12 +1,12 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Parameters

    • ctx: Context

      The current context.

      +

Constructors

Methods

  • Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Rerolls an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 4c7ea25..5dd0a0d 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 273ce14..549fde1 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,5 +1,5 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayEnd: [{
        newData: null | Giveaway;
    }];
    giveawayReroll: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayStart: [{
        newData: null | Giveaway;
    }];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayEnd: [{
        newData: null | Giveaway;
    }];
    giveawayReroll: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayStart: [{
        newData: null | Giveaway;
    }];
}

Properties

giveawayEdit: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayEnd: [{
    newData: null | Giveaway;
}]
giveawayReroll: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayStart: [{
    newData: null | Giveaway;
}]
+

Properties

giveawayEdit: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayEnd: [{
    newData: null | Giveaway;
}]
giveawayReroll: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayStart: [{
    newData: null | Giveaway;
}]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 287742d..08f85dd 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
diff --git a/src/events/giveawayEdit.ts b/src/events/giveawayEdit.ts index c350be3..ad014fe 100644 --- a/src/events/giveawayEdit.ts +++ b/src/events/giveawayEdit.ts @@ -16,7 +16,6 @@ export default new GiveawaysEventHandler({ command, client: this, data: command.compiled.code, - extras: gw }) } } diff --git a/src/events/giveawayEnd.ts b/src/events/giveawayEnd.ts index d2b8e8e..475b346 100644 --- a/src/events/giveawayEnd.ts +++ b/src/events/giveawayEnd.ts @@ -16,7 +16,6 @@ export default new GiveawaysEventHandler({ command, client: this, data: command.compiled.code, - extras: gw }) } } diff --git a/src/events/giveawayReroll.ts b/src/events/giveawayReroll.ts index f8c3f8a..c274807 100644 --- a/src/events/giveawayReroll.ts +++ b/src/events/giveawayReroll.ts @@ -16,7 +16,6 @@ export default new GiveawaysEventHandler({ command, client: this, data: command.compiled.code, - extras: gw }) } } diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index cc528a1..957a132 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -16,7 +16,6 @@ export default new GiveawaysEventHandler({ command, client: this, data: command.compiled.code, - extras: gw }) } } diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index b80577f..4ecf640 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -43,7 +43,7 @@ export class GiveawaysManager { $sendMessage[$env[giveaway;channelID]; $title[🎉 GIVEAWAY 🎉] $description[**Prize:** $env[giveaway;prize]\n**Winners:** $env[giveaway;winnersCount]] - $addField[Ends;;true] + $addField[Ends;;true] $addField[Hosted by;<@$env[giveaway;hostID]>;true] $color[Green] $addActionRow diff --git a/src/native/state/newGiveaway.ts b/src/native/state/newGiveaway.ts index 6220a56..a379401 100644 --- a/src/native/state/newGiveaway.ts +++ b/src/native/state/newGiveaway.ts @@ -26,8 +26,7 @@ export default new NativeFunction({ ], output: ArgType.Unknown, execute(ctx: Context, [prop, sep]) { - console.log(`Extras: ${JSON.stringify(ctx.runtime.extras, undefined, 4)}`, `Obj: ${JSON.stringify(ctx.obj, undefined, 4)}`) - const giveaway = ctx.runtime.extras as { newData: Giveaway } + const giveaway = ctx.runtime.obj as { newData: Giveaway } if (!giveaway || prop) return this.success(GiveawayProperties[prop](giveaway.newData, sep)) return this.successJSON(giveaway.newData) } From 22e56c2aa2770dbb76c7f141b57cbf14a385ae48 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Thu, 16 Oct 2025 02:40:33 +0200 Subject: [PATCH 15/87] Added context cache for giveaways --- dist/native/giveawayID.d.ts.map | 2 +- dist/native/giveawayID.js.map | 2 +- dist/native/state/newGiveaway.js.map | 2 +- dist/structures/Context.d.ts | 15 ++++++++++++--- dist/structures/Context.d.ts.map | 2 +- dist/structures/Context.js | 6 +++++- dist/structures/Context.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/classes/GiveawaysCommandManager.html | 4 ++-- docs/classes/GiveawaysEventHandler.html | 4 ++-- docs/classes/GiveawaysManager.html | 10 +++++----- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- docs/interfaces/IGiveawayEvents.html | 4 ++-- docs/interfaces/IGiveawayStartOptions.html | 4 ++-- src/native/giveawayID.ts | 3 +-- src/native/state/newGiveaway.ts | 4 ++-- src/structures/Context.ts | 20 +++++++++++++++++--- 17 files changed, 60 insertions(+), 34 deletions(-) diff --git a/dist/native/giveawayID.d.ts.map b/dist/native/giveawayID.d.ts.map index cc78f6f..0f7d549 100644 --- a/dist/native/giveawayID.d.ts.map +++ b/dist/native/giveawayID.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;AAG/D,wBASE"} \ No newline at end of file +{"version":3,"file":"giveawayID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;AAE/D,wBASE"} \ No newline at end of file diff --git a/dist/native/giveawayID.js.map b/dist/native/giveawayID.js.map index 4d9ad3a..7760997 100644 --- a/dist/native/giveawayID.js.map +++ b/dist/native/giveawayID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayID.js","sourceRoot":"","sources":["../../src/native/giveawayID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAG/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayID.js","sourceRoot":"","sources":["../../src/native/giveawayID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/state/newGiveaway.js.map b/dist/native/state/newGiveaway.js.map index fcede67..69b945e 100644 --- a/dist/native/state/newGiveaway.js.map +++ b/dist/native/state/newGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"newGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAGhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAY,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAA4B,CAAA;QACzD,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;QAC3F,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"newGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAGhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAA4B,CAAA;QACzD,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;QAC3F,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/structures/Context.d.ts b/dist/structures/Context.d.ts index 7c731a1..a4127e3 100644 --- a/dist/structures/Context.d.ts +++ b/dist/structures/Context.d.ts @@ -1,6 +1,15 @@ -import { Context as ctx } from "@tryforge/forgescript"; +import { Context as BaseContext, IContextCache } from "@tryforge/forgescript"; import { Giveaway } from "./Giveaway"; -export declare class Context extends ctx { - giveaway?: Giveaway; +export interface IExtendedContextCache extends IContextCache { + giveaway: Giveaway | null; +} +export declare class Context extends BaseContext { + #private; + get giveaway(): Giveaway | null; +} +declare module "@tryforge/forgescript" { + interface Context { + giveaway?: Giveaway | null; + } } //# sourceMappingURL=Context.d.ts.map \ No newline at end of file diff --git a/dist/structures/Context.d.ts.map b/dist/structures/Context.d.ts.map index 44634fe..c1c13fc 100644 --- a/dist/structures/Context.d.ts.map +++ b/dist/structures/Context.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,qBAAa,OAAQ,SAAQ,GAAG;IAC5B,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACtB"} \ No newline at end of file +{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IACxD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;CAC5B;AAED,qBAAa,OAAQ,SAAQ,WAAW;;IAGpC,IAAW,QAAQ,oBAElB;CACJ;AAED,OAAO,QAAQ,uBAAuB,CAAC;IACnC,UAAU,OAAO;QACb,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;KAC7B;CACJ"} \ No newline at end of file diff --git a/dist/structures/Context.js b/dist/structures/Context.js index ad31c82..5e12c33 100644 --- a/dist/structures/Context.js +++ b/dist/structures/Context.js @@ -2,8 +2,12 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.Context = void 0; const forgescript_1 = require("@tryforge/forgescript"); +const Giveaway_1 = require("./Giveaway"); class Context extends forgescript_1.Context { - giveaway; + #cache = {}; + get giveaway() { + return this.#cache.giveaway ??= this.obj instanceof Giveaway_1.Giveaway ? this.obj : null; + } } exports.Context = Context; //# sourceMappingURL=Context.js.map \ No newline at end of file diff --git a/dist/structures/Context.js.map b/dist/structures/Context.js.map index c388910..ad2f1e5 100644 --- a/dist/structures/Context.js.map +++ b/dist/structures/Context.js.map @@ -1 +1 @@ -{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":";;;AAAA,uDAAsD;AAGtD,MAAa,OAAQ,SAAQ,qBAAG;IAC5B,QAAQ,CAAW;CACtB;AAFD,0BAEC"} \ No newline at end of file +{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":";;;AAAA,uDAA6E;AAC7E,yCAAqC;AAMrC,MAAa,OAAQ,SAAQ,qBAAW;IACpC,MAAM,GAAmC,EAAE,CAAA;IAE3C,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,GAAG,YAAY,mBAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;IAClF,CAAC;CACJ;AAND,0BAMC"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index aaa9cb8..5861d24 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index d0e991c..e1de43c 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 12c5810..a79111f 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 5878e36..43c7e6c 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,12 +1,12 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Parameters

    • ctx: Context

      The current context.

      +

Constructors

Methods

  • Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Rerolls an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 5dd0a0d..48f3420 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 549fde1..718e2b1 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,5 +1,5 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayEnd: [{
        newData: null | Giveaway;
    }];
    giveawayReroll: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayStart: [{
        newData: null | Giveaway;
    }];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayEnd: [{
        newData: null | Giveaway;
    }];
    giveawayReroll: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayStart: [{
        newData: null | Giveaway;
    }];
}

Properties

giveawayEdit: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayEnd: [{
    newData: null | Giveaway;
}]
giveawayReroll: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayStart: [{
    newData: null | Giveaway;
}]
+

Properties

giveawayEdit: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayEnd: [{
    newData: null | Giveaway;
}]
giveawayReroll: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayStart: [{
    newData: null | Giveaway;
}]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 08f85dd..c0b5dba 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
diff --git a/src/native/giveawayID.ts b/src/native/giveawayID.ts index b5d9fe9..ab341fe 100644 --- a/src/native/giveawayID.ts +++ b/src/native/giveawayID.ts @@ -1,5 +1,4 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Context } from "../structures" export default new NativeFunction({ name: "$giveawayID", @@ -7,7 +6,7 @@ export default new NativeFunction({ description: "Returns the id of the current giveaway", unwrap: false, output: ArgType.String, - execute(ctx: Context) { + execute(ctx) { return this.success(ctx.giveaway?.id) } }) \ No newline at end of file diff --git a/src/native/state/newGiveaway.ts b/src/native/state/newGiveaway.ts index a379401..70f1bea 100644 --- a/src/native/state/newGiveaway.ts +++ b/src/native/state/newGiveaway.ts @@ -1,6 +1,6 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" import { GiveawayProperties, GiveawayProperty } from "../../properties/giveaway" -import { Context, Giveaway } from "../../structures" +import { Giveaway } from "../../structures" export default new NativeFunction({ name: "$newGiveaway", @@ -25,7 +25,7 @@ export default new NativeFunction({ } ], output: ArgType.Unknown, - execute(ctx: Context, [prop, sep]) { + execute(ctx, [prop, sep]) { const giveaway = ctx.runtime.obj as { newData: Giveaway } if (!giveaway || prop) return this.success(GiveawayProperties[prop](giveaway.newData, sep)) return this.successJSON(giveaway.newData) diff --git a/src/structures/Context.ts b/src/structures/Context.ts index c52360b..2be9d60 100644 --- a/src/structures/Context.ts +++ b/src/structures/Context.ts @@ -1,6 +1,20 @@ -import { Context as ctx } from "@tryforge/forgescript" +import { Context as BaseContext, IContextCache } from "@tryforge/forgescript" import { Giveaway } from "./Giveaway" -export class Context extends ctx { - giveaway?: Giveaway +export interface IExtendedContextCache extends IContextCache { + giveaway: Giveaway | null +} + +export class Context extends BaseContext { + #cache: Partial = {} + + public get giveaway() { + return this.#cache.giveaway ??= this.obj instanceof Giveaway ? this.obj : null + } +} + +declare module "@tryforge/forgescript" { + interface Context { + giveaway?: Giveaway | null + } } \ No newline at end of file From 18e95a377bdefdb2c1551af1f3c0f5cb080aac99 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Thu, 16 Oct 2025 03:29:25 +0200 Subject: [PATCH 16/87] Optimized states and events --- dist/events/giveawayEdit.d.ts.map | 2 +- dist/events/giveawayEdit.js | 14 ++++++++--- dist/events/giveawayEdit.js.map | 2 +- dist/events/giveawayEnd.d.ts.map | 2 +- dist/events/giveawayEnd.js | 9 ++++++- dist/events/giveawayEnd.js.map | 2 +- dist/events/giveawayReroll.d.ts.map | 2 +- dist/events/giveawayReroll.js | 14 ++++++++--- dist/events/giveawayReroll.js.map | 2 +- dist/events/giveawayStart.d.ts.map | 2 +- dist/events/giveawayStart.js | 9 ++++++- dist/events/giveawayStart.js.map | 2 +- dist/managers/GiveawaysEventManager.d.ts | 26 +++----------------- dist/managers/GiveawaysEventManager.d.ts.map | 2 +- dist/managers/GiveawaysEventManager.js.map | 2 +- dist/managers/GiveawaysManager.js | 6 ++--- dist/managers/GiveawaysManager.js.map | 2 +- dist/native/state/newGiveaway.d.ts.map | 2 +- dist/native/state/newGiveaway.js | 6 ++--- dist/native/state/newGiveaway.js.map | 2 +- dist/structures/Context.d.ts | 6 +++++ dist/structures/Context.d.ts.map | 2 +- dist/structures/Context.js | 11 +++++++++ dist/structures/Context.js.map | 2 +- dist/types.d.ts | 17 +++++++++++++ dist/types.d.ts.map | 1 + dist/types.js | 3 +++ dist/types.js.map | 1 + docs/classes/ForgeGiveaways.html | 6 ++--- docs/classes/GiveawaysCommandManager.html | 4 +-- docs/classes/GiveawaysEventHandler.html | 4 +-- docs/classes/GiveawaysManager.html | 10 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 +-- docs/interfaces/IGiveawayEvents.html | 4 +-- docs/interfaces/IGiveawayStartOptions.html | 4 +-- src/events/giveawayEdit.ts | 16 +++++++++--- src/events/giveawayEnd.ts | 11 +++++++-- src/events/giveawayReroll.ts | 16 +++++++++--- src/events/giveawayStart.ts | 11 +++++++-- src/managers/GiveawaysEventManager.ts | 26 +++----------------- src/managers/GiveawaysManager.ts | 6 ++--- src/native/state/newGiveaway.ts | 7 +++--- src/structures/Context.ts | 14 +++++++++++ src/types.ts | 20 +++++++++++++++ 44 files changed, 206 insertions(+), 110 deletions(-) create mode 100644 dist/types.d.ts create mode 100644 dist/types.d.ts.map create mode 100644 dist/types.js create mode 100644 dist/types.js.map create mode 100644 src/types.ts diff --git a/dist/events/giveawayEdit.d.ts.map b/dist/events/giveawayEdit.d.ts.map index 96b19e6..ea5e8ae 100644 --- a/dist/events/giveawayEdit.d.ts.map +++ b/dist/events/giveawayEdit.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEdit.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayEdit.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBA0BE"} \ No newline at end of file diff --git a/dist/events/giveawayEdit.js b/dist/events/giveawayEdit.js index 002ad98..ab1564c 100644 --- a/dist/events/giveawayEdit.js +++ b/dist/events/giveawayEdit.js @@ -3,20 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); const __1 = require(".."); +const structures_1 = require("../structures"); exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "giveawayEdit", version: "1.0.0", description: "This event is fired when a giveaway was edited", - listener: async function (gw) { + listener: async function (newer, old) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEdit"); if (commands?.length) { for (const command of commands) { - forgescript_1.Interpreter.run({ - obj: gw, + const ctx = new structures_1.Context({ + obj: newer, command, client: this, + states: { + giveaway: { + new: newer, + old + } + }, data: command.compiled.code, }); + forgescript_1.Interpreter.run(ctx); } } }, diff --git a/dist/events/giveawayEdit.js.map b/dist/events/giveawayEdit.js.map index 8a2f18b..153a3a9 100644 --- a/dist/events/giveawayEdit.js.map +++ b/dist/events/giveawayEdit.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;QAEtF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,KAAK,EAAE,GAAG;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;QAEtF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEnd.d.ts.map b/dist/events/giveawayEnd.d.ts.map index 707361e..db55d76 100644 --- a/dist/events/giveawayEnd.d.ts.map +++ b/dist/events/giveawayEnd.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEnd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayEnd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAyBE"} \ No newline at end of file diff --git a/dist/events/giveawayEnd.js b/dist/events/giveawayEnd.js index d8ccd47..47509f3 100644 --- a/dist/events/giveawayEnd.js +++ b/dist/events/giveawayEnd.js @@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); const __1 = require(".."); +const structures_1 = require("../structures"); exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "giveawayEnd", version: "1.0.0", @@ -11,12 +12,18 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEnd"); if (commands?.length) { for (const command of commands) { - forgescript_1.Interpreter.run({ + const ctx = new structures_1.Context({ obj: gw, command, client: this, + states: { + giveaway: { + new: gw, + } + }, data: command.compiled.code, }); + forgescript_1.Interpreter.run(ctx); } } }, diff --git a/dist/events/giveawayEnd.js.map b/dist/events/giveawayEnd.js.map index 9279fbc..b87f36b 100644 --- a/dist/events/giveawayEnd.js.map +++ b/dist/events/giveawayEnd.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEnd.js","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;QAErF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEnd.js","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;QAErF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayReroll.d.ts.map b/dist/events/giveawayReroll.d.ts.map index d463b4b..a611523 100644 --- a/dist/events/giveawayReroll.d.ts.map +++ b/dist/events/giveawayReroll.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayReroll.d.ts","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayReroll.d.ts","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBA0BE"} \ No newline at end of file diff --git a/dist/events/giveawayReroll.js b/dist/events/giveawayReroll.js index 65bb50e..66abe25 100644 --- a/dist/events/giveawayReroll.js +++ b/dist/events/giveawayReroll.js @@ -3,20 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); const __1 = require(".."); +const structures_1 = require("../structures"); exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "giveawayReroll", version: "1.0.0", description: "This event is fired when a giveaway was rerolled", - listener: async function (gw) { + listener: async function (newer, old) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayReroll"); if (commands?.length) { for (const command of commands) { - forgescript_1.Interpreter.run({ - obj: gw, + const ctx = new structures_1.Context({ + obj: newer, command, client: this, + states: { + giveaway: { + new: newer, + old + } + }, data: command.compiled.code, }); + forgescript_1.Interpreter.run(ctx); } } }, diff --git a/dist/events/giveawayReroll.js.map b/dist/events/giveawayReroll.js.map index 871aa76..5732c1b 100644 --- a/dist/events/giveawayReroll.js.map +++ b/dist/events/giveawayReroll.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAExF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,KAAK,EAAE,GAAG;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAExF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayStart.d.ts.map b/dist/events/giveawayStart.d.ts.map index d32629f..0ecb603 100644 --- a/dist/events/giveawayStart.d.ts.map +++ b/dist/events/giveawayStart.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAGzE,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAyBE"} \ No newline at end of file diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index 4b1ab9e..51aecc8 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); const __1 = require(".."); +const structures_1 = require("../structures"); exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "giveawayStart", version: "1.0.0", @@ -11,12 +12,18 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayStart"); if (commands?.length) { for (const command of commands) { - forgescript_1.Interpreter.run({ + const ctx = new structures_1.Context({ obj: gw, command, client: this, + states: { + giveaway: { + new: gw, + } + }, data: command.compiled.code, }); + forgescript_1.Interpreter.run(ctx); } } }, diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index 2974ca3..1e4630e 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AAEnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEvF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,yBAAW,CAAC,GAAG,CAAC;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IAEL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEvF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.d.ts b/dist/managers/GiveawaysEventManager.d.ts index 1047e8b..d3410ec 100644 --- a/dist/managers/GiveawaysEventManager.d.ts +++ b/dist/managers/GiveawaysEventManager.d.ts @@ -1,28 +1,10 @@ import { BaseEventHandler, ForgeClient } from "@tryforge/forgescript"; import { Giveaway } from "../structures"; export interface IGiveawayEvents { - giveawayStart: [ - { - newData: Giveaway | null; - } - ]; - giveawayEnd: [ - { - newData: Giveaway | null; - } - ]; - giveawayEdit: [ - { - newData: Giveaway | null; - oldData: Giveaway | null; - } - ]; - giveawayReroll: [ - { - newData: Giveaway | null; - oldData: Giveaway | null; - } - ]; + giveawayStart: [Giveaway]; + giveawayEnd: [Giveaway]; + giveawayEdit: [Giveaway, Giveaway]; + giveawayReroll: [Giveaway, Giveaway]; } export declare class GiveawaysEventHandler extends BaseEventHandler { register(client: ForgeClient): void; diff --git a/dist/managers/GiveawaysEventManager.d.ts.map b/dist/managers/GiveawaysEventManager.d.ts.map index 283d992..ea4012f 100644 --- a/dist/managers/GiveawaysEventManager.d.ts.map +++ b/dist/managers/GiveawaysEventManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE;QACX;YACI,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;SAC3B;KACJ,CAAA;IACD,WAAW,EAAE;QACT;YACI,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;SAC3B;KACJ,CAAA;IACD,YAAY,EAAE;QACV;YACI,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;YACxB,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;SAC3B;KACJ,CAAA;IACD,cAAc,EAAE;QACZ;YACI,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;YACxB,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;SAC3B;KACJ,CAAA;CACJ;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClC,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;CACvC;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.js.map b/dist/managers/GiveawaysEventManager.js.map index 376907c..19d70c2 100644 --- a/dist/managers/GiveawaysEventManager.js.map +++ b/dist/managers/GiveawaysEventManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AA2BnC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AASnC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index dd866d0..596d212 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -39,7 +39,7 @@ class GiveawaysManager { const res = result?.trim(); const chan = ctx.client.channels.cache.get(giveaway.channelID); giveaway.messageID = (res && chan?.messages.cache.get(res) ? res : undefined); - this.emitter.emit("giveawayStart", { newData: giveaway }); + this.emitter.emit("giveawayStart", giveaway); this.giveaways.set(giveaway.id, giveaway); setTimeout(() => this.end(ctx, giveaway.id), giveaway.duration); return giveaway; @@ -78,7 +78,7 @@ class GiveawaysManager { `), doNotSend: true, }); - this.emitter.emit("giveawayEnd", { newData: giveaway }); + this.emitter.emit("giveawayEnd", giveaway); return giveaway; } /** @@ -101,7 +101,7 @@ class GiveawaysManager { data: forgescript_1.Compiler.compile(this.client.options?.messages?.reroll), doNotSend: true, }); - this.emitter.emit("giveawayReroll", { newData: giveaway, oldData: oldGiveaway }); + this.emitter.emit("giveawayReroll", giveaway, oldGiveaway); return giveaway; } pickWinners(entries, amount) { diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 8086ce8..1958022 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/native/state/newGiveaway.d.ts.map b/dist/native/state/newGiveaway.d.ts.map index 0d8274a..cf88994 100644 --- a/dist/native/state/newGiveaway.d.ts.map +++ b/dist/native/state/newGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"newGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAGhF,wBA4BE"} \ No newline at end of file +{"version":3,"file":"newGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAEhF,wBA4BE"} \ No newline at end of file diff --git a/dist/native/state/newGiveaway.js b/dist/native/state/newGiveaway.js index 92e5094..56797c7 100644 --- a/dist/native/state/newGiveaway.js +++ b/dist/native/state/newGiveaway.js @@ -26,10 +26,10 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Unknown, execute(ctx, [prop, sep]) { - const giveaway = ctx.runtime.obj; + const giveaway = ctx.extendedStates?.giveaway?.new; if (!giveaway || prop) - return this.success(giveaway_1.GiveawayProperties[prop](giveaway.newData, sep)); - return this.successJSON(giveaway.newData); + return this.success(giveaway_1.GiveawayProperties[prop](giveaway, sep)); + return this.successJSON(giveaway); } }); //# sourceMappingURL=newGiveaway.js.map \ No newline at end of file diff --git a/dist/native/state/newGiveaway.js.map b/dist/native/state/newGiveaway.js.map index 69b945e..0499883 100644 --- a/dist/native/state/newGiveaway.js.map +++ b/dist/native/state/newGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"newGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAGhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAA4B,CAAA;QACzD,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;QAC3F,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"newGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAEhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,GAAG,CAAA;QAClD,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;QACnF,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/structures/Context.d.ts b/dist/structures/Context.d.ts index a4127e3..019f150 100644 --- a/dist/structures/Context.d.ts +++ b/dist/structures/Context.d.ts @@ -1,15 +1,21 @@ import { Context as BaseContext, IContextCache } from "@tryforge/forgescript"; +import { ExtendedStates, IExtendedRunnable } from "../types"; import { Giveaway } from "./Giveaway"; export interface IExtendedContextCache extends IContextCache { giveaway: Giveaway | null; } export declare class Context extends BaseContext { #private; + readonly runtime: IExtendedRunnable; + constructor(runtime: IExtendedRunnable); + get obj(): import("../types").ExtendedSendable; + get extendedStates(): ExtendedStates | undefined; get giveaway(): Giveaway | null; } declare module "@tryforge/forgescript" { interface Context { giveaway?: Giveaway | null; + extendedStates?: ExtendedStates; } } //# sourceMappingURL=Context.d.ts.map \ No newline at end of file diff --git a/dist/structures/Context.d.ts.map b/dist/structures/Context.d.ts.map index c1c13fc..a9077a9 100644 --- a/dist/structures/Context.d.ts.map +++ b/dist/structures/Context.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IACxD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;CAC5B;AAED,qBAAa,OAAQ,SAAQ,WAAW;;IAGpC,IAAW,QAAQ,oBAElB;CACJ;AAED,OAAO,QAAQ,uBAAuB,CAAC;IACnC,UAAU,OAAO;QACb,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;KAC7B;CACJ"} \ No newline at end of file +{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IACxD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;CAC5B;AAED,qBAAa,OAAQ,SAAQ,WAAW;;aAGD,OAAO,EAAE,iBAAiB;gBAA1B,OAAO,EAAE,iBAAiB;IAI7D,IAAW,GAAG,wCAEb;IAED,IAAW,cAAc,+BAExB;IAED,IAAW,QAAQ,oBAElB;CACJ;AAED,OAAO,QAAQ,uBAAuB,CAAC;IACnC,UAAU,OAAO;QACb,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;QAC1B,cAAc,CAAC,EAAE,cAAc,CAAA;KAClC;CACJ"} \ No newline at end of file diff --git a/dist/structures/Context.js b/dist/structures/Context.js index 5e12c33..4392e42 100644 --- a/dist/structures/Context.js +++ b/dist/structures/Context.js @@ -4,7 +4,18 @@ exports.Context = void 0; const forgescript_1 = require("@tryforge/forgescript"); const Giveaway_1 = require("./Giveaway"); class Context extends forgescript_1.Context { + runtime; #cache = {}; + constructor(runtime) { + super(runtime); + this.runtime = runtime; + } + get obj() { + return this.runtime.obj; + } + get extendedStates() { + return this.runtime.states; + } get giveaway() { return this.#cache.giveaway ??= this.obj instanceof Giveaway_1.Giveaway ? this.obj : null; } diff --git a/dist/structures/Context.js.map b/dist/structures/Context.js.map index ad2f1e5..e374fda 100644 --- a/dist/structures/Context.js.map +++ b/dist/structures/Context.js.map @@ -1 +1 @@ -{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":";;;AAAA,uDAA6E;AAC7E,yCAAqC;AAMrC,MAAa,OAAQ,SAAQ,qBAAW;IACpC,MAAM,GAAmC,EAAE,CAAA;IAE3C,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,GAAG,YAAY,mBAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;IAClF,CAAC;CACJ;AAND,0BAMC"} \ No newline at end of file +{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":";;;AAAA,uDAA6E;AAE7E,yCAAqC;AAMrC,MAAa,OAAQ,SAAQ,qBAAW;IAGD;IAFnC,MAAM,GAAmC,EAAE,CAAA;IAE3C,YAAmC,OAA0B;QACzD,KAAK,CAAC,OAAO,CAAC,CAAA;QADiB,YAAO,GAAP,OAAO,CAAmB;IAE7D,CAAC;IAED,IAAW,GAAG;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;IAC3B,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IAC9B,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,GAAG,YAAY,mBAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;IAClF,CAAC;CACJ;AAlBD,0BAkBC"} \ No newline at end of file diff --git a/dist/types.d.ts b/dist/types.d.ts new file mode 100644 index 0000000..ea469b5 --- /dev/null +++ b/dist/types.d.ts @@ -0,0 +1,17 @@ +import { Sendable, IStates, IRunnable } from "@tryforge/forgescript"; +import { Giveaway } from "./structures"; +export type ExtendedSendable = Sendable | Giveaway; +export interface IExtendedStates extends IStates { + giveaway: Giveaway; +} +export type ExtendedStates = { + [K in keyof IExtendedStates]?: { + old?: IExtendedStates[K] | null; + new?: IExtendedStates[K] | null; + }; +}; +export interface IExtendedRunnable extends IRunnable { + obj: ExtendedSendable; + states?: ExtendedStates; +} +//# sourceMappingURL=types.d.ts.map \ No newline at end of file diff --git a/dist/types.d.ts.map b/dist/types.d.ts.map new file mode 100644 index 0000000..f40c765 --- /dev/null +++ b/dist/types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAElD,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC5C,QAAQ,EAAE,QAAQ,CAAA;CACrB;AAED,MAAM,MAAM,cAAc,GAAG;KACxB,CAAC,IAAI,MAAM,eAAe,CAAC,CAAC,EAAE;QAC3B,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;QAC/B,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;KAClC;CACJ,CAAA;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAChD,GAAG,EAAE,gBAAgB,CAAA;IACrB,MAAM,CAAC,EAAE,cAAc,CAAA;CAC1B"} \ No newline at end of file diff --git a/dist/types.js b/dist/types.js new file mode 100644 index 0000000..11e638d --- /dev/null +++ b/dist/types.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/dist/types.js.map b/dist/types.js.map new file mode 100644 index 0000000..c768b79 --- /dev/null +++ b/dist/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 5861d24..4e3988d 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index e1de43c..02b40d9 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index a79111f..741023f 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 43c7e6c..31393d6 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,12 +1,12 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Parameters

    • ctx: Context

      The current context.

      +

Constructors

Methods

  • Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Rerolls an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 48f3420..9fbdb41 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 718e2b1..087c4f3 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,5 +1,5 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayEnd: [{
        newData: null | Giveaway;
    }];
    giveawayReroll: [{
        newData: null | Giveaway;
        oldData: null | Giveaway;
    }];
    giveawayStart: [{
        newData: null | Giveaway;
    }];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayEnd: [{
    newData: null | Giveaway;
}]
giveawayReroll: [{
    newData: null | Giveaway;
    oldData: null | Giveaway;
}]
giveawayStart: [{
    newData: null | Giveaway;
}]
+

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index c0b5dba..f73ab65 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
diff --git a/src/events/giveawayEdit.ts b/src/events/giveawayEdit.ts index ad014fe..7d44400 100644 --- a/src/events/giveawayEdit.ts +++ b/src/events/giveawayEdit.ts @@ -1,24 +1,32 @@ import { Interpreter } from "@tryforge/forgescript" import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" import { ForgeGiveaways } from ".." +import { Context } from "../structures" export default new GiveawaysEventHandler({ name: "giveawayEdit", version: "1.0.0", description: "This event is fired when a giveaway was edited", - listener: async function(gw) { + listener: async function(newer, old) { const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayEdit") if (commands?.length) { for (const command of commands) { - Interpreter.run({ - obj: gw, + const ctx = new Context({ + obj: newer, command, client: this, + states: { + giveaway: { + new: newer, + old + } + }, data: command.compiled.code, }) + + Interpreter.run(ctx) } } - }, }) \ No newline at end of file diff --git a/src/events/giveawayEnd.ts b/src/events/giveawayEnd.ts index 475b346..3e0de16 100644 --- a/src/events/giveawayEnd.ts +++ b/src/events/giveawayEnd.ts @@ -1,6 +1,7 @@ import { Interpreter } from "@tryforge/forgescript" import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" import { ForgeGiveaways } from ".." +import { Context } from "../structures" export default new GiveawaysEventHandler({ name: "giveawayEnd", @@ -11,14 +12,20 @@ export default new GiveawaysEventHandler({ if (commands?.length) { for (const command of commands) { - Interpreter.run({ + const ctx = new Context({ obj: gw, command, client: this, + states: { + giveaway: { + new: gw, + } + }, data: command.compiled.code, }) + + Interpreter.run(ctx) } } - }, }) \ No newline at end of file diff --git a/src/events/giveawayReroll.ts b/src/events/giveawayReroll.ts index c274807..265d792 100644 --- a/src/events/giveawayReroll.ts +++ b/src/events/giveawayReroll.ts @@ -1,24 +1,32 @@ import { Interpreter } from "@tryforge/forgescript" import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" import { ForgeGiveaways } from ".." +import { Context } from "../structures" export default new GiveawaysEventHandler({ name: "giveawayReroll", version: "1.0.0", description: "This event is fired when a giveaway was rerolled", - listener: async function(gw) { + listener: async function(newer, old) { const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayReroll") if (commands?.length) { for (const command of commands) { - Interpreter.run({ - obj: gw, + const ctx = new Context({ + obj: newer, command, client: this, + states: { + giveaway: { + new: newer, + old + } + }, data: command.compiled.code, }) + + Interpreter.run(ctx) } } - }, }) \ No newline at end of file diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index 957a132..452af34 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -1,6 +1,7 @@ import { Interpreter } from "@tryforge/forgescript" import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" import { ForgeGiveaways } from ".." +import { Context } from "../structures" export default new GiveawaysEventHandler({ name: "giveawayStart", @@ -11,14 +12,20 @@ export default new GiveawaysEventHandler({ if (commands?.length) { for (const command of commands) { - Interpreter.run({ + const ctx = new Context({ obj: gw, command, client: this, + states: { + giveaway: { + new: gw, + } + }, data: command.compiled.code, }) + + Interpreter.run(ctx) } } - }, }) \ No newline at end of file diff --git a/src/managers/GiveawaysEventManager.ts b/src/managers/GiveawaysEventManager.ts index 8764d74..f3a805f 100644 --- a/src/managers/GiveawaysEventManager.ts +++ b/src/managers/GiveawaysEventManager.ts @@ -3,28 +3,10 @@ import { Giveaway } from "../structures" import { ForgeGiveaways } from ".." export interface IGiveawayEvents { - giveawayStart: [ - { - newData: Giveaway | null - } - ] - giveawayEnd: [ - { - newData: Giveaway | null - } - ] - giveawayEdit: [ - { - newData: Giveaway | null - oldData: Giveaway | null - } - ] - giveawayReroll: [ - { - newData: Giveaway | null - oldData: Giveaway | null - } - ] + giveawayStart: [Giveaway] + giveawayEnd: [Giveaway] + giveawayEdit: [Giveaway, Giveaway] + giveawayReroll: [Giveaway, Giveaway] } export class GiveawaysEventHandler extends BaseEventHandler { diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 4ecf640..7e6b6dc 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -57,7 +57,7 @@ export class GiveawaysManager { const chan = ctx.client.channels.cache.get(giveaway.channelID) giveaway.messageID = (res && (chan as TextChannel)?.messages.cache.get(res) ? res : undefined) - this.emitter.emit("giveawayStart", { newData: giveaway }) + this.emitter.emit("giveawayStart", giveaway) this.giveaways.set(giveaway.id, giveaway) setTimeout(() => this.end(ctx, giveaway.id), giveaway.duration) @@ -102,7 +102,7 @@ export class GiveawaysManager { doNotSend: true, }) - this.emitter.emit("giveawayEnd", { newData: giveaway }) + this.emitter.emit("giveawayEnd", giveaway) return giveaway } @@ -129,7 +129,7 @@ export class GiveawaysManager { doNotSend: true, }) - this.emitter.emit("giveawayReroll", { newData: giveaway, oldData: oldGiveaway }) + this.emitter.emit("giveawayReroll", giveaway, oldGiveaway) return giveaway } diff --git a/src/native/state/newGiveaway.ts b/src/native/state/newGiveaway.ts index 70f1bea..6cc66c3 100644 --- a/src/native/state/newGiveaway.ts +++ b/src/native/state/newGiveaway.ts @@ -1,6 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" import { GiveawayProperties, GiveawayProperty } from "../../properties/giveaway" -import { Giveaway } from "../../structures" export default new NativeFunction({ name: "$newGiveaway", @@ -26,8 +25,8 @@ export default new NativeFunction({ ], output: ArgType.Unknown, execute(ctx, [prop, sep]) { - const giveaway = ctx.runtime.obj as { newData: Giveaway } - if (!giveaway || prop) return this.success(GiveawayProperties[prop](giveaway.newData, sep)) - return this.successJSON(giveaway.newData) + const giveaway = ctx.extendedStates?.giveaway?.new + if (!giveaway || prop) return this.success(GiveawayProperties[prop](giveaway, sep)) + return this.successJSON(giveaway) } }) \ No newline at end of file diff --git a/src/structures/Context.ts b/src/structures/Context.ts index 2be9d60..45a7302 100644 --- a/src/structures/Context.ts +++ b/src/structures/Context.ts @@ -1,4 +1,5 @@ import { Context as BaseContext, IContextCache } from "@tryforge/forgescript" +import { ExtendedStates, IExtendedRunnable } from "../types" import { Giveaway } from "./Giveaway" export interface IExtendedContextCache extends IContextCache { @@ -8,6 +9,18 @@ export interface IExtendedContextCache extends IContextCache { export class Context extends BaseContext { #cache: Partial = {} + public constructor(public readonly runtime: IExtendedRunnable) { + super(runtime) + } + + public get obj() { + return this.runtime.obj + } + + public get extendedStates() { + return this.runtime.states + } + public get giveaway() { return this.#cache.giveaway ??= this.obj instanceof Giveaway ? this.obj : null } @@ -16,5 +29,6 @@ export class Context extends BaseContext { declare module "@tryforge/forgescript" { interface Context { giveaway?: Giveaway | null + extendedStates?: ExtendedStates } } \ No newline at end of file diff --git a/src/types.ts b/src/types.ts new file mode 100644 index 0000000..35cecc1 --- /dev/null +++ b/src/types.ts @@ -0,0 +1,20 @@ +import { Sendable, IStates, IRunnable } from "@tryforge/forgescript" +import { Giveaway } from "./structures" + +export type ExtendedSendable = Sendable | Giveaway + +export interface IExtendedStates extends IStates { + giveaway: Giveaway +} + +export type ExtendedStates = { + [K in keyof IExtendedStates]?: { + old?: IExtendedStates[K] | null + new?: IExtendedStates[K] | null + } +} + +export interface IExtendedRunnable extends IRunnable { + obj: ExtendedSendable + states?: ExtendedStates +} \ No newline at end of file From 6fd286d26a72fa1df56510478b04ada8aab47f91 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Thu, 16 Oct 2025 13:35:03 +0200 Subject: [PATCH 17/87] Added more functions --- dist/functions/array.d.ts | 3 ++ dist/functions/array.d.ts.map | 1 + dist/functions/array.js | 7 ++++ dist/functions/array.js.map | 1 + dist/functions/getGiveaway.d.ts | 3 ++ dist/functions/getGiveaway.d.ts.map | 1 + dist/functions/getGiveaway.js | 8 +++++ dist/functions/getGiveaway.js.map | 1 + dist/managers/GiveawaysManager.d.ts | 11 ++++-- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 15 +++++--- dist/managers/GiveawaysManager.js.map | 2 +- dist/native/giveawayChannelID.d.ts | 10 ++++++ dist/native/giveawayChannelID.d.ts.map | 1 + dist/native/giveawayChannelID.js | 28 +++++++++++++++ dist/native/giveawayChannelID.js.map | 1 + dist/native/giveawayDuration.d.ts | 10 ++++++ dist/native/giveawayDuration.d.ts.map | 1 + dist/native/giveawayDuration.js | 28 +++++++++++++++ dist/native/giveawayDuration.js.map | 1 + dist/native/giveawayEntries.d.ts | 15 ++++++++ dist/native/giveawayEntries.d.ts.map | 1 + dist/native/giveawayEntries.js | 35 +++++++++++++++++++ dist/native/giveawayEntries.js.map | 1 + dist/native/giveawayGuildID.d.ts | 10 ++++++ dist/native/giveawayGuildID.d.ts.map | 1 + dist/native/giveawayGuildID.js | 28 +++++++++++++++ dist/native/giveawayGuildID.js.map | 1 + dist/native/giveawayHostID.d.ts | 10 ++++++ dist/native/giveawayHostID.d.ts.map | 1 + dist/native/giveawayHostID.js | 28 +++++++++++++++ dist/native/giveawayHostID.js.map | 1 + dist/native/giveawayMessageID.d.ts | 10 ++++++ dist/native/giveawayMessageID.d.ts.map | 1 + dist/native/giveawayMessageID.js | 28 +++++++++++++++ dist/native/giveawayMessageID.js.map | 1 + dist/native/giveawayPrize.d.ts | 10 ++++++ dist/native/giveawayPrize.d.ts.map | 1 + dist/native/giveawayPrize.js | 28 +++++++++++++++ dist/native/giveawayPrize.js.map | 1 + dist/native/giveawayRequiredRoles.d.ts | 15 ++++++++ dist/native/giveawayRequiredRoles.d.ts.map | 1 + dist/native/giveawayRequiredRoles.js | 35 +++++++++++++++++++ dist/native/giveawayRequiredRoles.js.map | 1 + dist/native/giveawayRestrictedMembers.d.ts | 15 ++++++++ .../native/giveawayRestrictedMembers.d.ts.map | 1 + dist/native/giveawayRestrictedMembers.js | 35 +++++++++++++++++++ dist/native/giveawayRestrictedMembers.js.map | 1 + dist/native/giveawayRestrictedRoles.d.ts | 15 ++++++++ dist/native/giveawayRestrictedRoles.d.ts.map | 1 + dist/native/giveawayRestrictedRoles.js | 35 +++++++++++++++++++ dist/native/giveawayRestrictedRoles.js.map | 1 + dist/native/giveawayWinners.d.ts | 15 ++++++++ dist/native/giveawayWinners.d.ts.map | 1 + dist/native/giveawayWinners.js | 35 +++++++++++++++++++ dist/native/giveawayWinners.js.map | 1 + dist/native/giveawayWinnersCount.d.ts | 10 ++++++ dist/native/giveawayWinnersCount.d.ts.map | 1 + dist/native/giveawayWinnersCount.js | 28 +++++++++++++++ dist/native/giveawayWinnersCount.js.map | 1 + dist/native/{ => manage}/startGiveaway.d.ts | 0 dist/native/manage/startGiveaway.d.ts.map | 1 + dist/native/{ => manage}/startGiveaway.js | 2 +- dist/native/manage/startGiveaway.js.map | 1 + dist/native/startGiveaway.d.ts.map | 1 - dist/native/startGiveaway.js.map | 1 - dist/native/state/oldGiveaway.d.ts | 17 +++++++++ dist/native/state/oldGiveaway.d.ts.map | 1 + dist/native/state/oldGiveaway.js | 34 ++++++++++++++++++ dist/native/state/oldGiveaway.js.map | 1 + docs/assets/search.js | 2 +- docs/classes/ForgeGiveaways.html | 6 ++-- docs/classes/GiveawaysCommandManager.html | 4 +-- docs/classes/GiveawaysEventHandler.html | 4 +-- docs/classes/GiveawaysManager.html | 15 +++++--- docs/interfaces/IForgeGiveawaysOptions.html | 4 +-- docs/interfaces/IGiveawayEvents.html | 4 +-- docs/interfaces/IGiveawayStartOptions.html | 4 +-- metadata/functions.json | 2 +- src/functions/array.ts | 5 +++ src/functions/getGiveaway.ts | 6 ++++ src/managers/GiveawaysManager.ts | 14 ++++++-- src/native/giveawayChannelID.ts | 24 +++++++++++++ src/native/giveawayDuration.ts | 24 +++++++++++++ src/native/giveawayEntries.ts | 31 ++++++++++++++++ src/native/giveawayGuildID.ts | 24 +++++++++++++ src/native/giveawayHostID.ts | 24 +++++++++++++ src/native/giveawayMessageID.ts | 24 +++++++++++++ src/native/giveawayPrize.ts | 24 +++++++++++++ src/native/giveawayRequiredRoles.ts | 31 ++++++++++++++++ src/native/giveawayRestrictedMembers.ts | 31 ++++++++++++++++ src/native/giveawayRestrictedRoles.ts | 31 ++++++++++++++++ src/native/giveawayWinners.ts | 31 ++++++++++++++++ src/native/giveawayWinnersCount.ts | 24 +++++++++++++ src/native/{ => manage}/startGiveaway.ts | 2 +- src/native/state/oldGiveaway.ts | 32 +++++++++++++++++ 96 files changed, 1045 insertions(+), 36 deletions(-) create mode 100644 dist/functions/array.d.ts create mode 100644 dist/functions/array.d.ts.map create mode 100644 dist/functions/array.js create mode 100644 dist/functions/array.js.map create mode 100644 dist/functions/getGiveaway.d.ts create mode 100644 dist/functions/getGiveaway.d.ts.map create mode 100644 dist/functions/getGiveaway.js create mode 100644 dist/functions/getGiveaway.js.map create mode 100644 dist/native/giveawayChannelID.d.ts create mode 100644 dist/native/giveawayChannelID.d.ts.map create mode 100644 dist/native/giveawayChannelID.js create mode 100644 dist/native/giveawayChannelID.js.map create mode 100644 dist/native/giveawayDuration.d.ts create mode 100644 dist/native/giveawayDuration.d.ts.map create mode 100644 dist/native/giveawayDuration.js create mode 100644 dist/native/giveawayDuration.js.map create mode 100644 dist/native/giveawayEntries.d.ts create mode 100644 dist/native/giveawayEntries.d.ts.map create mode 100644 dist/native/giveawayEntries.js create mode 100644 dist/native/giveawayEntries.js.map create mode 100644 dist/native/giveawayGuildID.d.ts create mode 100644 dist/native/giveawayGuildID.d.ts.map create mode 100644 dist/native/giveawayGuildID.js create mode 100644 dist/native/giveawayGuildID.js.map create mode 100644 dist/native/giveawayHostID.d.ts create mode 100644 dist/native/giveawayHostID.d.ts.map create mode 100644 dist/native/giveawayHostID.js create mode 100644 dist/native/giveawayHostID.js.map create mode 100644 dist/native/giveawayMessageID.d.ts create mode 100644 dist/native/giveawayMessageID.d.ts.map create mode 100644 dist/native/giveawayMessageID.js create mode 100644 dist/native/giveawayMessageID.js.map create mode 100644 dist/native/giveawayPrize.d.ts create mode 100644 dist/native/giveawayPrize.d.ts.map create mode 100644 dist/native/giveawayPrize.js create mode 100644 dist/native/giveawayPrize.js.map create mode 100644 dist/native/giveawayRequiredRoles.d.ts create mode 100644 dist/native/giveawayRequiredRoles.d.ts.map create mode 100644 dist/native/giveawayRequiredRoles.js create mode 100644 dist/native/giveawayRequiredRoles.js.map create mode 100644 dist/native/giveawayRestrictedMembers.d.ts create mode 100644 dist/native/giveawayRestrictedMembers.d.ts.map create mode 100644 dist/native/giveawayRestrictedMembers.js create mode 100644 dist/native/giveawayRestrictedMembers.js.map create mode 100644 dist/native/giveawayRestrictedRoles.d.ts create mode 100644 dist/native/giveawayRestrictedRoles.d.ts.map create mode 100644 dist/native/giveawayRestrictedRoles.js create mode 100644 dist/native/giveawayRestrictedRoles.js.map create mode 100644 dist/native/giveawayWinners.d.ts create mode 100644 dist/native/giveawayWinners.d.ts.map create mode 100644 dist/native/giveawayWinners.js create mode 100644 dist/native/giveawayWinners.js.map create mode 100644 dist/native/giveawayWinnersCount.d.ts create mode 100644 dist/native/giveawayWinnersCount.d.ts.map create mode 100644 dist/native/giveawayWinnersCount.js create mode 100644 dist/native/giveawayWinnersCount.js.map rename dist/native/{ => manage}/startGiveaway.d.ts (100%) create mode 100644 dist/native/manage/startGiveaway.d.ts.map rename dist/native/{ => manage}/startGiveaway.js (98%) create mode 100644 dist/native/manage/startGiveaway.js.map delete mode 100644 dist/native/startGiveaway.d.ts.map delete mode 100644 dist/native/startGiveaway.js.map create mode 100644 dist/native/state/oldGiveaway.d.ts create mode 100644 dist/native/state/oldGiveaway.d.ts.map create mode 100644 dist/native/state/oldGiveaway.js create mode 100644 dist/native/state/oldGiveaway.js.map create mode 100644 src/functions/array.ts create mode 100644 src/functions/getGiveaway.ts create mode 100644 src/native/giveawayChannelID.ts create mode 100644 src/native/giveawayDuration.ts create mode 100644 src/native/giveawayEntries.ts create mode 100644 src/native/giveawayGuildID.ts create mode 100644 src/native/giveawayHostID.ts create mode 100644 src/native/giveawayMessageID.ts create mode 100644 src/native/giveawayPrize.ts create mode 100644 src/native/giveawayRequiredRoles.ts create mode 100644 src/native/giveawayRestrictedMembers.ts create mode 100644 src/native/giveawayRestrictedRoles.ts create mode 100644 src/native/giveawayWinners.ts create mode 100644 src/native/giveawayWinnersCount.ts rename src/native/{ => manage}/startGiveaway.ts (98%) create mode 100644 src/native/state/oldGiveaway.ts diff --git a/dist/functions/array.d.ts b/dist/functions/array.d.ts new file mode 100644 index 0000000..4e2b5d1 --- /dev/null +++ b/dist/functions/array.d.ts @@ -0,0 +1,3 @@ +import { ArgType } from "@tryforge/forgescript"; +export default function (value?: any): any; +//# sourceMappingURL=array.d.ts.map \ No newline at end of file diff --git a/dist/functions/array.d.ts.map b/dist/functions/array.d.ts.map new file mode 100644 index 0000000..2b13133 --- /dev/null +++ b/dist/functions/array.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/functions/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C,MAAM,CAAC,OAAO,WAAU,CAAC,SAAS,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,OAErD"} \ No newline at end of file diff --git a/dist/functions/array.js b/dist/functions/array.js new file mode 100644 index 0000000..bffcbdf --- /dev/null +++ b/dist/functions/array.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = default_1; +function default_1(value) { + return value ?? null; +} +//# sourceMappingURL=array.js.map \ No newline at end of file diff --git a/dist/functions/array.js.map b/dist/functions/array.js.map new file mode 100644 index 0000000..14037ee --- /dev/null +++ b/dist/functions/array.js.map @@ -0,0 +1 @@ +{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/functions/array.ts"],"names":[],"mappings":";;AAEA,4BAEC;AAFD,mBAA2C,KAAW;IAClD,OAAO,KAAK,IAAI,IAAI,CAAA;AACxB,CAAC"} \ No newline at end of file diff --git a/dist/functions/getGiveaway.d.ts b/dist/functions/getGiveaway.d.ts new file mode 100644 index 0000000..77b64aa --- /dev/null +++ b/dist/functions/getGiveaway.d.ts @@ -0,0 +1,3 @@ +import { Context } from "@tryforge/forgescript"; +export default function (ctx: Context, id: string): import("../structures").Giveaway | null | undefined; +//# sourceMappingURL=getGiveaway.d.ts.map \ No newline at end of file diff --git a/dist/functions/getGiveaway.d.ts.map b/dist/functions/getGiveaway.d.ts.map new file mode 100644 index 0000000..0f857d7 --- /dev/null +++ b/dist/functions/getGiveaway.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"getGiveaway.d.ts","sourceRoot":"","sources":["../../src/functions/getGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG/C,MAAM,CAAC,OAAO,WAAU,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,uDAE/C"} \ No newline at end of file diff --git a/dist/functions/getGiveaway.js b/dist/functions/getGiveaway.js new file mode 100644 index 0000000..5483bd1 --- /dev/null +++ b/dist/functions/getGiveaway.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = default_1; +const __1 = require(".."); +function default_1(ctx, id) { + return (ctx.client.getExtension(__1.ForgeGiveaways, true).giveawaysManager.get(id) ?? ctx.giveaway); +} +//# sourceMappingURL=getGiveaway.js.map \ No newline at end of file diff --git a/dist/functions/getGiveaway.js.map b/dist/functions/getGiveaway.js.map new file mode 100644 index 0000000..716d9f2 --- /dev/null +++ b/dist/functions/getGiveaway.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getGiveaway.js","sourceRoot":"","sources":["../../src/functions/getGiveaway.ts"],"names":[],"mappings":";;AAGA,4BAEC;AAJD,0BAAmC;AAEnC,mBAAwB,GAAY,EAAE,EAAU;IAC5C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;AACnG,CAAC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index 40df443..6490a87 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -3,7 +3,7 @@ import { Snowflake } from "discord.js"; import { ForgeGiveaways, IGiveawayEvents } from ".."; import { TypedEmitter } from "tiny-typed-emitter"; import { TransformEvents } from "@tryforge/forge.db"; -import { Giveaway } from "../structures/Giveaway"; +import { Giveaway } from "../structures"; export interface IGiveawayStartOptions { prize: string; duration: number; @@ -23,14 +23,19 @@ export declare class GiveawaysManager { private readonly giveaways; constructor(client: ForgeGiveaways, emitter: TypedEmitter>); /** - * + * Gets an existing giveaway. + * @param id The id of the giveaway to get. + */ + get(id: Snowflake): Giveaway | undefined; + /** + * Starts a new giveaway on a guild. * @param ctx The current context. * @param options The start options for the giveaway. * @returns */ start(ctx: Context, options: IGiveawayStartOptions): Promise; /** - * + * Ends an existing giveaway. * @param ctx The current context. * @param id The id of the giveaway to end. * @returns diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 19d616d..37ddb41 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAc,SAAS,EAAe,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA+B/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqC5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAc,SAAS,EAAe,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;OAGG;IACI,GAAG,CAAC,EAAE,EAAE,SAAS;IAIxB;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA+B/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqC5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 596d212..1777334 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.GiveawaysManager = void 0; const forgescript_1 = require("@tryforge/forgescript"); const discord_js_1 = require("discord.js"); -const Giveaway_1 = require("../structures/Giveaway"); +const structures_1 = require("../structures"); class GiveawaysManager { client; emitter; @@ -13,13 +13,20 @@ class GiveawaysManager { this.emitter = emitter; } /** - * + * Gets an existing giveaway. + * @param id The id of the giveaway to get. + */ + get(id) { + return this.giveaways.get(id); + } + /** + * Starts a new giveaway on a guild. * @param ctx The current context. * @param options The start options for the giveaway. * @returns */ async start(ctx, options) { - const giveaway = new Giveaway_1.Giveaway(options); + const giveaway = new structures_1.Giveaway(options); const result = await forgescript_1.Interpreter.run({ ...ctx.runtime, environment: { giveaway }, @@ -45,7 +52,7 @@ class GiveawaysManager { return giveaway; } /** - * + * Ends an existing giveaway. * @param ctx The current context. * @param id The id of the giveaway to end. * @returns diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 1958022..9f180c7 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/native/giveawayChannelID.d.ts b/dist/native/giveawayChannelID.d.ts new file mode 100644 index 0000000..c3060c6 --- /dev/null +++ b/dist/native/giveawayChannelID.d.ts @@ -0,0 +1,10 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=giveawayChannelID.d.ts.map \ No newline at end of file diff --git a/dist/native/giveawayChannelID.d.ts.map b/dist/native/giveawayChannelID.d.ts.map new file mode 100644 index 0000000..7282a79 --- /dev/null +++ b/dist/native/giveawayChannelID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayChannelID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file diff --git a/dist/native/giveawayChannelID.js b/dist/native/giveawayChannelID.js new file mode 100644 index 0000000..ca54332 --- /dev/null +++ b/dist/native/giveawayChannelID.js @@ -0,0 +1,28 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +exports.default = new forgescript_1.NativeFunction({ + name: "$giveawayChannelID", + description: "Returns the channel id of a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + ], + output: forgescript_1.ArgType.Channel, + execute(ctx, [id]) { + const giveaway = (0, getGiveaway_1.default)(ctx, id); + return this.success(giveaway?.channelID); + } +}); +//# sourceMappingURL=giveawayChannelID.js.map \ No newline at end of file diff --git a/dist/native/giveawayChannelID.js.map b/dist/native/giveawayChannelID.js.map new file mode 100644 index 0000000..c59acc9 --- /dev/null +++ b/dist/native/giveawayChannelID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayChannelID.js","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayDuration.d.ts b/dist/native/giveawayDuration.d.ts new file mode 100644 index 0000000..abe6136 --- /dev/null +++ b/dist/native/giveawayDuration.d.ts @@ -0,0 +1,10 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=giveawayDuration.d.ts.map \ No newline at end of file diff --git a/dist/native/giveawayDuration.d.ts.map b/dist/native/giveawayDuration.d.ts.map new file mode 100644 index 0000000..ac4f263 --- /dev/null +++ b/dist/native/giveawayDuration.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayDuration.d.ts","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file diff --git a/dist/native/giveawayDuration.js b/dist/native/giveawayDuration.js new file mode 100644 index 0000000..727998f --- /dev/null +++ b/dist/native/giveawayDuration.js @@ -0,0 +1,28 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +exports.default = new forgescript_1.NativeFunction({ + name: "$giveawayDuration", + description: "Returns the duration of a giveaway in ms", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + ], + output: forgescript_1.ArgType.Number, + execute(ctx, [id]) { + const giveaway = (0, getGiveaway_1.default)(ctx, id); + return this.success(giveaway?.duration); + } +}); +//# sourceMappingURL=giveawayDuration.js.map \ No newline at end of file diff --git a/dist/native/giveawayDuration.js.map b/dist/native/giveawayDuration.js.map new file mode 100644 index 0000000..970c079 --- /dev/null +++ b/dist/native/giveawayDuration.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayDuration.js","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,0CAA0C;IACvD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayEntries.d.ts b/dist/native/giveawayEntries.d.ts new file mode 100644 index 0000000..b23a241 --- /dev/null +++ b/dist/native/giveawayEntries.d.ts @@ -0,0 +1,15 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}, { + name: string; + description: string; + rest: false; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=giveawayEntries.d.ts.map \ No newline at end of file diff --git a/dist/native/giveawayEntries.d.ts.map b/dist/native/giveawayEntries.d.ts.map new file mode 100644 index 0000000..96da2c3 --- /dev/null +++ b/dist/native/giveawayEntries.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayEntries.d.ts","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBAyBE"} \ No newline at end of file diff --git a/dist/native/giveawayEntries.js b/dist/native/giveawayEntries.js new file mode 100644 index 0000000..5875686 --- /dev/null +++ b/dist/native/giveawayEntries.js @@ -0,0 +1,35 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const array_1 = __importDefault(require("../functions/array")); +exports.default = new forgescript_1.NativeFunction({ + name: "$giveawayEntries", + description: "Returns the entries of a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + { + name: "separator", + description: "The separator to use for each value", + rest: false, + type: forgescript_1.ArgType.String, + }, + ], + output: (0, array_1.default)(), + execute(ctx, [id, sep]) { + const giveaway = (0, getGiveaway_1.default)(ctx, id); + return this.success(giveaway?.entries.join(sep ?? ", ")); + } +}); +//# sourceMappingURL=giveawayEntries.js.map \ No newline at end of file diff --git a/dist/native/giveawayEntries.js.map b/dist/native/giveawayEntries.js.map new file mode 100644 index 0000000..d690688 --- /dev/null +++ b/dist/native/giveawayEntries.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayEntries.js","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayGuildID.d.ts b/dist/native/giveawayGuildID.d.ts new file mode 100644 index 0000000..00ebfec --- /dev/null +++ b/dist/native/giveawayGuildID.d.ts @@ -0,0 +1,10 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=giveawayGuildID.d.ts.map \ No newline at end of file diff --git a/dist/native/giveawayGuildID.d.ts.map b/dist/native/giveawayGuildID.d.ts.map new file mode 100644 index 0000000..62695c5 --- /dev/null +++ b/dist/native/giveawayGuildID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayGuildID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file diff --git a/dist/native/giveawayGuildID.js b/dist/native/giveawayGuildID.js new file mode 100644 index 0000000..0f23a96 --- /dev/null +++ b/dist/native/giveawayGuildID.js @@ -0,0 +1,28 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +exports.default = new forgescript_1.NativeFunction({ + name: "$giveawayGuildID", + description: "Returns the guild id of a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + ], + output: forgescript_1.ArgType.Guild, + execute(ctx, [id]) { + const giveaway = (0, getGiveaway_1.default)(ctx, id); + return this.success(giveaway?.guildID); + } +}); +//# sourceMappingURL=giveawayGuildID.js.map \ No newline at end of file diff --git a/dist/native/giveawayGuildID.js.map b/dist/native/giveawayGuildID.js.map new file mode 100644 index 0000000..d306421 --- /dev/null +++ b/dist/native/giveawayGuildID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayGuildID.js","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,KAAK;IACrB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayHostID.d.ts b/dist/native/giveawayHostID.d.ts new file mode 100644 index 0000000..52e7718 --- /dev/null +++ b/dist/native/giveawayHostID.d.ts @@ -0,0 +1,10 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=giveawayHostID.d.ts.map \ No newline at end of file diff --git a/dist/native/giveawayHostID.d.ts.map b/dist/native/giveawayHostID.d.ts.map new file mode 100644 index 0000000..f42023d --- /dev/null +++ b/dist/native/giveawayHostID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayHostID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file diff --git a/dist/native/giveawayHostID.js b/dist/native/giveawayHostID.js new file mode 100644 index 0000000..6e58dc9 --- /dev/null +++ b/dist/native/giveawayHostID.js @@ -0,0 +1,28 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +exports.default = new forgescript_1.NativeFunction({ + name: "$giveawayHostID", + description: "Returns the host id of a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + ], + output: forgescript_1.ArgType.User, + execute(ctx, [id]) { + const giveaway = (0, getGiveaway_1.default)(ctx, id); + return this.success(giveaway?.hostID); + } +}); +//# sourceMappingURL=giveawayHostID.js.map \ No newline at end of file diff --git a/dist/native/giveawayHostID.js.map b/dist/native/giveawayHostID.js.map new file mode 100644 index 0000000..c696cda --- /dev/null +++ b/dist/native/giveawayHostID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayHostID.js","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayMessageID.d.ts b/dist/native/giveawayMessageID.d.ts new file mode 100644 index 0000000..0d4f960 --- /dev/null +++ b/dist/native/giveawayMessageID.d.ts @@ -0,0 +1,10 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=giveawayMessageID.d.ts.map \ No newline at end of file diff --git a/dist/native/giveawayMessageID.d.ts.map b/dist/native/giveawayMessageID.d.ts.map new file mode 100644 index 0000000..f937735 --- /dev/null +++ b/dist/native/giveawayMessageID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayMessageID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file diff --git a/dist/native/giveawayMessageID.js b/dist/native/giveawayMessageID.js new file mode 100644 index 0000000..4cb9489 --- /dev/null +++ b/dist/native/giveawayMessageID.js @@ -0,0 +1,28 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +exports.default = new forgescript_1.NativeFunction({ + name: "$giveawayMessageID", + description: "Returns the message id of a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + ], + output: forgescript_1.ArgType.Message, + execute(ctx, [id]) { + const giveaway = (0, getGiveaway_1.default)(ctx, id); + return this.success(giveaway?.messageID); + } +}); +//# sourceMappingURL=giveawayMessageID.js.map \ No newline at end of file diff --git a/dist/native/giveawayMessageID.js.map b/dist/native/giveawayMessageID.js.map new file mode 100644 index 0000000..3218c06 --- /dev/null +++ b/dist/native/giveawayMessageID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayMessageID.js","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayPrize.d.ts b/dist/native/giveawayPrize.d.ts new file mode 100644 index 0000000..e4c41f9 --- /dev/null +++ b/dist/native/giveawayPrize.d.ts @@ -0,0 +1,10 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=giveawayPrize.d.ts.map \ No newline at end of file diff --git a/dist/native/giveawayPrize.d.ts.map b/dist/native/giveawayPrize.d.ts.map new file mode 100644 index 0000000..e6aaf81 --- /dev/null +++ b/dist/native/giveawayPrize.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayPrize.d.ts","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file diff --git a/dist/native/giveawayPrize.js b/dist/native/giveawayPrize.js new file mode 100644 index 0000000..6376bf4 --- /dev/null +++ b/dist/native/giveawayPrize.js @@ -0,0 +1,28 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +exports.default = new forgescript_1.NativeFunction({ + name: "$giveawayPrize", + description: "Returns the prize of a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + ], + output: forgescript_1.ArgType.String, + execute(ctx, [id]) { + const giveaway = (0, getGiveaway_1.default)(ctx, id); + return this.success(giveaway?.prize); + } +}); +//# sourceMappingURL=giveawayPrize.js.map \ No newline at end of file diff --git a/dist/native/giveawayPrize.js.map b/dist/native/giveawayPrize.js.map new file mode 100644 index 0000000..fffe20a --- /dev/null +++ b/dist/native/giveawayPrize.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayPrize.js","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,iCAAiC;IAC9C,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRequiredRoles.d.ts b/dist/native/giveawayRequiredRoles.d.ts new file mode 100644 index 0000000..01b09dc --- /dev/null +++ b/dist/native/giveawayRequiredRoles.d.ts @@ -0,0 +1,15 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}, { + name: string; + description: string; + rest: false; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=giveawayRequiredRoles.d.ts.map \ No newline at end of file diff --git a/dist/native/giveawayRequiredRoles.d.ts.map b/dist/native/giveawayRequiredRoles.d.ts.map new file mode 100644 index 0000000..8efeb89 --- /dev/null +++ b/dist/native/giveawayRequiredRoles.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayRequiredRoles.d.ts","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBAyBE"} \ No newline at end of file diff --git a/dist/native/giveawayRequiredRoles.js b/dist/native/giveawayRequiredRoles.js new file mode 100644 index 0000000..91dc488 --- /dev/null +++ b/dist/native/giveawayRequiredRoles.js @@ -0,0 +1,35 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const array_1 = __importDefault(require("../functions/array")); +exports.default = new forgescript_1.NativeFunction({ + name: "$giveawayRequiredRoles", + description: "Returns the required roles for a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + { + name: "separator", + description: "The separator to use for each value", + rest: false, + type: forgescript_1.ArgType.String, + }, + ], + output: (0, array_1.default)(), + execute(ctx, [id, sep]) { + const giveaway = (0, getGiveaway_1.default)(ctx, id); + return this.success(giveaway?.requirements?.requiredRoles?.join(sep ?? ", ")); + } +}); +//# sourceMappingURL=giveawayRequiredRoles.js.map \ No newline at end of file diff --git a/dist/native/giveawayRequiredRoles.js.map b/dist/native/giveawayRequiredRoles.js.map new file mode 100644 index 0000000..531581e --- /dev/null +++ b/dist/native/giveawayRequiredRoles.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayRequiredRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACjF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedMembers.d.ts b/dist/native/giveawayRestrictedMembers.d.ts new file mode 100644 index 0000000..1d02f10 --- /dev/null +++ b/dist/native/giveawayRestrictedMembers.d.ts @@ -0,0 +1,15 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}, { + name: string; + description: string; + rest: false; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=giveawayRestrictedMembers.d.ts.map \ No newline at end of file diff --git a/dist/native/giveawayRestrictedMembers.d.ts.map b/dist/native/giveawayRestrictedMembers.d.ts.map new file mode 100644 index 0000000..5da37e3 --- /dev/null +++ b/dist/native/giveawayRestrictedMembers.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayRestrictedMembers.d.ts","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBAyBE"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedMembers.js b/dist/native/giveawayRestrictedMembers.js new file mode 100644 index 0000000..5d5427e --- /dev/null +++ b/dist/native/giveawayRestrictedMembers.js @@ -0,0 +1,35 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const array_1 = __importDefault(require("../functions/array")); +exports.default = new forgescript_1.NativeFunction({ + name: "$giveawayRestrictedMembers", + description: "Returns the restricted members for a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + { + name: "separator", + description: "The separator to use for each value", + rest: false, + type: forgescript_1.ArgType.String, + }, + ], + output: (0, array_1.default)(), + execute(ctx, [id, sep]) { + const giveaway = (0, getGiveaway_1.default)(ctx, id); + return this.success(giveaway?.requirements?.restrictedMembers?.join(sep ?? ", ")); + } +}); +//# sourceMappingURL=giveawayRestrictedMembers.js.map \ No newline at end of file diff --git a/dist/native/giveawayRestrictedMembers.js.map b/dist/native/giveawayRestrictedMembers.js.map new file mode 100644 index 0000000..c5c2cec --- /dev/null +++ b/dist/native/giveawayRestrictedMembers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayRestrictedMembers.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAkB;IAC/B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedRoles.d.ts b/dist/native/giveawayRestrictedRoles.d.ts new file mode 100644 index 0000000..fca224a --- /dev/null +++ b/dist/native/giveawayRestrictedRoles.d.ts @@ -0,0 +1,15 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}, { + name: string; + description: string; + rest: false; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=giveawayRestrictedRoles.d.ts.map \ No newline at end of file diff --git a/dist/native/giveawayRestrictedRoles.d.ts.map b/dist/native/giveawayRestrictedRoles.d.ts.map new file mode 100644 index 0000000..8154171 --- /dev/null +++ b/dist/native/giveawayRestrictedRoles.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayRestrictedRoles.d.ts","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBAyBE"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedRoles.js b/dist/native/giveawayRestrictedRoles.js new file mode 100644 index 0000000..0d7667b --- /dev/null +++ b/dist/native/giveawayRestrictedRoles.js @@ -0,0 +1,35 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const array_1 = __importDefault(require("../functions/array")); +exports.default = new forgescript_1.NativeFunction({ + name: "$giveawayRestrictedRoles", + description: "Returns the restricted roles for a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + { + name: "separator", + description: "The separator to use for each value", + rest: false, + type: forgescript_1.ArgType.String, + }, + ], + output: (0, array_1.default)(), + execute(ctx, [id, sep]) { + const giveaway = (0, getGiveaway_1.default)(ctx, id); + return this.success(giveaway?.requirements?.restrictedRoles?.join(sep ?? ", ")); + } +}); +//# sourceMappingURL=giveawayRestrictedRoles.js.map \ No newline at end of file diff --git a/dist/native/giveawayRestrictedRoles.js.map b/dist/native/giveawayRestrictedRoles.js.map new file mode 100644 index 0000000..55b17f5 --- /dev/null +++ b/dist/native/giveawayRestrictedRoles.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayRestrictedRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACnF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinners.d.ts b/dist/native/giveawayWinners.d.ts new file mode 100644 index 0000000..a512072 --- /dev/null +++ b/dist/native/giveawayWinners.d.ts @@ -0,0 +1,15 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}, { + name: string; + description: string; + rest: false; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=giveawayWinners.d.ts.map \ No newline at end of file diff --git a/dist/native/giveawayWinners.d.ts.map b/dist/native/giveawayWinners.d.ts.map new file mode 100644 index 0000000..62e66d8 --- /dev/null +++ b/dist/native/giveawayWinners.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayWinners.d.ts","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBAyBE"} \ No newline at end of file diff --git a/dist/native/giveawayWinners.js b/dist/native/giveawayWinners.js new file mode 100644 index 0000000..3f9b8b3 --- /dev/null +++ b/dist/native/giveawayWinners.js @@ -0,0 +1,35 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const array_1 = __importDefault(require("../functions/array")); +exports.default = new forgescript_1.NativeFunction({ + name: "$giveawayWinners", + description: "Returns the winners of a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + { + name: "separator", + description: "The separator to use for each value", + rest: false, + type: forgescript_1.ArgType.String, + }, + ], + output: (0, array_1.default)(), + execute(ctx, [id, sep]) { + const giveaway = (0, getGiveaway_1.default)(ctx, id); + return this.success(giveaway?.winners.join(sep ?? ", ")); + } +}); +//# sourceMappingURL=giveawayWinners.js.map \ No newline at end of file diff --git a/dist/native/giveawayWinners.js.map b/dist/native/giveawayWinners.js.map new file mode 100644 index 0000000..15b4690 --- /dev/null +++ b/dist/native/giveawayWinners.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayWinners.js","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinnersCount.d.ts b/dist/native/giveawayWinnersCount.d.ts new file mode 100644 index 0000000..f5ebf8e --- /dev/null +++ b/dist/native/giveawayWinnersCount.d.ts @@ -0,0 +1,10 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=giveawayWinnersCount.d.ts.map \ No newline at end of file diff --git a/dist/native/giveawayWinnersCount.d.ts.map b/dist/native/giveawayWinnersCount.d.ts.map new file mode 100644 index 0000000..153b9a5 --- /dev/null +++ b/dist/native/giveawayWinnersCount.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayWinnersCount.d.ts","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file diff --git a/dist/native/giveawayWinnersCount.js b/dist/native/giveawayWinnersCount.js new file mode 100644 index 0000000..381f664 --- /dev/null +++ b/dist/native/giveawayWinnersCount.js @@ -0,0 +1,28 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +exports.default = new forgescript_1.NativeFunction({ + name: "$giveawayWinnersCount", + description: "Returns the winners count of a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + ], + output: forgescript_1.ArgType.Number, + execute(ctx, [id]) { + const giveaway = (0, getGiveaway_1.default)(ctx, id); + return this.success(giveaway?.winnersCount); + } +}); +//# sourceMappingURL=giveawayWinnersCount.js.map \ No newline at end of file diff --git a/dist/native/giveawayWinnersCount.js.map b/dist/native/giveawayWinnersCount.js.map new file mode 100644 index 0000000..41cf9fb --- /dev/null +++ b/dist/native/giveawayWinnersCount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayWinnersCount.js","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/startGiveaway.d.ts b/dist/native/manage/startGiveaway.d.ts similarity index 100% rename from dist/native/startGiveaway.d.ts rename to dist/native/manage/startGiveaway.d.ts diff --git a/dist/native/manage/startGiveaway.d.ts.map b/dist/native/manage/startGiveaway.d.ts.map new file mode 100644 index 0000000..78816c2 --- /dev/null +++ b/dist/native/manage/startGiveaway.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"startGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/manage/startGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;;;;;;;eAgBpC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;AAblC,wBA4DE"} \ No newline at end of file diff --git a/dist/native/startGiveaway.js b/dist/native/manage/startGiveaway.js similarity index 98% rename from dist/native/startGiveaway.js rename to dist/native/manage/startGiveaway.js index 8043f51..f478dc7 100644 --- a/dist/native/startGiveaway.js +++ b/dist/native/manage/startGiveaway.js @@ -1,7 +1,7 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const __1 = require(".."); +const __1 = require("../.."); exports.default = new forgescript_1.NativeFunction({ name: "$startGiveaway", version: "1.0.0", diff --git a/dist/native/manage/startGiveaway.js.map b/dist/native/manage/startGiveaway.js.map new file mode 100644 index 0000000..9a4c739 --- /dev/null +++ b/dist/native/manage/startGiveaway.js.map @@ -0,0 +1 @@ +{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE;YACtD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ;YACR,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;SAC7B,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACpC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/startGiveaway.d.ts.map b/dist/native/startGiveaway.d.ts.map deleted file mode 100644 index 374030f..0000000 --- a/dist/native/startGiveaway.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"startGiveaway.d.ts","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;;;;;;;eAgBpC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;AAblC,wBA4DE"} \ No newline at end of file diff --git a/dist/native/startGiveaway.js.map b/dist/native/startGiveaway.js.map deleted file mode 100644 index eccb0b2..0000000 --- a/dist/native/startGiveaway.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../src/native/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,0BAAmC;AAEnC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE;YACtD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ;YACR,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;SAC7B,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACpC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/state/oldGiveaway.d.ts b/dist/native/state/oldGiveaway.d.ts new file mode 100644 index 0000000..7b25e14 --- /dev/null +++ b/dist/native/state/oldGiveaway.d.ts @@ -0,0 +1,17 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +import { GiveawayProperty } from "../../properties/giveaway"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.Enum; + enum: typeof GiveawayProperty; +}, { + name: string; + description: string; + rest: false; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=oldGiveaway.d.ts.map \ No newline at end of file diff --git a/dist/native/state/oldGiveaway.d.ts.map b/dist/native/state/oldGiveaway.d.ts.map new file mode 100644 index 0000000..8871193 --- /dev/null +++ b/dist/native/state/oldGiveaway.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"oldGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/state/oldGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAEhF,wBA2BE"} \ No newline at end of file diff --git a/dist/native/state/oldGiveaway.js b/dist/native/state/oldGiveaway.js new file mode 100644 index 0000000..271a922 --- /dev/null +++ b/dist/native/state/oldGiveaway.js @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const giveaway_1 = require("../../properties/giveaway"); +exports.default = new forgescript_1.NativeFunction({ + name: "$oldGiveaway", + description: "Retrieves old data from an event whose context was a giveaway instance", + unwrap: true, + brackets: false, + args: [ + { + name: "property", + description: "The property of the giveaway to return", + rest: false, + required: true, + type: forgescript_1.ArgType.Enum, + enum: giveaway_1.GiveawayProperty + }, + { + name: "separator", + description: "The separator to use in case of array", + rest: false, + type: forgescript_1.ArgType.String + } + ], + output: forgescript_1.ArgType.Unknown, + execute(ctx, [prop, sep]) { + const giveaway = ctx.extendedStates?.giveaway?.old; + if (!giveaway || prop) + return this.success(giveaway_1.GiveawayProperties[prop](giveaway, sep)); + return this.successJSON(giveaway); + } +}); +//# sourceMappingURL=oldGiveaway.js.map \ No newline at end of file diff --git a/dist/native/state/oldGiveaway.js.map b/dist/native/state/oldGiveaway.js.map new file mode 100644 index 0000000..47bd801 --- /dev/null +++ b/dist/native/state/oldGiveaway.js.map @@ -0,0 +1 @@ +{"version":3,"file":"oldGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/oldGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAEhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,GAAG,CAAA;QAClD,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;QACnF,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 75529b3..8bcda34 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 4e3988d..9d7a975 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 02b40d9..58aefc9 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 741023f..044c5b4 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 31393d6..2ddd9b6 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,12 +1,17 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Parameters

    • ctx: Context

      The current context.

      +

Constructors

Methods

  • Ends an existing giveaway.

    +

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Rerolls an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    +

    Parameters

    • id: string

      The id of the giveaway to get.

      +

    Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 9fbdb41..2263f98 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 087c4f3..200201b 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,5 +1,5 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
+

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index f73ab65..501cb9c 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
diff --git a/metadata/functions.json b/metadata/functions.json index 6d2082e..83d50a7 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"]},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file +[{"name":"$giveawayChannelID","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"],"version":"1.0.0"},{"name":"$giveawayDuration","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"],"version":"1.0.0"},{"name":"$giveawayEntries","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"],"version":"1.0.0"},{"name":"$giveawayGuildID","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"],"version":"1.0.0"},{"name":"$giveawayHostID","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"],"version":"1.0.0"},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"],"version":"1.0.0"},{"name":"$giveawayPrize","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"],"version":"1.0.0"},{"name":"$giveawayRequiredRoles","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"],"version":"1.0.0"},{"name":"$giveawayRestrictedMembers","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"],"version":"1.0.0"},{"name":"$giveawayRestrictedRoles","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"],"version":"1.0.0"},{"name":"$giveawayWinners","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"],"version":"1.0.0"},{"name":"$giveawayWinnersCount","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"],"version":"1.0.0"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state","version":"1.0.0"}] \ No newline at end of file diff --git a/src/functions/array.ts b/src/functions/array.ts new file mode 100644 index 0000000..0e09d02 --- /dev/null +++ b/src/functions/array.ts @@ -0,0 +1,5 @@ +import { ArgType } from "@tryforge/forgescript" + +export default function(value?: any) { + return value ?? null +} \ No newline at end of file diff --git a/src/functions/getGiveaway.ts b/src/functions/getGiveaway.ts new file mode 100644 index 0000000..c0d0f8f --- /dev/null +++ b/src/functions/getGiveaway.ts @@ -0,0 +1,6 @@ +import { Context } from "@tryforge/forgescript" +import { ForgeGiveaways } from ".." + +export default function(ctx: Context, id: string) { + return (ctx.client.getExtension(ForgeGiveaways, true).giveawaysManager.get(id) ?? ctx.giveaway) +} \ No newline at end of file diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 7e6b6dc..bcc043a 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -3,7 +3,7 @@ import { Collection, Snowflake, TextChannel } from "discord.js" import { ForgeGiveaways, IGiveawayEvents } from ".." import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" -import { Giveaway } from "../structures/Giveaway" +import { Giveaway } from "../structures" export interface IGiveawayStartOptions { prize: string @@ -28,7 +28,15 @@ export class GiveawaysManager { ) {} /** - * + * Gets an existing giveaway. + * @param id The id of the giveaway to get. + */ + public get(id: Snowflake) { + return this.giveaways.get(id) + } + + /** + * Starts a new giveaway on a guild. * @param ctx The current context. * @param options The start options for the giveaway. * @returns @@ -65,7 +73,7 @@ export class GiveawaysManager { } /** - * + * Ends an existing giveaway. * @param ctx The current context. * @param id The id of the giveaway to end. * @returns diff --git a/src/native/giveawayChannelID.ts b/src/native/giveawayChannelID.ts new file mode 100644 index 0000000..50bc1d4 --- /dev/null +++ b/src/native/giveawayChannelID.ts @@ -0,0 +1,24 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import getGiveaway from "../functions/getGiveaway" + +export default new NativeFunction({ + name: "$giveawayChannelID", + version: "1.0.0", + description: "Returns the channel id of a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: ArgType.String, + }, + ], + output: ArgType.Channel, + execute(ctx, [id]) { + const giveaway = getGiveaway(ctx, id) + return this.success(giveaway?.channelID) + } +}) \ No newline at end of file diff --git a/src/native/giveawayDuration.ts b/src/native/giveawayDuration.ts new file mode 100644 index 0000000..c4d66b2 --- /dev/null +++ b/src/native/giveawayDuration.ts @@ -0,0 +1,24 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import getGiveaway from "../functions/getGiveaway" + +export default new NativeFunction({ + name: "$giveawayDuration", + version: "1.0.0", + description: "Returns the duration of a giveaway in ms", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: ArgType.String, + }, + ], + output: ArgType.Number, + execute(ctx, [id]) { + const giveaway = getGiveaway(ctx, id) + return this.success(giveaway?.duration) + } +}) \ No newline at end of file diff --git a/src/native/giveawayEntries.ts b/src/native/giveawayEntries.ts new file mode 100644 index 0000000..8d88b39 --- /dev/null +++ b/src/native/giveawayEntries.ts @@ -0,0 +1,31 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import getGiveaway from "../functions/getGiveaway" +import array from "../functions/array" + +export default new NativeFunction({ + name: "$giveawayEntries", + version: "1.0.0", + description: "Returns the entries of a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: ArgType.String, + }, + { + name: "separator", + description: "The separator to use for each value", + rest: false, + type: ArgType.String, + }, + ], + output: array(), + execute(ctx, [id, sep]) { + const giveaway = getGiveaway(ctx, id) + return this.success(giveaway?.entries.join(sep ?? ", ")) + } +}) \ No newline at end of file diff --git a/src/native/giveawayGuildID.ts b/src/native/giveawayGuildID.ts new file mode 100644 index 0000000..4cd71a5 --- /dev/null +++ b/src/native/giveawayGuildID.ts @@ -0,0 +1,24 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import getGiveaway from "../functions/getGiveaway" + +export default new NativeFunction({ + name: "$giveawayGuildID", + version: "1.0.0", + description: "Returns the guild id of a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: ArgType.String, + }, + ], + output: ArgType.Guild, + execute(ctx, [id]) { + const giveaway = getGiveaway(ctx, id) + return this.success(giveaway?.guildID) + } +}) \ No newline at end of file diff --git a/src/native/giveawayHostID.ts b/src/native/giveawayHostID.ts new file mode 100644 index 0000000..7eb4c79 --- /dev/null +++ b/src/native/giveawayHostID.ts @@ -0,0 +1,24 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import getGiveaway from "../functions/getGiveaway" + +export default new NativeFunction({ + name: "$giveawayHostID", + version: "1.0.0", + description: "Returns the host id of a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: ArgType.String, + }, + ], + output: ArgType.User, + execute(ctx, [id]) { + const giveaway = getGiveaway(ctx, id) + return this.success(giveaway?.hostID) + } +}) \ No newline at end of file diff --git a/src/native/giveawayMessageID.ts b/src/native/giveawayMessageID.ts new file mode 100644 index 0000000..0d32d6c --- /dev/null +++ b/src/native/giveawayMessageID.ts @@ -0,0 +1,24 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import getGiveaway from "../functions/getGiveaway" + +export default new NativeFunction({ + name: "$giveawayMessageID", + version: "1.0.0", + description: "Returns the message id of a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: ArgType.String, + }, + ], + output: ArgType.Message, + execute(ctx, [id]) { + const giveaway = getGiveaway(ctx, id) + return this.success(giveaway?.messageID) + } +}) \ No newline at end of file diff --git a/src/native/giveawayPrize.ts b/src/native/giveawayPrize.ts new file mode 100644 index 0000000..fde58f0 --- /dev/null +++ b/src/native/giveawayPrize.ts @@ -0,0 +1,24 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import getGiveaway from "../functions/getGiveaway" + +export default new NativeFunction({ + name: "$giveawayPrize", + version: "1.0.0", + description: "Returns the prize of a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: ArgType.String, + }, + ], + output: ArgType.String, + execute(ctx, [id]) { + const giveaway = getGiveaway(ctx, id) + return this.success(giveaway?.prize) + } +}) \ No newline at end of file diff --git a/src/native/giveawayRequiredRoles.ts b/src/native/giveawayRequiredRoles.ts new file mode 100644 index 0000000..38b7506 --- /dev/null +++ b/src/native/giveawayRequiredRoles.ts @@ -0,0 +1,31 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import getGiveaway from "../functions/getGiveaway" +import array from "../functions/array" + +export default new NativeFunction({ + name: "$giveawayRequiredRoles", + version: "1.0.0", + description: "Returns the required roles for a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: ArgType.String, + }, + { + name: "separator", + description: "The separator to use for each value", + rest: false, + type: ArgType.String, + }, + ], + output: array(), + execute(ctx, [id, sep]) { + const giveaway = getGiveaway(ctx, id) + return this.success(giveaway?.requirements?.requiredRoles?.join(sep ?? ", ")) + } +}) \ No newline at end of file diff --git a/src/native/giveawayRestrictedMembers.ts b/src/native/giveawayRestrictedMembers.ts new file mode 100644 index 0000000..e062af0 --- /dev/null +++ b/src/native/giveawayRestrictedMembers.ts @@ -0,0 +1,31 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import getGiveaway from "../functions/getGiveaway" +import array from "../functions/array" + +export default new NativeFunction({ + name: "$giveawayRestrictedMembers", + version: "1.0.0", + description: "Returns the restricted members for a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: ArgType.String, + }, + { + name: "separator", + description: "The separator to use for each value", + rest: false, + type: ArgType.String, + }, + ], + output: array(), + execute(ctx, [id, sep]) { + const giveaway = getGiveaway(ctx, id) + return this.success(giveaway?.requirements?.restrictedMembers?.join(sep ?? ", ")) + } +}) \ No newline at end of file diff --git a/src/native/giveawayRestrictedRoles.ts b/src/native/giveawayRestrictedRoles.ts new file mode 100644 index 0000000..41cb8e7 --- /dev/null +++ b/src/native/giveawayRestrictedRoles.ts @@ -0,0 +1,31 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import getGiveaway from "../functions/getGiveaway" +import array from "../functions/array" + +export default new NativeFunction({ + name: "$giveawayRestrictedRoles", + version: "1.0.0", + description: "Returns the restricted roles for a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: ArgType.String, + }, + { + name: "separator", + description: "The separator to use for each value", + rest: false, + type: ArgType.String, + }, + ], + output: array(), + execute(ctx, [id, sep]) { + const giveaway = getGiveaway(ctx, id) + return this.success(giveaway?.requirements?.restrictedRoles?.join(sep ?? ", ")) + } +}) \ No newline at end of file diff --git a/src/native/giveawayWinners.ts b/src/native/giveawayWinners.ts new file mode 100644 index 0000000..98d5c5f --- /dev/null +++ b/src/native/giveawayWinners.ts @@ -0,0 +1,31 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import getGiveaway from "../functions/getGiveaway" +import array from "../functions/array" + +export default new NativeFunction({ + name: "$giveawayWinners", + version: "1.0.0", + description: "Returns the winners of a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: ArgType.String, + }, + { + name: "separator", + description: "The separator to use for each value", + rest: false, + type: ArgType.String, + }, + ], + output: array(), + execute(ctx, [id, sep]) { + const giveaway = getGiveaway(ctx, id) + return this.success(giveaway?.winners.join(sep ?? ", ")) + } +}) \ No newline at end of file diff --git a/src/native/giveawayWinnersCount.ts b/src/native/giveawayWinnersCount.ts new file mode 100644 index 0000000..9d75890 --- /dev/null +++ b/src/native/giveawayWinnersCount.ts @@ -0,0 +1,24 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import getGiveaway from "../functions/getGiveaway" + +export default new NativeFunction({ + name: "$giveawayWinnersCount", + version: "1.0.0", + description: "Returns the winners count of a giveaway", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: ArgType.String, + }, + ], + output: ArgType.Number, + execute(ctx, [id]) { + const giveaway = getGiveaway(ctx, id) + return this.success(giveaway?.winnersCount) + } +}) \ No newline at end of file diff --git a/src/native/startGiveaway.ts b/src/native/manage/startGiveaway.ts similarity index 98% rename from src/native/startGiveaway.ts rename to src/native/manage/startGiveaway.ts index 91e3b1f..301014a 100644 --- a/src/native/startGiveaway.ts +++ b/src/native/manage/startGiveaway.ts @@ -1,6 +1,6 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" import { BaseChannel, GuildBasedChannel } from "discord.js" -import { ForgeGiveaways } from ".." +import { ForgeGiveaways } from "../.." export default new NativeFunction({ name: "$startGiveaway", diff --git a/src/native/state/oldGiveaway.ts b/src/native/state/oldGiveaway.ts new file mode 100644 index 0000000..86ef968 --- /dev/null +++ b/src/native/state/oldGiveaway.ts @@ -0,0 +1,32 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import { GiveawayProperties, GiveawayProperty } from "../../properties/giveaway" + +export default new NativeFunction({ + name: "$oldGiveaway", + version: "1.0.0", + description: "Retrieves old data from an event whose context was a giveaway instance", + unwrap: true, + brackets: false, + args: [ + { + name: "property", + description: "The property of the giveaway to return", + rest: false, + required: true, + type: ArgType.Enum, + enum: GiveawayProperty + }, + { + name: "separator", + description: "The separator to use in case of array", + rest: false, + type: ArgType.String + } + ], + output: ArgType.Unknown, + execute(ctx, [prop, sep]) { + const giveaway = ctx.extendedStates?.giveaway?.old + if (!giveaway || prop) return this.success(GiveawayProperties[prop](giveaway, sep)) + return this.successJSON(giveaway) + } +}) \ No newline at end of file From 04bc9825035f981c3d1834f3a6d879571ac7fbde Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Thu, 16 Oct 2025 16:03:00 +0200 Subject: [PATCH 18/87] Added reroll and end giveaways --- dist/managers/GiveawaysManager.d.ts | 8 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 61 +++++++++------ dist/managers/GiveawaysManager.js.map | 2 +- dist/native/giveawayChannelID.d.ts.map | 2 +- dist/native/giveawayChannelID.js | 1 + dist/native/giveawayChannelID.js.map | 2 +- dist/native/giveawayDuration.d.ts.map | 2 +- dist/native/giveawayDuration.js | 1 + dist/native/giveawayDuration.js.map | 2 +- dist/native/giveawayEntries.d.ts.map | 2 +- dist/native/giveawayEntries.js | 1 + dist/native/giveawayEntries.js.map | 2 +- dist/native/giveawayGuildID.d.ts.map | 2 +- dist/native/giveawayGuildID.js | 1 + dist/native/giveawayGuildID.js.map | 2 +- dist/native/giveawayHostID.d.ts.map | 2 +- dist/native/giveawayHostID.js | 1 + dist/native/giveawayHostID.js.map | 2 +- dist/native/giveawayMessageID.d.ts.map | 2 +- dist/native/giveawayMessageID.js | 1 + dist/native/giveawayMessageID.js.map | 2 +- dist/native/giveawayPrize.d.ts.map | 2 +- dist/native/giveawayPrize.js | 1 + dist/native/giveawayPrize.js.map | 2 +- dist/native/giveawayRequiredRoles.d.ts.map | 2 +- dist/native/giveawayRequiredRoles.js | 1 + dist/native/giveawayRequiredRoles.js.map | 2 +- .../native/giveawayRestrictedMembers.d.ts.map | 2 +- dist/native/giveawayRestrictedMembers.js | 1 + dist/native/giveawayRestrictedMembers.js.map | 2 +- dist/native/giveawayRestrictedRoles.d.ts.map | 2 +- dist/native/giveawayRestrictedRoles.js | 1 + dist/native/giveawayRestrictedRoles.js.map | 2 +- dist/native/giveawayWinners.d.ts.map | 2 +- dist/native/giveawayWinners.js | 1 + dist/native/giveawayWinners.js.map | 2 +- dist/native/giveawayWinnersCount.d.ts.map | 2 +- dist/native/giveawayWinnersCount.js | 1 + dist/native/giveawayWinnersCount.js.map | 2 +- dist/native/manage/endGiveaway.d.ts | 10 +++ dist/native/manage/endGiveaway.d.ts.map | 1 + dist/native/manage/endGiveaway.js | 26 +++++++ dist/native/manage/endGiveaway.js.map | 1 + dist/native/manage/rerollGiveaway.d.ts | 10 +++ dist/native/manage/rerollGiveaway.d.ts.map | 1 + dist/native/manage/rerollGiveaway.js | 26 +++++++ dist/native/manage/rerollGiveaway.js.map | 1 + dist/native/state/oldGiveaway.d.ts.map | 2 +- dist/native/state/oldGiveaway.js | 1 + dist/native/state/oldGiveaway.js.map | 2 +- docs/assets/search.js | 2 +- docs/classes/ForgeGiveaways.html | 6 +- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysManager.html | 14 ++-- docs/interfaces/IForgeGiveawaysOptions.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- metadata/functions.json | 2 +- src/managers/GiveawaysManager.ts | 76 ++++++++++++------- src/native/manage/endGiveaway.ts | 25 ++++++ src/native/manage/rerollGiveaway.ts | 25 ++++++ 63 files changed, 286 insertions(+), 98 deletions(-) create mode 100644 dist/native/manage/endGiveaway.d.ts create mode 100644 dist/native/manage/endGiveaway.d.ts.map create mode 100644 dist/native/manage/endGiveaway.js create mode 100644 dist/native/manage/endGiveaway.js.map create mode 100644 dist/native/manage/rerollGiveaway.d.ts create mode 100644 dist/native/manage/rerollGiveaway.d.ts.map create mode 100644 dist/native/manage/rerollGiveaway.js create mode 100644 dist/native/manage/rerollGiveaway.js.map create mode 100644 src/native/manage/endGiveaway.ts create mode 100644 src/native/manage/rerollGiveaway.ts diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index 6490a87..77bf11c 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -1,5 +1,5 @@ import { Context } from "@tryforge/forgescript"; -import { Snowflake } from "discord.js"; +import { Collection, Snowflake } from "discord.js"; import { ForgeGiveaways, IGiveawayEvents } from ".."; import { TypedEmitter } from "tiny-typed-emitter"; import { TransformEvents } from "@tryforge/forge.db"; @@ -25,8 +25,14 @@ export declare class GiveawaysManager { /** * Gets an existing giveaway. * @param id The id of the giveaway to get. + * @returns */ get(id: Snowflake): Giveaway | undefined; + /** + * Gets all existing giveaways. + * @returns + */ + getAll(): Collection; /** * Starts a new giveaway on a guild. * @param ctx The current context. diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 37ddb41..6e3a835 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAc,SAAS,EAAe,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;OAGG;IACI,GAAG,CAAC,EAAE,EAAE,SAAS;IAIxB;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA+B/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqC5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAgD,UAAU,EAAgB,SAAS,EAAqB,MAAM,YAAY,CAAA;AACjI,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;OAIG;IACI,GAAG,CAAC,EAAE,EAAE,SAAS;IAIxB;;;OAGG;IACI,MAAM;IAIb;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA8C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqC5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 1777334..5571aea 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -15,10 +15,18 @@ class GiveawaysManager { /** * Gets an existing giveaway. * @param id The id of the giveaway to get. + * @returns */ get(id) { return this.giveaways.get(id); } + /** + * Gets all existing giveaways. + * @returns + */ + getAll() { + return this.giveaways; + } /** * Starts a new giveaway on a guild. * @param ctx The current context. @@ -27,25 +35,34 @@ class GiveawaysManager { */ async start(ctx, options) { const giveaway = new structures_1.Giveaway(options); - const result = await forgescript_1.Interpreter.run({ - ...ctx.runtime, - environment: { giveaway }, - data: forgescript_1.Compiler.compile(this.client.options?.messages?.start || ` - $sendMessage[$env[giveaway;channelID]; - $title[🎉 GIVEAWAY 🎉] - $description[**Prize:** $env[giveaway;prize]\n**Winners:** $env[giveaway;winnersCount]] - $addField[Ends;;true] - $addField[Hosted by;<@$env[giveaway;hostID]>;true] - $color[Green] - $addActionRow - $addButton[giveaway;Enter;Primary] - ;true] - `), - doNotSend: true, - }); - const res = result?.trim(); const chan = ctx.client.channels.cache.get(giveaway.channelID); - giveaway.messageID = (res && chan?.messages.cache.get(res) ? res : undefined); + if (this.client.options?.messages?.start) { + const result = await forgescript_1.Interpreter.run({ + ...ctx.runtime, + environment: { giveaway }, + data: forgescript_1.Compiler.compile(this.client.options?.messages?.start), + doNotSend: true, + }); + const res = result?.trim(); + giveaway.messageID = (res && chan?.messages.cache.get(res) ? res : undefined); + } + else { + const embed = new discord_js_1.EmbedBuilder() + .setTitle("🎉 GIVEAWAY 🎉") + .setDescription(`**Prize:** ${giveaway.prize}\n**Winners:** ${giveaway.winnersCount}`) + .setFields({ name: "Ends", value: `${(0, discord_js_1.time)(Date.now() + giveaway.duration, "R")}` }, { name: "Hosted by", value: `<@${giveaway.hostID}>` }) + .setColor("Green"); + const comps = new discord_js_1.ActionRowBuilder() + .addComponents(new discord_js_1.ButtonBuilder() + .setCustomId(`giveaway-${giveaway.id}`) + .setLabel("Entry") + .setStyle(discord_js_1.ButtonStyle.Primary)); + const msg = await chan?.send({ + embeds: [embed], + components: [comps.toJSON()] + }); + giveaway.messageID = msg?.id; + } this.emitter.emit("giveawayStart", giveaway); this.giveaways.set(giveaway.id, giveaway); setTimeout(() => this.end(ctx, giveaway.id), giveaway.duration); @@ -58,8 +75,8 @@ class GiveawaysManager { * @returns */ async end(ctx, id) { - const giveaway = this.giveaways.get(id); - if (!giveaway) + const giveaway = this.get(id); + if (!giveaway || giveaway.hasEnded()) return null; const eligibleEntries = giveaway.entries.filter(entry => { const member = ctx.guild?.members.cache.get(entry); @@ -95,8 +112,8 @@ class GiveawaysManager { * @returns */ async reroll(ctx, id) { - const giveaway = this.giveaways.get(id); - if (!giveaway) + const giveaway = this.get(id); + if (!giveaway || !giveaway.hasEnded()) return null; const oldGiveaway = giveaway; const eligibleEntries = giveaway.entries.filter((e) => !giveaway.winners.includes(e)); diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 9f180c7..c032d51 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":";;;AAAA,uDAAsE;AACtE,2CAA+D;AAI/D,8CAAwC;AAgBxC,MAAa,gBAAgB;IAIJ;IACT;IAJK,SAAS,GAAG,IAAI,uBAAU,EAAuB,CAAA;IAElE,YACqB,MAAsB,EAC/B,OAAuD;QAD9C,WAAM,GAAN,MAAM,CAAgB;QAC/B,YAAO,GAAP,OAAO,CAAgD;IAChE,CAAC;IAEJ;;;OAGG;IACI,GAAG,CAAC,EAAa;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,KAAK,CAAC,GAAY,EAAE,OAA8B;QAC3D,MAAM,QAAQ,GAAG,IAAI,qBAAQ,CAAC,OAAO,CAAC,CAAA;QAEtC,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC;YACjC,GAAG,GAAG,CAAC,OAAO;YACd,WAAW,EAAE,EAAE,QAAQ,EAAE;YACzB,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,IAAI;;;;;;;;;;aAU9D,CAAC;YACF,SAAS,EAAE,IAAI;SAClB,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;QAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAC9D,QAAQ,CAAC,SAAS,GAAG,CAAC,GAAG,IAAK,IAAoB,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAE9F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACzC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAE/D,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,EAAa;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAE1B,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACpD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAClD,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAA;YAEzB,MAAM,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAA;YACjC,MAAM,gBAAgB,GAAG,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;YACrG,MAAM,iBAAiB,GAAG,YAAY,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;YACzG,MAAM,mBAAmB,GAAG,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAEjF,OAAO,gBAAgB,IAAI,iBAAiB,IAAI,mBAAmB,CAAA;QACvE,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QACxE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;QAE1B,MAAM,yBAAW,CAAC,GAAG,CAAC;YAClB,GAAG,GAAG,CAAC,OAAO;YACd,WAAW,EAAE,EAAE,QAAQ,EAAE;YACzB,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI;;;;;;aAM5D,CAAC;YACF,SAAS,EAAE,IAAI;SAClB,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAE1C,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,GAAY,EAAE,EAAa;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC1B,MAAM,WAAW,GAAG,QAAQ,CAAA;QAE5B,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACrF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC3E,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAA;QAE7B,MAAM,yBAAW,CAAC,GAAG,CAAC;YAClB,GAAG,GAAG,CAAC,OAAO;YACd,WAAW,EAAE,EAAE,QAAQ,EAAE;YACzB,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;YAC7D,SAAS,EAAE,IAAI;SAClB,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;QAE1D,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEO,WAAW,CAAC,OAAoB,EAAE,MAAc;QACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;QACxD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;CACJ;AA/HD,4CA+HC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/native/giveawayChannelID.d.ts.map b/dist/native/giveawayChannelID.d.ts.map index 7282a79..c9438db 100644 --- a/dist/native/giveawayChannelID.d.ts.map +++ b/dist/native/giveawayChannelID.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayChannelID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayChannelID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayChannelID.js b/dist/native/giveawayChannelID.js index ca54332..2a45f6d 100644 --- a/dist/native/giveawayChannelID.js +++ b/dist/native/giveawayChannelID.js @@ -7,6 +7,7 @@ const forgescript_1 = require("@tryforge/forgescript"); const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayChannelID", + version: "1.0.0", description: "Returns the channel id of a giveaway", unwrap: true, brackets: false, diff --git a/dist/native/giveawayChannelID.js.map b/dist/native/giveawayChannelID.js.map index c59acc9..9256325 100644 --- a/dist/native/giveawayChannelID.js.map +++ b/dist/native/giveawayChannelID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayChannelID.js","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayChannelID.js","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayDuration.d.ts.map b/dist/native/giveawayDuration.d.ts.map index ac4f263..c7f522f 100644 --- a/dist/native/giveawayDuration.d.ts.map +++ b/dist/native/giveawayDuration.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayDuration.d.ts","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayDuration.d.ts","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayDuration.js b/dist/native/giveawayDuration.js index 727998f..687d710 100644 --- a/dist/native/giveawayDuration.js +++ b/dist/native/giveawayDuration.js @@ -7,6 +7,7 @@ const forgescript_1 = require("@tryforge/forgescript"); const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayDuration", + version: "1.0.0", description: "Returns the duration of a giveaway in ms", unwrap: true, brackets: false, diff --git a/dist/native/giveawayDuration.js.map b/dist/native/giveawayDuration.js.map index 970c079..db2e28c 100644 --- a/dist/native/giveawayDuration.js.map +++ b/dist/native/giveawayDuration.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayDuration.js","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,0CAA0C;IACvD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayDuration.js","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,0CAA0C;IACvD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayEntries.d.ts.map b/dist/native/giveawayEntries.d.ts.map index 96da2c3..f493ff7 100644 --- a/dist/native/giveawayEntries.d.ts.map +++ b/dist/native/giveawayEntries.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntries.d.ts","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBAyBE"} \ No newline at end of file +{"version":3,"file":"giveawayEntries.d.ts","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBA0BE"} \ No newline at end of file diff --git a/dist/native/giveawayEntries.js b/dist/native/giveawayEntries.js index 5875686..289b9ed 100644 --- a/dist/native/giveawayEntries.js +++ b/dist/native/giveawayEntries.js @@ -8,6 +8,7 @@ const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); const array_1 = __importDefault(require("../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayEntries", + version: "1.0.0", description: "Returns the entries of a giveaway", unwrap: true, brackets: false, diff --git a/dist/native/giveawayEntries.js.map b/dist/native/giveawayEntries.js.map index d690688..506bd90 100644 --- a/dist/native/giveawayEntries.js.map +++ b/dist/native/giveawayEntries.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntries.js","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntries.js","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayGuildID.d.ts.map b/dist/native/giveawayGuildID.d.ts.map index 62695c5..5fa3424 100644 --- a/dist/native/giveawayGuildID.d.ts.map +++ b/dist/native/giveawayGuildID.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayGuildID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayGuildID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayGuildID.js b/dist/native/giveawayGuildID.js index 0f23a96..f35dbb9 100644 --- a/dist/native/giveawayGuildID.js +++ b/dist/native/giveawayGuildID.js @@ -7,6 +7,7 @@ const forgescript_1 = require("@tryforge/forgescript"); const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayGuildID", + version: "1.0.0", description: "Returns the guild id of a giveaway", unwrap: true, brackets: false, diff --git a/dist/native/giveawayGuildID.js.map b/dist/native/giveawayGuildID.js.map index d306421..e7a29b7 100644 --- a/dist/native/giveawayGuildID.js.map +++ b/dist/native/giveawayGuildID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayGuildID.js","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,KAAK;IACrB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayGuildID.js","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,KAAK;IACrB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayHostID.d.ts.map b/dist/native/giveawayHostID.d.ts.map index f42023d..0e0d875 100644 --- a/dist/native/giveawayHostID.d.ts.map +++ b/dist/native/giveawayHostID.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayHostID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayHostID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayHostID.js b/dist/native/giveawayHostID.js index 6e58dc9..f7f71d2 100644 --- a/dist/native/giveawayHostID.js +++ b/dist/native/giveawayHostID.js @@ -7,6 +7,7 @@ const forgescript_1 = require("@tryforge/forgescript"); const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayHostID", + version: "1.0.0", description: "Returns the host id of a giveaway", unwrap: true, brackets: false, diff --git a/dist/native/giveawayHostID.js.map b/dist/native/giveawayHostID.js.map index c696cda..2784434 100644 --- a/dist/native/giveawayHostID.js.map +++ b/dist/native/giveawayHostID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayHostID.js","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayHostID.js","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayMessageID.d.ts.map b/dist/native/giveawayMessageID.d.ts.map index f937735..45373fa 100644 --- a/dist/native/giveawayMessageID.d.ts.map +++ b/dist/native/giveawayMessageID.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayMessageID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayMessageID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayMessageID.js b/dist/native/giveawayMessageID.js index 4cb9489..f841d73 100644 --- a/dist/native/giveawayMessageID.js +++ b/dist/native/giveawayMessageID.js @@ -7,6 +7,7 @@ const forgescript_1 = require("@tryforge/forgescript"); const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayMessageID", + version: "1.0.0", description: "Returns the message id of a giveaway", unwrap: true, brackets: false, diff --git a/dist/native/giveawayMessageID.js.map b/dist/native/giveawayMessageID.js.map index 3218c06..078f08c 100644 --- a/dist/native/giveawayMessageID.js.map +++ b/dist/native/giveawayMessageID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayMessageID.js","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayMessageID.js","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayPrize.d.ts.map b/dist/native/giveawayPrize.d.ts.map index e6aaf81..82ab164 100644 --- a/dist/native/giveawayPrize.d.ts.map +++ b/dist/native/giveawayPrize.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayPrize.d.ts","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayPrize.d.ts","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayPrize.js b/dist/native/giveawayPrize.js index 6376bf4..2030108 100644 --- a/dist/native/giveawayPrize.js +++ b/dist/native/giveawayPrize.js @@ -7,6 +7,7 @@ const forgescript_1 = require("@tryforge/forgescript"); const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayPrize", + version: "1.0.0", description: "Returns the prize of a giveaway", unwrap: true, brackets: false, diff --git a/dist/native/giveawayPrize.js.map b/dist/native/giveawayPrize.js.map index fffe20a..15891fa 100644 --- a/dist/native/giveawayPrize.js.map +++ b/dist/native/giveawayPrize.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayPrize.js","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,iCAAiC;IAC9C,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayPrize.js","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,iCAAiC;IAC9C,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRequiredRoles.d.ts.map b/dist/native/giveawayRequiredRoles.d.ts.map index 8efeb89..81c5e1f 100644 --- a/dist/native/giveawayRequiredRoles.d.ts.map +++ b/dist/native/giveawayRequiredRoles.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRequiredRoles.d.ts","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBAyBE"} \ No newline at end of file +{"version":3,"file":"giveawayRequiredRoles.d.ts","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBA0BE"} \ No newline at end of file diff --git a/dist/native/giveawayRequiredRoles.js b/dist/native/giveawayRequiredRoles.js index 91dc488..7ea6d2c 100644 --- a/dist/native/giveawayRequiredRoles.js +++ b/dist/native/giveawayRequiredRoles.js @@ -8,6 +8,7 @@ const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); const array_1 = __importDefault(require("../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayRequiredRoles", + version: "1.0.0", description: "Returns the required roles for a giveaway", unwrap: true, brackets: false, diff --git a/dist/native/giveawayRequiredRoles.js.map b/dist/native/giveawayRequiredRoles.js.map index 531581e..d1e7fce 100644 --- a/dist/native/giveawayRequiredRoles.js.map +++ b/dist/native/giveawayRequiredRoles.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRequiredRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACjF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRequiredRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACjF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedMembers.d.ts.map b/dist/native/giveawayRestrictedMembers.d.ts.map index 5da37e3..fe50052 100644 --- a/dist/native/giveawayRestrictedMembers.d.ts.map +++ b/dist/native/giveawayRestrictedMembers.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRestrictedMembers.d.ts","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBAyBE"} \ No newline at end of file +{"version":3,"file":"giveawayRestrictedMembers.d.ts","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBA0BE"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedMembers.js b/dist/native/giveawayRestrictedMembers.js index 5d5427e..8f31dab 100644 --- a/dist/native/giveawayRestrictedMembers.js +++ b/dist/native/giveawayRestrictedMembers.js @@ -8,6 +8,7 @@ const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); const array_1 = __importDefault(require("../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayRestrictedMembers", + version: "1.0.0", description: "Returns the restricted members for a giveaway", unwrap: true, brackets: false, diff --git a/dist/native/giveawayRestrictedMembers.js.map b/dist/native/giveawayRestrictedMembers.js.map index c5c2cec..9ef7543 100644 --- a/dist/native/giveawayRestrictedMembers.js.map +++ b/dist/native/giveawayRestrictedMembers.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRestrictedMembers.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAkB;IAC/B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRestrictedMembers.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAkB;IAC/B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedRoles.d.ts.map b/dist/native/giveawayRestrictedRoles.d.ts.map index 8154171..636aa4a 100644 --- a/dist/native/giveawayRestrictedRoles.d.ts.map +++ b/dist/native/giveawayRestrictedRoles.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRestrictedRoles.d.ts","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBAyBE"} \ No newline at end of file +{"version":3,"file":"giveawayRestrictedRoles.d.ts","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBA0BE"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedRoles.js b/dist/native/giveawayRestrictedRoles.js index 0d7667b..969a2de 100644 --- a/dist/native/giveawayRestrictedRoles.js +++ b/dist/native/giveawayRestrictedRoles.js @@ -8,6 +8,7 @@ const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); const array_1 = __importDefault(require("../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayRestrictedRoles", + version: "1.0.0", description: "Returns the restricted roles for a giveaway", unwrap: true, brackets: false, diff --git a/dist/native/giveawayRestrictedRoles.js.map b/dist/native/giveawayRestrictedRoles.js.map index 55b17f5..4be9e7f 100644 --- a/dist/native/giveawayRestrictedRoles.js.map +++ b/dist/native/giveawayRestrictedRoles.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRestrictedRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACnF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRestrictedRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACnF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinners.d.ts.map b/dist/native/giveawayWinners.d.ts.map index 62e66d8..b33c682 100644 --- a/dist/native/giveawayWinners.d.ts.map +++ b/dist/native/giveawayWinners.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayWinners.d.ts","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBAyBE"} \ No newline at end of file +{"version":3,"file":"giveawayWinners.d.ts","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBA0BE"} \ No newline at end of file diff --git a/dist/native/giveawayWinners.js b/dist/native/giveawayWinners.js index 3f9b8b3..e80b114 100644 --- a/dist/native/giveawayWinners.js +++ b/dist/native/giveawayWinners.js @@ -8,6 +8,7 @@ const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); const array_1 = __importDefault(require("../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayWinners", + version: "1.0.0", description: "Returns the winners of a giveaway", unwrap: true, brackets: false, diff --git a/dist/native/giveawayWinners.js.map b/dist/native/giveawayWinners.js.map index 15b4690..3d31fd6 100644 --- a/dist/native/giveawayWinners.js.map +++ b/dist/native/giveawayWinners.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayWinners.js","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayWinners.js","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinnersCount.d.ts.map b/dist/native/giveawayWinnersCount.d.ts.map index 153b9a5..77b1c7a 100644 --- a/dist/native/giveawayWinnersCount.d.ts.map +++ b/dist/native/giveawayWinnersCount.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayWinnersCount.d.ts","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayWinnersCount.d.ts","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayWinnersCount.js b/dist/native/giveawayWinnersCount.js index 381f664..7ef53c6 100644 --- a/dist/native/giveawayWinnersCount.js +++ b/dist/native/giveawayWinnersCount.js @@ -7,6 +7,7 @@ const forgescript_1 = require("@tryforge/forgescript"); const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayWinnersCount", + version: "1.0.0", description: "Returns the winners count of a giveaway", unwrap: true, brackets: false, diff --git a/dist/native/giveawayWinnersCount.js.map b/dist/native/giveawayWinnersCount.js.map index 41cf9fb..097054f 100644 --- a/dist/native/giveawayWinnersCount.js.map +++ b/dist/native/giveawayWinnersCount.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayWinnersCount.js","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayWinnersCount.js","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/endGiveaway.d.ts b/dist/native/manage/endGiveaway.d.ts new file mode 100644 index 0000000..cc2f424 --- /dev/null +++ b/dist/native/manage/endGiveaway.d.ts @@ -0,0 +1,10 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=endGiveaway.d.ts.map \ No newline at end of file diff --git a/dist/native/manage/endGiveaway.d.ts.map b/dist/native/manage/endGiveaway.d.ts.map new file mode 100644 index 0000000..f7c934c --- /dev/null +++ b/dist/native/manage/endGiveaway.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"endGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/manage/endGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/manage/endGiveaway.js b/dist/native/manage/endGiveaway.js new file mode 100644 index 0000000..b9760ce --- /dev/null +++ b/dist/native/manage/endGiveaway.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const __1 = require("../.."); +exports.default = new forgescript_1.NativeFunction({ + name: "$endGiveaway", + description: "Ends an existing giveaway on a guild, returns bool", + unwrap: true, + brackets: true, + args: [ + { + name: "giveaway ID", + description: "The giveaway to end", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + ], + output: forgescript_1.ArgType.Boolean, + async execute(ctx, [id]) { + const client = ctx.client.getExtension(__1.ForgeGiveaways, true); + const giveaway = await client.giveawaysManager.end(ctx, id); + return this.success(!!giveaway); + } +}); +//# sourceMappingURL=endGiveaway.js.map \ No newline at end of file diff --git a/dist/native/manage/endGiveaway.js.map b/dist/native/manage/endGiveaway.js.map new file mode 100644 index 0000000..ce05b13 --- /dev/null +++ b/dist/native/manage/endGiveaway.js.map @@ -0,0 +1 @@ +{"version":3,"file":"endGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/endGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,oDAAoD;IACjE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qBAAqB;YAClC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/rerollGiveaway.d.ts b/dist/native/manage/rerollGiveaway.d.ts new file mode 100644 index 0000000..160bb3e --- /dev/null +++ b/dist/native/manage/rerollGiveaway.d.ts @@ -0,0 +1,10 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=rerollGiveaway.d.ts.map \ No newline at end of file diff --git a/dist/native/manage/rerollGiveaway.d.ts.map b/dist/native/manage/rerollGiveaway.d.ts.map new file mode 100644 index 0000000..d6b1064 --- /dev/null +++ b/dist/native/manage/rerollGiveaway.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"rerollGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/manage/rerollGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/manage/rerollGiveaway.js b/dist/native/manage/rerollGiveaway.js new file mode 100644 index 0000000..79cbe02 --- /dev/null +++ b/dist/native/manage/rerollGiveaway.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const __1 = require("../.."); +exports.default = new forgescript_1.NativeFunction({ + name: "$rerollGiveaway", + description: "Rerolls an existing giveaway on a guild, returns bool", + unwrap: true, + brackets: true, + args: [ + { + name: "giveaway ID", + description: "The giveaway to reroll", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + ], + output: forgescript_1.ArgType.Boolean, + async execute(ctx, [id]) { + const client = ctx.client.getExtension(__1.ForgeGiveaways, true); + const giveaway = await client.giveawaysManager.reroll(ctx, id); + return this.success(!!giveaway); + } +}); +//# sourceMappingURL=rerollGiveaway.js.map \ No newline at end of file diff --git a/dist/native/manage/rerollGiveaway.js.map b/dist/native/manage/rerollGiveaway.js.map new file mode 100644 index 0000000..477014d --- /dev/null +++ b/dist/native/manage/rerollGiveaway.js.map @@ -0,0 +1 @@ +{"version":3,"file":"rerollGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/rerollGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/state/oldGiveaway.d.ts.map b/dist/native/state/oldGiveaway.d.ts.map index 8871193..8953122 100644 --- a/dist/native/state/oldGiveaway.d.ts.map +++ b/dist/native/state/oldGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"oldGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/state/oldGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAEhF,wBA2BE"} \ No newline at end of file +{"version":3,"file":"oldGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/state/oldGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAEhF,wBA4BE"} \ No newline at end of file diff --git a/dist/native/state/oldGiveaway.js b/dist/native/state/oldGiveaway.js index 271a922..bf593ed 100644 --- a/dist/native/state/oldGiveaway.js +++ b/dist/native/state/oldGiveaway.js @@ -4,6 +4,7 @@ const forgescript_1 = require("@tryforge/forgescript"); const giveaway_1 = require("../../properties/giveaway"); exports.default = new forgescript_1.NativeFunction({ name: "$oldGiveaway", + version: "1.0.0", description: "Retrieves old data from an event whose context was a giveaway instance", unwrap: true, brackets: false, diff --git a/dist/native/state/oldGiveaway.js.map b/dist/native/state/oldGiveaway.js.map index 47bd801..c1f62b8 100644 --- a/dist/native/state/oldGiveaway.js.map +++ b/dist/native/state/oldGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"oldGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/oldGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAEhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,GAAG,CAAA;QAClD,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;QACnF,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"oldGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/oldGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAEhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,GAAG,CAAA;QAClD,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;QACnF,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 8bcda34..828ed2f 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 9d7a975..9f70c74 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 58aefc9..7815b5a 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 044c5b4..a45d2e6 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 2ddd9b6..af9ed40 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,17 +1,19 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Ends an existing giveaway.

    +

Constructors

Methods

  • Ends an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    Parameters

    • id: string

      The id of the giveaway to get.

      -

    Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    +

Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

  • Starts a new giveaway on a guild.

    +

Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 2263f98..a60c2d6 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 200201b..b591417 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,5 +1,5 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
+

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 501cb9c..c38561a 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
diff --git a/metadata/functions.json b/metadata/functions.json index 83d50a7..b145992 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$giveawayChannelID","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"],"version":"1.0.0"},{"name":"$giveawayDuration","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"],"version":"1.0.0"},{"name":"$giveawayEntries","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"],"version":"1.0.0"},{"name":"$giveawayGuildID","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"],"version":"1.0.0"},{"name":"$giveawayHostID","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"],"version":"1.0.0"},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"],"version":"1.0.0"},{"name":"$giveawayPrize","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"],"version":"1.0.0"},{"name":"$giveawayRequiredRoles","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"],"version":"1.0.0"},{"name":"$giveawayRestrictedMembers","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"],"version":"1.0.0"},{"name":"$giveawayRestrictedRoles","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"],"version":"1.0.0"},{"name":"$giveawayWinners","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"],"version":"1.0.0"},{"name":"$giveawayWinnersCount","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"],"version":"1.0.0"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state","version":"1.0.0"}] \ No newline at end of file +[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$endGiveaway","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage","version":"1.0.0"},{"name":"$rerollGiveaway","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage","version":"1.0.0"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index bcc043a..fc7c815 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -1,5 +1,5 @@ import { Compiler, Context, Interpreter } from "@tryforge/forgescript" -import { Collection, Snowflake, TextChannel } from "discord.js" +import { ActionRowBuilder, ButtonBuilder, ButtonStyle, Collection, EmbedBuilder, Snowflake, TextChannel, time } from "discord.js" import { ForgeGiveaways, IGiveawayEvents } from ".." import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" @@ -30,11 +30,20 @@ export class GiveawaysManager { /** * Gets an existing giveaway. * @param id The id of the giveaway to get. + * @returns */ public get(id: Snowflake) { return this.giveaways.get(id) } + /** + * Gets all existing giveaways. + * @returns + */ + public getAll() { + return this.giveaways + } + /** * Starts a new giveaway on a guild. * @param ctx The current context. @@ -43,27 +52,42 @@ export class GiveawaysManager { */ public async start(ctx: Context, options: IGiveawayStartOptions) { const giveaway = new Giveaway(options) - - const result = await Interpreter.run({ - ...ctx.runtime, - environment: { giveaway }, - data: Compiler.compile(this.client.options?.messages?.start || ` - $sendMessage[$env[giveaway;channelID]; - $title[🎉 GIVEAWAY 🎉] - $description[**Prize:** $env[giveaway;prize]\n**Winners:** $env[giveaway;winnersCount]] - $addField[Ends;;true] - $addField[Hosted by;<@$env[giveaway;hostID]>;true] - $color[Green] - $addActionRow - $addButton[giveaway;Enter;Primary] - ;true] - `), - doNotSend: true, - }) - - const res = result?.trim() - const chan = ctx.client.channels.cache.get(giveaway.channelID) - giveaway.messageID = (res && (chan as TextChannel)?.messages.cache.get(res) ? res : undefined) + const chan = ctx.client.channels.cache.get(giveaway.channelID) as TextChannel | undefined + + if (this.client.options?.messages?.start) { + const result = await Interpreter.run({ + ...ctx.runtime, + environment: { giveaway }, + data: Compiler.compile(this.client.options?.messages?.start), + doNotSend: true, + }) + + const res = result?.trim() + giveaway.messageID = (res && chan?.messages.cache.get(res) ? res : undefined) + } else { + const embed = new EmbedBuilder() + .setTitle("🎉 GIVEAWAY 🎉") + .setDescription(`**Prize:** ${giveaway.prize}\n**Winners:** ${giveaway.winnersCount}`) + .setFields( + { name: "Ends", value: `${time(Date.now() + giveaway.duration, "R")}` }, + { name: "Hosted by", value: `<@${giveaway.hostID}>` }, + ) + .setColor("Green") + + const comps = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId(`giveaway-${giveaway.id}`) + .setLabel("Entry") + .setStyle(ButtonStyle.Primary) + ) + + const msg = await chan?.send({ + embeds: [embed], + components: [comps.toJSON()] + }) + giveaway.messageID = msg?.id + } this.emitter.emit("giveawayStart", giveaway) this.giveaways.set(giveaway.id, giveaway) @@ -79,8 +103,8 @@ export class GiveawaysManager { * @returns */ public async end(ctx: Context, id: Snowflake) { - const giveaway = this.giveaways.get(id) - if (!giveaway) return null + const giveaway = this.get(id) + if (!giveaway || giveaway.hasEnded()) return null const eligibleEntries = giveaway.entries.filter(entry => { const member = ctx.guild?.members.cache.get(entry) @@ -122,8 +146,8 @@ export class GiveawaysManager { * @returns */ public async reroll(ctx: Context, id: Snowflake) { - const giveaway = this.giveaways.get(id) - if (!giveaway) return null + const giveaway = this.get(id) + if (!giveaway || !giveaway.hasEnded()) return null const oldGiveaway = giveaway const eligibleEntries = giveaway.entries.filter((e) => !giveaway.winners.includes(e)) diff --git a/src/native/manage/endGiveaway.ts b/src/native/manage/endGiveaway.ts new file mode 100644 index 0000000..d8eaaa5 --- /dev/null +++ b/src/native/manage/endGiveaway.ts @@ -0,0 +1,25 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import { ForgeGiveaways } from "../.." + +export default new NativeFunction({ + name: "$endGiveaway", + version: "1.0.0", + description: "Ends an existing giveaway on a guild, returns bool", + unwrap: true, + brackets: true, + args: [ + { + name: "giveaway ID", + description: "The giveaway to end", + rest: false, + required: true, + type: ArgType.String, + }, + ], + output: ArgType.Boolean, + async execute(ctx, [id]) { + const client = ctx.client.getExtension(ForgeGiveaways, true) + const giveaway = await client.giveawaysManager.end(ctx, id) + return this.success(!!giveaway) + } +}) \ No newline at end of file diff --git a/src/native/manage/rerollGiveaway.ts b/src/native/manage/rerollGiveaway.ts new file mode 100644 index 0000000..78cb99a --- /dev/null +++ b/src/native/manage/rerollGiveaway.ts @@ -0,0 +1,25 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import { ForgeGiveaways } from "../.." + +export default new NativeFunction({ + name: "$rerollGiveaway", + version: "1.0.0", + description: "Rerolls an existing giveaway on a guild, returns bool", + unwrap: true, + brackets: true, + args: [ + { + name: "giveaway ID", + description: "The giveaway to reroll", + rest: false, + required: true, + type: ArgType.String, + }, + ], + output: ArgType.Boolean, + async execute(ctx, [id]) { + const client = ctx.client.getExtension(ForgeGiveaways, true) + const giveaway = await client.giveawaysManager.reroll(ctx, id) + return this.success(!!giveaway) + } +}) \ No newline at end of file From 87f4a50c4f60d58164b832c21c76da95fbb8b850 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Fri, 17 Oct 2025 14:25:01 +0200 Subject: [PATCH 19/87] Handle entries --- dist/index.d.ts.map | 2 +- dist/index.js | 2 + dist/index.js.map | 2 +- dist/managers/GiveawaysEventManager.d.ts | 2 + dist/managers/GiveawaysEventManager.d.ts.map | 2 +- dist/managers/GiveawaysEventManager.js.map | 2 +- .../managers/GiveawaysInteractionManager.d.ts | 7 ++ .../GiveawaysInteractionManager.d.ts.map | 1 + dist/managers/GiveawaysInteractionManager.js | 38 +++++++++ .../GiveawaysInteractionManager.js.map | 1 + dist/managers/GiveawaysManager.d.ts | 2 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 23 ++---- dist/managers/GiveawaysManager.js.map | 2 +- dist/native/manage/endGiveaway.d.ts.map | 2 +- dist/native/manage/endGiveaway.js | 1 + dist/native/manage/endGiveaway.js.map | 2 +- dist/native/manage/rerollGiveaway.d.ts.map | 2 +- dist/native/manage/rerollGiveaway.js | 1 + dist/native/manage/rerollGiveaway.js.map | 2 +- dist/structures/Giveaway.d.ts | 59 +++++++++++-- dist/structures/Giveaway.d.ts.map | 2 +- dist/structures/Giveaway.js | 72 ++++++++++++++-- dist/structures/Giveaway.js.map | 2 +- docs/assets/search.js | 2 +- docs/classes/ForgeGiveaways.html | 6 +- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysManager.html | 14 ++-- docs/interfaces/IForgeGiveawaysOptions.html | 4 +- docs/interfaces/IGiveawayEvents.html | 6 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- metadata/functions.json | 2 +- src/index.ts | 5 +- src/managers/GiveawaysEventManager.ts | 2 + src/managers/GiveawaysInteractionManager.ts | 31 +++++++ src/managers/GiveawaysManager.ts | 27 +++--- src/structures/Giveaway.ts | 82 +++++++++++++++++-- 38 files changed, 343 insertions(+), 83 deletions(-) create mode 100644 dist/managers/GiveawaysInteractionManager.d.ts create mode 100644 dist/managers/GiveawaysInteractionManager.d.ts.map create mode 100644 dist/managers/GiveawaysInteractionManager.js create mode 100644 dist/managers/GiveawaysInteractionManager.js.map create mode 100644 src/managers/GiveawaysInteractionManager.ts diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 3f92c43..e674d74 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAUV,OAAO,CAAC,EAAE,sBAAsB;IATpE,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAErC,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAK7D,IAAI,CAAE,MAAM,EAAE,WAAW;CAUnC;AAED,cAAc,YAAY,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAE5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAUV,OAAO,CAAC,EAAE,sBAAsB;IATpE,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAErC,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAK7D,IAAI,CAAC,MAAM,EAAE,WAAW;CAYlC;AAED,cAAc,YAAY,CAAA"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index ea31328..1d03c49 100644 --- a/dist/index.js +++ b/dist/index.js @@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.ForgeGiveaways = void 0; const forgescript_1 = require("@tryforge/forgescript"); const GiveawaysCommandManager_1 = require("./managers/GiveawaysCommandManager"); +const GiveawaysInteractionManager_1 = require("./managers/GiveawaysInteractionManager"); const GiveawaysManager_1 = require("./managers/GiveawaysManager"); const tiny_typed_emitter_1 = require("tiny-typed-emitter"); class ForgeGiveaways extends forgescript_1.ForgeExtension { @@ -36,6 +37,7 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { this.commands = new GiveawaysCommandManager_1.GiveawaysCommandManager(client); forgescript_1.EventManager.load("ForgeGiveawaysEvents", __dirname + "/events"); this.load(__dirname + "/native"); + new GiveawaysInteractionManager_1.GiveawaysInteractionManager(client); if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); } diff --git a/dist/index.js.map b/dist/index.js.map index 0c69ffc..46ff0ae 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AAEjF,gFAA4E;AAC5E,kEAA8D;AAC9D,2DAAiD;AAYjD,MAAa,cAAe,SAAQ,4BAAc;IAUV;IATpC,IAAI,GAAG,gBAAgB,CAAA;IACvB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAErC,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,mCAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,IAAI,CAAE,MAAmB;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,iDAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AAzBD,wCAyBC;AAED,6CAA0B"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AAEjF,gFAA4E;AAC5E,wFAAoF;AACpF,kEAA8D;AAC9D,2DAAiD;AAYjD,MAAa,cAAe,SAAQ,4BAAc;IAUV;IATpC,IAAI,GAAG,gBAAgB,CAAA;IACvB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAErC,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,mCAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,IAAI,CAAC,MAAmB;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,iDAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,yDAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AA3BD,wCA2BC;AAED,6CAA0B"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.d.ts b/dist/managers/GiveawaysEventManager.d.ts index d3410ec..3966eb4 100644 --- a/dist/managers/GiveawaysEventManager.d.ts +++ b/dist/managers/GiveawaysEventManager.d.ts @@ -5,6 +5,8 @@ export interface IGiveawayEvents { giveawayEnd: [Giveaway]; giveawayEdit: [Giveaway, Giveaway]; giveawayReroll: [Giveaway, Giveaway]; + giveawayEntryAdd: [Giveaway, Giveaway]; + giveawayEntryRemove: [Giveaway, Giveaway]; } export declare class GiveawaysEventHandler extends BaseEventHandler { register(client: ForgeClient): void; diff --git a/dist/managers/GiveawaysEventManager.d.ts.map b/dist/managers/GiveawaysEventManager.d.ts.map index ea4012f..cef672e 100644 --- a/dist/managers/GiveawaysEventManager.d.ts.map +++ b/dist/managers/GiveawaysEventManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClC,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;CACvC;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClC,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACtC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;CAC5C;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.js.map b/dist/managers/GiveawaysEventManager.js.map index 19d70c2..607e310 100644 --- a/dist/managers/GiveawaysEventManager.js.map +++ b/dist/managers/GiveawaysEventManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AASnC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AAWnC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysInteractionManager.d.ts b/dist/managers/GiveawaysInteractionManager.d.ts new file mode 100644 index 0000000..359e30f --- /dev/null +++ b/dist/managers/GiveawaysInteractionManager.d.ts @@ -0,0 +1,7 @@ +import { ForgeClient } from "@tryforge/forgescript"; +export declare class GiveawaysInteractionManager { + private readonly client; + constructor(client: ForgeClient); + private _register; +} +//# sourceMappingURL=GiveawaysInteractionManager.d.ts.map \ No newline at end of file diff --git a/dist/managers/GiveawaysInteractionManager.d.ts.map b/dist/managers/GiveawaysInteractionManager.d.ts.map new file mode 100644 index 0000000..2d93cc2 --- /dev/null +++ b/dist/managers/GiveawaysInteractionManager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GiveawaysInteractionManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAInD,qBAAa,2BAA2B;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAIvD,OAAO,CAAC,SAAS;CAqBpB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysInteractionManager.js b/dist/managers/GiveawaysInteractionManager.js new file mode 100644 index 0000000..236a2c2 --- /dev/null +++ b/dist/managers/GiveawaysInteractionManager.js @@ -0,0 +1,38 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GiveawaysInteractionManager = void 0; +const discord_js_1 = require("discord.js"); +const __1 = require(".."); +class GiveawaysInteractionManager { + client; + constructor(client) { + this.client = client; + this._register(); + } + _register() { + this.client.on("interactionCreate", async (interaction) => { + if (!interaction.isButton() || !interaction.customId.startsWith("giveawayEntry-")) + return; + const [, id] = interaction.customId.split("-"); + const client = this.client.getExtension(__1.ForgeGiveaways, true); + const giveaway = client.giveawaysManager.get(id); + if (!giveaway) + return; + const member = interaction.member; + if (!(member instanceof discord_js_1.GuildMember && giveaway.canEnter(member))) + return; + if (giveaway.hasEntered(member.id)) { + const newGiveaway = giveaway.removeEntry(member.id); + if (newGiveaway) + client.emitter.emit("giveawayEntryRemove", newGiveaway, giveaway); + } + else { + const newGiveaway = giveaway.addEntry(member.id); + if (newGiveaway) + client.emitter.emit("giveawayEntryAdd", newGiveaway, giveaway); + } + }); + } +} +exports.GiveawaysInteractionManager = GiveawaysInteractionManager; +//# sourceMappingURL=GiveawaysInteractionManager.js.map \ No newline at end of file diff --git a/dist/managers/GiveawaysInteractionManager.js.map b/dist/managers/GiveawaysInteractionManager.js.map new file mode 100644 index 0000000..4af8e7a --- /dev/null +++ b/dist/managers/GiveawaysInteractionManager.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GiveawaysInteractionManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AACxC,0BAAmC;AAEnC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,SAAS;QACb,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAM;YACzF,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChD,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM,YAAY,wBAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAM;YAEzE,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBACnD,IAAI,WAAW;oBAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACtF,CAAC;iBAAM,CAAC;gBACJ,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAChD,IAAI,WAAW;oBAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACnF,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AA1BD,kEA0BC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index 77bf11c..8546af4 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -54,6 +54,6 @@ export declare class GiveawaysManager { * @returns */ reroll(ctx: Context, id: Snowflake): Promise; - private pickWinners; + private _pickWinners; } //# sourceMappingURL=GiveawaysManager.d.ts.map \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 6e3a835..79615a1 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAgD,UAAU,EAAgB,SAAS,EAAqB,MAAM,YAAY,CAAA;AACjI,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;OAIG;IACI,GAAG,CAAC,EAAE,EAAE,SAAS;IAIxB;;;OAGG;IACI,MAAM;IAIb;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA8C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqC5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,WAAW;CAItB"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAgD,UAAU,EAAgB,SAAS,EAAqB,MAAM,YAAY,CAAA;AACjI,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;OAIG;IACI,GAAG,CAAC,EAAE,EAAE,SAAS;IAIxB;;;OAGG;IACI,MAAM;IAIb;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA8C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IA8B5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,YAAY;CAIvB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 5571aea..58c83c5 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -50,11 +50,11 @@ class GiveawaysManager { const embed = new discord_js_1.EmbedBuilder() .setTitle("🎉 GIVEAWAY 🎉") .setDescription(`**Prize:** ${giveaway.prize}\n**Winners:** ${giveaway.winnersCount}`) - .setFields({ name: "Ends", value: `${(0, discord_js_1.time)(Date.now() + giveaway.duration, "R")}` }, { name: "Hosted by", value: `<@${giveaway.hostID}>` }) + .setFields({ name: "Ends", value: `${(0, discord_js_1.time)(new Date(Date.now() + giveaway.duration), "R")}`, inline: true }, { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }) .setColor("Green"); const comps = new discord_js_1.ActionRowBuilder() .addComponents(new discord_js_1.ButtonBuilder() - .setCustomId(`giveaway-${giveaway.id}`) + .setCustomId(`giveawayEntry-${giveaway.id}`) .setLabel("Entry") .setStyle(discord_js_1.ButtonStyle.Primary)); const msg = await chan?.send({ @@ -78,17 +78,12 @@ class GiveawaysManager { const giveaway = this.get(id); if (!giveaway || giveaway.hasEnded()) return null; - const eligibleEntries = giveaway.entries.filter(entry => { - const member = ctx.guild?.members.cache.get(entry); - if (!member) - return false; - const { requirements } = giveaway; - const hasRequiredRoles = requirements?.requiredRoles?.every((x) => member.roles.cache.has(x)) ?? true; - const noRestrictedRoles = requirements?.restrictedRoles?.every((x) => !member.roles.cache.has(x)) ?? true; - const notRestrictedMember = !requirements?.restrictedMembers?.includes(member.id); - return hasRequiredRoles && noRestrictedRoles && notRestrictedMember; + const guild = ctx.client.guilds.cache.get(giveaway.guildID); + const eligibleEntries = giveaway.entries.filter((e) => { + const member = guild?.members.cache.get(e); + return member && giveaway.canEnter(member); }); - const winners = this.pickWinners(eligibleEntries, giveaway.winnersCount); + const winners = this._pickWinners(eligibleEntries, giveaway.winnersCount); giveaway.winners = winners; await forgescript_1.Interpreter.run({ ...ctx.runtime, @@ -117,7 +112,7 @@ class GiveawaysManager { return null; const oldGiveaway = giveaway; const eligibleEntries = giveaway.entries.filter((e) => !giveaway.winners.includes(e)); - const newWinners = this.pickWinners(eligibleEntries, giveaway.winnersCount); + const newWinners = this._pickWinners(eligibleEntries, giveaway.winnersCount); giveaway.winners = newWinners; await forgescript_1.Interpreter.run({ ...ctx.runtime, @@ -128,7 +123,7 @@ class GiveawaysManager { this.emitter.emit("giveawayReroll", giveaway, oldGiveaway); return giveaway; } - pickWinners(entries, amount) { + _pickWinners(entries, amount) { const shuffled = entries.sort(() => Math.random() - 0.5); return shuffled.slice(0, amount); } diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index c032d51..c7649b0 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":";;;AAAA,uDAAsE;AACtE,2CAAiI;AAIjI,8CAAwC;AAgBxC,MAAa,gBAAgB;IAIJ;IACT;IAJK,SAAS,GAAG,IAAI,uBAAU,EAAuB,CAAA;IAElE,YACqB,MAAsB,EAC/B,OAAuD;QAD9C,WAAM,GAAN,MAAM,CAAgB;QAC/B,YAAO,GAAP,OAAO,CAAgD;IAChE,CAAC;IAEJ;;;;OAIG;IACI,GAAG,CAAC,EAAa;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjC,CAAC;IAED;;;OAGG;IACI,MAAM;QACT,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,KAAK,CAAC,GAAY,EAAE,OAA8B;QAC3D,MAAM,QAAQ,GAAG,IAAI,qBAAQ,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAA;QAEzF,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC;gBACjC,GAAG,GAAG,CAAC,OAAO;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;gBAC5D,SAAS,EAAE,IAAI;aAClB,CAAC,CAAA;YAEF,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;YAC1B,QAAQ,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QACjF,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,IAAI,yBAAY,EAAE;iBAC3B,QAAQ,CAAC,gBAAgB,CAAC;iBAC1B,cAAc,CAAC,cAAc,QAAQ,CAAC,KAAK,kBAAkB,QAAQ,CAAC,YAAY,EAAE,CAAC;iBACrF,SAAS,CACN,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAI,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAC/F,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,QAAQ,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CACtE;iBACA,QAAQ,CAAC,OAAO,CAAC,CAAA;YAEtB,MAAM,KAAK,GAAG,IAAI,6BAAgB,EAAE;iBAC/B,aAAa,CACV,IAAI,0BAAa,EAAE;iBACd,WAAW,CAAC,iBAAiB,QAAQ,CAAC,EAAE,EAAE,CAAC;iBAC3C,QAAQ,CAAC,OAAO,CAAC;iBACjB,QAAQ,CAAC,wBAAW,CAAC,OAAO,CAAC,CACrC,CAAA;YAEL,MAAM,GAAG,GAAG,MAAM,IAAI,EAAE,IAAI,CAAC;gBACzB,MAAM,EAAE,CAAC,KAAK,CAAC;gBACf,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC/B,CAAC,CAAA;YACF,QAAQ,CAAC,SAAS,GAAG,GAAG,EAAE,EAAE,CAAA;QAChC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACzC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAE/D,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,EAAa;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC7B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;YAAE,OAAO,IAAI,CAAA;QAEjD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC3D,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC1C,OAAO,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QACzE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;QAE1B,MAAM,yBAAW,CAAC,GAAG,CAAC;YAClB,GAAG,GAAG,CAAC,OAAO;YACd,WAAW,EAAE,EAAE,QAAQ,EAAE;YACzB,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI;;;;;;aAM5D,CAAC;YACF,SAAS,EAAE,IAAI;SAClB,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAE1C,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,GAAY,EAAE,EAAa;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC7B,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAAE,OAAO,IAAI,CAAA;QAClD,MAAM,WAAW,GAAG,QAAQ,CAAA;QAE5B,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACrF,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC5E,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAA;QAE7B,MAAM,yBAAW,CAAC,GAAG,CAAC;YAClB,GAAG,GAAG,CAAC,OAAO;YACd,WAAW,EAAE,EAAE,QAAQ,EAAE;YACzB,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;YAC7D,SAAS,EAAE,IAAI;SAClB,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;QAE1D,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEO,YAAY,CAAC,OAAoB,EAAE,MAAc;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;QACxD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;CACJ;AAhJD,4CAgJC"} \ No newline at end of file diff --git a/dist/native/manage/endGiveaway.d.ts.map b/dist/native/manage/endGiveaway.d.ts.map index f7c934c..78884c8 100644 --- a/dist/native/manage/endGiveaway.d.ts.map +++ b/dist/native/manage/endGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"endGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/manage/endGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file +{"version":3,"file":"endGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/manage/endGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAqBE"} \ No newline at end of file diff --git a/dist/native/manage/endGiveaway.js b/dist/native/manage/endGiveaway.js index b9760ce..18fab50 100644 --- a/dist/native/manage/endGiveaway.js +++ b/dist/native/manage/endGiveaway.js @@ -4,6 +4,7 @@ const forgescript_1 = require("@tryforge/forgescript"); const __1 = require("../.."); exports.default = new forgescript_1.NativeFunction({ name: "$endGiveaway", + version: "1.0.0", description: "Ends an existing giveaway on a guild, returns bool", unwrap: true, brackets: true, diff --git a/dist/native/manage/endGiveaway.js.map b/dist/native/manage/endGiveaway.js.map index ce05b13..5b7d0f1 100644 --- a/dist/native/manage/endGiveaway.js.map +++ b/dist/native/manage/endGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"endGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/endGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,oDAAoD;IACjE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qBAAqB;YAClC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"endGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/endGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qBAAqB;YAClC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/rerollGiveaway.d.ts.map b/dist/native/manage/rerollGiveaway.d.ts.map index d6b1064..275c7b0 100644 --- a/dist/native/manage/rerollGiveaway.d.ts.map +++ b/dist/native/manage/rerollGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"rerollGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/manage/rerollGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file +{"version":3,"file":"rerollGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/manage/rerollGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAqBE"} \ No newline at end of file diff --git a/dist/native/manage/rerollGiveaway.js b/dist/native/manage/rerollGiveaway.js index 79cbe02..0e9b8a6 100644 --- a/dist/native/manage/rerollGiveaway.js +++ b/dist/native/manage/rerollGiveaway.js @@ -4,6 +4,7 @@ const forgescript_1 = require("@tryforge/forgescript"); const __1 = require("../.."); exports.default = new forgescript_1.NativeFunction({ name: "$rerollGiveaway", + version: "1.0.0", description: "Rerolls an existing giveaway on a guild, returns bool", unwrap: true, brackets: true, diff --git a/dist/native/manage/rerollGiveaway.js.map b/dist/native/manage/rerollGiveaway.js.map index 477014d..30a22a3 100644 --- a/dist/native/manage/rerollGiveaway.js.map +++ b/dist/native/manage/rerollGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"rerollGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/rerollGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"rerollGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/rerollGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/structures/Giveaway.d.ts b/dist/structures/Giveaway.d.ts index 15312ab..45a1a28 100644 --- a/dist/structures/Giveaway.d.ts +++ b/dist/structures/Giveaway.d.ts @@ -1,4 +1,4 @@ -import { Snowflake } from "discord.js"; +import { GuildMember, Snowflake } from "discord.js"; import { IGiveawayStartOptions } from "../managers/GiveawaysManager"; export interface IGiveaway extends IGiveawayStartOptions { id: Snowflake; @@ -7,34 +7,81 @@ export interface IGiveaway extends IGiveawayStartOptions { winners: Snowflake[]; } export declare class Giveaway implements IGiveaway { + /** + * The id of this giveaway. + */ id: Snowflake; + /** + * The prize of this giveaway. + */ prize: string; + /** + * The duration of the giveaway in ms. + */ duration: number; + /** + * The max amount of winners for this giveaway. + */ winnersCount: number; + /** + * The id of the host for this giveaway. + */ hostID: Snowflake; + /** + * The id of the guild this giveaway has been created on. + */ guildID: Snowflake; + /** + * The id of the channel this giveaway has been created in. + */ channelID: Snowflake; + /** + * The user entries for this giveaway. + */ entries: Snowflake[]; + /** + * The randomly selected winners of this giveaway. + */ winners: Snowflake[]; + /** + * The requirements all participants have to meet for entering this giveaway. + */ requirements?: IGiveawayStartOptions["requirements"]; + /** + * The id of the message this giveaway is associated with. + */ messageID?: Snowflake; constructor(options: IGiveawayStartOptions & { id?: Snowflake; }); /** - * Returns whether the giveaway has ended. + * Returns whether this giveaway has ended. * @returns */ hasEnded(): boolean; /** - * Adds a user entry to the giveaway. + * Returns whether a user has entered this giveaway. + * @param userID The user to check for. + * @returns + */ + hasEntered(userID: Snowflake): boolean; + /** + * Adds a user entry to this giveaway. * @param userID The user to add as participant. + * @returns */ - addEntry(userID: Snowflake): void; + addEntry(userID: Snowflake): this | null; /** - * Removes a user entry from the giveaway. + * Removes a user entry from this giveaway. * @param userID The user to remove as participant. + * @returns + */ + removeEntry(userID: Snowflake): this | null; + /** + * Returns whether a member is eligible to enter this giveaway. + * @param member The guild member to check for requirements. + * @returns */ - removeEntry(userID: Snowflake): void; + canEnter(member: GuildMember): boolean; } //# sourceMappingURL=Giveaway.d.ts.map \ No newline at end of file diff --git a/dist/structures/Giveaway.d.ts.map b/dist/structures/Giveaway.d.ts.map index 845ae00..045ce35 100644 --- a/dist/structures/Giveaway.d.ts.map +++ b/dist/structures/Giveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,QAAS,YAAW,SAAS;IAC/B,EAAE,EAAE,SAAS,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IACpD,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,EAAE,qBAAqB,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAa/D;;;OAGG;IACI,QAAQ;IAIf;;;OAGG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAIjC;;;OAGG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;CAGvC"} \ No newline at end of file +{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,QAAS,YAAW,SAAS;IACtC;;OAEG;IACI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IACI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IACI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IACI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IACI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IACI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IACI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IACI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,EAAE,qBAAqB,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAa/D;;;OAGG;IACI,QAAQ;IAIf;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;CAQtC"} \ No newline at end of file diff --git a/dist/structures/Giveaway.js b/dist/structures/Giveaway.js index cedf72a..93fa027 100644 --- a/dist/structures/Giveaway.js +++ b/dist/structures/Giveaway.js @@ -3,16 +3,49 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.Giveaway = void 0; const discord_js_1 = require("discord.js"); class Giveaway { + /** + * The id of this giveaway. + */ id; + /** + * The prize of this giveaway. + */ prize; + /** + * The duration of the giveaway in ms. + */ duration; + /** + * The max amount of winners for this giveaway. + */ winnersCount; + /** + * The id of the host for this giveaway. + */ hostID; + /** + * The id of the guild this giveaway has been created on. + */ guildID; + /** + * The id of the channel this giveaway has been created in. + */ channelID; + /** + * The user entries for this giveaway. + */ entries; + /** + * The randomly selected winners of this giveaway. + */ winners; + /** + * The requirements all participants have to meet for entering this giveaway. + */ requirements; + /** + * The id of the message this giveaway is associated with. + */ messageID; constructor(options) { this.id = options.id ?? discord_js_1.SnowflakeUtil.generate().toString(); @@ -27,26 +60,55 @@ class Giveaway { this.winners = []; } /** - * Returns whether the giveaway has ended. + * Returns whether this giveaway has ended. * @returns */ hasEnded() { return (Date.now() > discord_js_1.SnowflakeUtil.timestampFrom(this.id) + this.duration); } /** - * Adds a user entry to the giveaway. + * Returns whether a user has entered this giveaway. + * @param userID The user to check for. + * @returns + */ + hasEntered(userID) { + return this.entries.includes(userID); + } + /** + * Adds a user entry to this giveaway. * @param userID The user to add as participant. + * @returns */ addEntry(userID) { - if (!this.entries.includes(userID)) - this.entries.push(userID); + if (this.hasEntered(userID)) + return null; + this.entries.push(userID); + return this; } /** - * Removes a user entry from the giveaway. + * Removes a user entry from this giveaway. * @param userID The user to remove as participant. + * @returns */ removeEntry(userID) { + if (!this.hasEntered(userID)) + return null; this.entries = this.entries.filter((e) => e !== userID); + return this; + } + /** + * Returns whether a member is eligible to enter this giveaway. + * @param member The guild member to check for requirements. + * @returns + */ + canEnter(member) { + const req = this.requirements; + if (!req) + return true; + const hasRequiredRoles = req.requiredRoles?.every(r => member.roles.cache.has(r)) ?? true; + const noRestrictedRoles = req.restrictedRoles?.every(r => !member.roles.cache.has(r)) ?? true; + const notRestrictedMember = !req.restrictedMembers?.includes(member.id); + return hasRequiredRoles && noRestrictedRoles && notRestrictedMember; } } exports.Giveaway = Giveaway; diff --git a/dist/structures/Giveaway.js.map b/dist/structures/Giveaway.js.map index 8d713b8..8de281d 100644 --- a/dist/structures/Giveaway.js.map +++ b/dist/structures/Giveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":";;;AAAA,2CAAqD;AAUrD,MAAa,QAAQ;IACV,EAAE,CAAW;IACb,KAAK,CAAQ;IACb,QAAQ,CAAQ;IAChB,YAAY,CAAQ;IACpB,MAAM,CAAW;IACjB,OAAO,CAAW;IAClB,SAAS,CAAW;IACpB,OAAO,CAAa;IACpB,OAAO,CAAa;IACpB,YAAY,CAAwC;IACpD,SAAS,CAAY;IAE5B,YAAY,OAAmD;QAC3D,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,0BAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAA;QAC3D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IACrB,CAAC;IAED;;;OAGG;IACI,QAAQ;QACX,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,0BAAa,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC9E,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,MAAiB;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjE,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,MAAiB;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;IAC3D,CAAC;CACJ;AAjDD,4BAiDC"} \ No newline at end of file +{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 828ed2f..41520e0 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 9f70c74..baf386b 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 7815b5a..c2a84b8 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index a45d2e6..e48994e 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index af9ed40..614d590 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,19 +1,19 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Ends an existing giveaway.

    +

Constructors

Methods

  • Ends an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    Parameters

    • id: string

      The id of the giveaway to get.

      -

    Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    +

Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

  • Starts a new giveaway on a guild.

    +

Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index a60c2d6..f6d4ecc 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index b591417..e7a2b28 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,5 +1,7 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
+

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index c38561a..3cda136 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
diff --git a/metadata/functions.json b/metadata/functions.json index b145992..a30041f 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$endGiveaway","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage","version":"1.0.0"},{"name":"$rerollGiveaway","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage","version":"1.0.0"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file +[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 4dc525a..ebcda88 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,7 @@ import { EventManager, ForgeClient, ForgeExtension } from "@tryforge/forgescript" import { IGiveawayEvents } from "./managers/GiveawaysEventManager" import { GiveawaysCommandManager } from "./managers/GiveawaysCommandManager" +import { GiveawaysInteractionManager } from "./managers/GiveawaysInteractionManager" import { GiveawaysManager } from "./managers/GiveawaysManager" import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" @@ -29,12 +30,14 @@ export class ForgeGiveaways extends ForgeExtension { this.commands = null } - public init (client: ForgeClient) { + public init(client: ForgeClient) { this.commands = new GiveawaysCommandManager(client) EventManager.load("ForgeGiveawaysEvents", __dirname + "/events") this.load(__dirname + "/native") + new GiveawaysInteractionManager(client) + if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events) } diff --git a/src/managers/GiveawaysEventManager.ts b/src/managers/GiveawaysEventManager.ts index f3a805f..03e4265 100644 --- a/src/managers/GiveawaysEventManager.ts +++ b/src/managers/GiveawaysEventManager.ts @@ -7,6 +7,8 @@ export interface IGiveawayEvents { giveawayEnd: [Giveaway] giveawayEdit: [Giveaway, Giveaway] giveawayReroll: [Giveaway, Giveaway] + giveawayEntryAdd: [Giveaway, Giveaway] + giveawayEntryRemove: [Giveaway, Giveaway] } export class GiveawaysEventHandler extends BaseEventHandler { diff --git a/src/managers/GiveawaysInteractionManager.ts b/src/managers/GiveawaysInteractionManager.ts new file mode 100644 index 0000000..6d00b1b --- /dev/null +++ b/src/managers/GiveawaysInteractionManager.ts @@ -0,0 +1,31 @@ +import { ForgeClient } from "@tryforge/forgescript" +import { GuildMember } from "discord.js" +import { ForgeGiveaways } from ".." + +export class GiveawaysInteractionManager { + public constructor(private readonly client: ForgeClient) { + this._register() + } + + private _register() { + this.client.on("interactionCreate", async (interaction) => { + if (!interaction.isButton() || !interaction.customId.startsWith("giveawayEntry-")) return + const [, id] = interaction.customId.split("-") + + const client = this.client.getExtension(ForgeGiveaways, true) + const giveaway = client.giveawaysManager.get(id) + if (!giveaway) return + + const member = interaction.member + if (!(member instanceof GuildMember && giveaway.canEnter(member))) return + + if (giveaway.hasEntered(member.id)) { + const newGiveaway = giveaway.removeEntry(member.id) + if (newGiveaway) client.emitter.emit("giveawayEntryRemove", newGiveaway, giveaway) + } else { + const newGiveaway = giveaway.addEntry(member.id) + if (newGiveaway) client.emitter.emit("giveawayEntryAdd", newGiveaway, giveaway) + } + }) + } +} diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index fc7c815..77820c1 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -69,15 +69,15 @@ export class GiveawaysManager { .setTitle("🎉 GIVEAWAY 🎉") .setDescription(`**Prize:** ${giveaway.prize}\n**Winners:** ${giveaway.winnersCount}`) .setFields( - { name: "Ends", value: `${time(Date.now() + giveaway.duration, "R")}` }, - { name: "Hosted by", value: `<@${giveaway.hostID}>` }, + { name: "Ends", value: `${time(new Date(Date.now() + giveaway.duration), "R")}`, inline: true }, + { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }, ) .setColor("Green") const comps = new ActionRowBuilder() .addComponents( new ButtonBuilder() - .setCustomId(`giveaway-${giveaway.id}`) + .setCustomId(`giveawayEntry-${giveaway.id}`) .setLabel("Entry") .setStyle(ButtonStyle.Primary) ) @@ -106,19 +106,12 @@ export class GiveawaysManager { const giveaway = this.get(id) if (!giveaway || giveaway.hasEnded()) return null - const eligibleEntries = giveaway.entries.filter(entry => { - const member = ctx.guild?.members.cache.get(entry) - if (!member) return false - - const { requirements } = giveaway - const hasRequiredRoles = requirements?.requiredRoles?.every((x) => member.roles.cache.has(x)) ?? true - const noRestrictedRoles = requirements?.restrictedRoles?.every((x) => !member.roles.cache.has(x)) ?? true - const notRestrictedMember = !requirements?.restrictedMembers?.includes(member.id) - - return hasRequiredRoles && noRestrictedRoles && notRestrictedMember + const guild = ctx.client.guilds.cache.get(giveaway.guildID) + const eligibleEntries = giveaway.entries.filter((e) => { + const member = guild?.members.cache.get(e) + return member && giveaway.canEnter(member) }) - - const winners = this.pickWinners(eligibleEntries, giveaway.winnersCount) + const winners = this._pickWinners(eligibleEntries, giveaway.winnersCount) giveaway.winners = winners await Interpreter.run({ @@ -151,7 +144,7 @@ export class GiveawaysManager { const oldGiveaway = giveaway const eligibleEntries = giveaway.entries.filter((e) => !giveaway.winners.includes(e)) - const newWinners = this.pickWinners(eligibleEntries, giveaway.winnersCount) + const newWinners = this._pickWinners(eligibleEntries, giveaway.winnersCount) giveaway.winners = newWinners await Interpreter.run({ @@ -166,7 +159,7 @@ export class GiveawaysManager { return giveaway } - private pickWinners(entries: Snowflake[], amount: number) { + private _pickWinners(entries: Snowflake[], amount: number) { const shuffled = entries.sort(() => Math.random() - 0.5) return shuffled.slice(0, amount) } diff --git a/src/structures/Giveaway.ts b/src/structures/Giveaway.ts index 8ea3eca..2df37f3 100644 --- a/src/structures/Giveaway.ts +++ b/src/structures/Giveaway.ts @@ -1,4 +1,4 @@ -import { Snowflake, SnowflakeUtil } from "discord.js" +import { GuildMember, Snowflake, SnowflakeUtil } from "discord.js" import { IGiveawayStartOptions } from "../managers/GiveawaysManager" export interface IGiveaway extends IGiveawayStartOptions { @@ -9,16 +9,59 @@ export interface IGiveaway extends IGiveawayStartOptions { } export class Giveaway implements IGiveaway { + /** + * The id of this giveaway. + */ public id: Snowflake + + /** + * The prize of this giveaway. + */ public prize: string + + /** + * The duration of the giveaway in ms. + */ public duration: number + + /** + * The max amount of winners for this giveaway. + */ public winnersCount: number + + /** + * The id of the host for this giveaway. + */ public hostID: Snowflake + + /** + * The id of the guild this giveaway has been created on. + */ public guildID: Snowflake + + /** + * The id of the channel this giveaway has been created in. + */ public channelID: Snowflake + + /** + * The user entries for this giveaway. + */ public entries: Snowflake[] + + /** + * The randomly selected winners of this giveaway. + */ public winners: Snowflake[] + + /** + * The requirements all participants have to meet for entering this giveaway. + */ public requirements?: IGiveawayStartOptions["requirements"] + + /** + * The id of the message this giveaway is associated with. + */ public messageID?: Snowflake constructor(options: IGiveawayStartOptions & { id?: Snowflake }) { @@ -35,7 +78,7 @@ export class Giveaway implements IGiveaway { } /** - * Returns whether the giveaway has ended. + * Returns whether this giveaway has ended. * @returns */ public hasEnded() { @@ -43,18 +86,47 @@ export class Giveaway implements IGiveaway { } /** - * Adds a user entry to the giveaway. + * Returns whether a user has entered this giveaway. + * @param userID The user to check for. + * @returns + */ + public hasEntered(userID: Snowflake) { + return this.entries.includes(userID) + } + + /** + * Adds a user entry to this giveaway. * @param userID The user to add as participant. + * @returns */ public addEntry(userID: Snowflake) { - if (!this.entries.includes(userID)) this.entries.push(userID) + if (this.hasEntered(userID)) return null + this.entries.push(userID) + return this } /** - * Removes a user entry from the giveaway. + * Removes a user entry from this giveaway. * @param userID The user to remove as participant. + * @returns */ public removeEntry(userID: Snowflake) { + if (!this.hasEntered(userID)) return null this.entries = this.entries.filter((e) => e !== userID) + return this + } + + /** + * Returns whether a member is eligible to enter this giveaway. + * @param member The guild member to check for requirements. + * @returns + */ + public canEnter(member: GuildMember) { + const req = this.requirements + if (!req) return true + const hasRequiredRoles = req.requiredRoles?.every(r => member.roles.cache.has(r)) ?? true + const noRestrictedRoles = req.restrictedRoles?.every(r => !member.roles.cache.has(r)) ?? true + const notRestrictedMember = !req.restrictedMembers?.includes(member.id) + return hasRequiredRoles && noRestrictedRoles && notRestrictedMember } } \ No newline at end of file From f119b62135b814a7cfffbd804accf321f949cdce Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Fri, 17 Oct 2025 14:33:11 +0200 Subject: [PATCH 20/87] Added new forgotten entry events --- dist/events/giveawayEntryAdd.d.ts | 4 +++ dist/events/giveawayEntryAdd.d.ts.map | 1 + dist/events/giveawayEntryAdd.js | 31 ++++++++++++++++++++ dist/events/giveawayEntryAdd.js.map | 1 + dist/events/giveawayEntryRemove.d.ts | 4 +++ dist/events/giveawayEntryRemove.d.ts.map | 1 + dist/events/giveawayEntryRemove.js | 31 ++++++++++++++++++++ dist/events/giveawayEntryRemove.js.map | 1 + docs/classes/ForgeGiveaways.html | 6 ++-- docs/classes/GiveawaysCommandManager.html | 4 +-- docs/classes/GiveawaysEventHandler.html | 4 +-- docs/classes/GiveawaysManager.html | 14 ++++----- docs/interfaces/IForgeGiveawaysOptions.html | 4 +-- docs/interfaces/IGiveawayEvents.html | 4 +-- docs/interfaces/IGiveawayStartOptions.html | 4 +-- metadata/events.json | 2 +- src/events/giveawayEntryAdd.ts | 32 +++++++++++++++++++++ src/events/giveawayEntryRemove.ts | 32 +++++++++++++++++++++ 18 files changed, 159 insertions(+), 21 deletions(-) create mode 100644 dist/events/giveawayEntryAdd.d.ts create mode 100644 dist/events/giveawayEntryAdd.d.ts.map create mode 100644 dist/events/giveawayEntryAdd.js create mode 100644 dist/events/giveawayEntryAdd.js.map create mode 100644 dist/events/giveawayEntryRemove.d.ts create mode 100644 dist/events/giveawayEntryRemove.d.ts.map create mode 100644 dist/events/giveawayEntryRemove.js create mode 100644 dist/events/giveawayEntryRemove.js.map create mode 100644 src/events/giveawayEntryAdd.ts create mode 100644 src/events/giveawayEntryRemove.ts diff --git a/dist/events/giveawayEntryAdd.d.ts b/dist/events/giveawayEntryAdd.d.ts new file mode 100644 index 0000000..3a997e0 --- /dev/null +++ b/dist/events/giveawayEntryAdd.d.ts @@ -0,0 +1,4 @@ +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; +declare const _default: GiveawaysEventHandler<"giveawayEntryAdd">; +export default _default; +//# sourceMappingURL=giveawayEntryAdd.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayEntryAdd.d.ts.map b/dist/events/giveawayEntryAdd.d.ts.map new file mode 100644 index 0000000..152f1a0 --- /dev/null +++ b/dist/events/giveawayEntryAdd.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayEntryAdd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAyBE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryAdd.js b/dist/events/giveawayEntryAdd.js new file mode 100644 index 0000000..278efb4 --- /dev/null +++ b/dist/events/giveawayEntryAdd.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); +const __1 = require(".."); +const structures_1 = require("../structures"); +exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ + name: "giveawayEntryAdd", + description: "This event is fired when a giveaway entry is added", + listener: async function (newer, old) { + const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEntryAdd"); + if (commands?.length) { + for (const command of commands) { + const ctx = new structures_1.Context({ + obj: newer, + command, + client: this, + states: { + giveaway: { + new: newer, + old + } + }, + data: command.compiled.code, + }); + forgescript_1.Interpreter.run(ctx); + } + } + }, +}); +//# sourceMappingURL=giveawayEntryAdd.js.map \ No newline at end of file diff --git a/dist/events/giveawayEntryAdd.js.map b/dist/events/giveawayEntryAdd.js.map new file mode 100644 index 0000000..7207b84 --- /dev/null +++ b/dist/events/giveawayEntryAdd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,KAAK,EAAE,GAAG;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAE1F,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.d.ts b/dist/events/giveawayEntryRemove.d.ts new file mode 100644 index 0000000..5670d9b --- /dev/null +++ b/dist/events/giveawayEntryRemove.d.ts @@ -0,0 +1,4 @@ +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; +declare const _default: GiveawaysEventHandler<"giveawayEntryRemove">; +export default _default; +//# sourceMappingURL=giveawayEntryRemove.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.d.ts.map b/dist/events/giveawayEntryRemove.d.ts.map new file mode 100644 index 0000000..7349a35 --- /dev/null +++ b/dist/events/giveawayEntryRemove.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayEntryRemove.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAyBE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.js b/dist/events/giveawayEntryRemove.js new file mode 100644 index 0000000..7cd7c36 --- /dev/null +++ b/dist/events/giveawayEntryRemove.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); +const __1 = require(".."); +const structures_1 = require("../structures"); +exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ + name: "giveawayEntryRemove", + description: "This event is fired when a giveaway entry is removed", + listener: async function (newer, old) { + const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEntryRemove"); + if (commands?.length) { + for (const command of commands) { + const ctx = new structures_1.Context({ + obj: newer, + command, + client: this, + states: { + giveaway: { + new: newer, + old + } + }, + data: command.compiled.code, + }); + forgescript_1.Interpreter.run(ctx); + } + } + }, +}); +//# sourceMappingURL=giveawayEntryRemove.js.map \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.js.map b/dist/events/giveawayEntryRemove.js.map new file mode 100644 index 0000000..0ac23cb --- /dev/null +++ b/dist/events/giveawayEntryRemove.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,KAAK,EAAE,GAAG;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE7F,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index baf386b..e44036f 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index c2a84b8..933bcfd 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index e48994e..dd646dd 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 614d590..a87cf52 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,19 +1,19 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Ends an existing giveaway.

    +

Constructors

Methods

  • Ends an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    Parameters

    • id: string

      The id of the giveaway to get.

      -

    Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    +

Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

  • Starts a new giveaway on a guild.

    +

Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index f6d4ecc..247eb58 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index e7a2b28..c81464c 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,7 +1,7 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
+

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 3cda136..cad6986 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
diff --git a/metadata/events.json b/metadata/events.json index 8011b72..95cf348 100644 --- a/metadata/events.json +++ b/metadata/events.json @@ -1 +1 @@ -[{"name":"giveawayEdit","version":"1.0.0","description":"This event is fired when a giveaway was edited"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file +[{"name":"giveawayEdit","version":"1.0.0","description":"This event is fired when a giveaway was edited"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayEntryAdd","description":"This event is fired when a giveaway entry is added","version":"1.0.0"},{"name":"giveawayEntryRemove","description":"This event is fired when a giveaway entry is removed","version":"1.0.0"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file diff --git a/src/events/giveawayEntryAdd.ts b/src/events/giveawayEntryAdd.ts new file mode 100644 index 0000000..6faebaa --- /dev/null +++ b/src/events/giveawayEntryAdd.ts @@ -0,0 +1,32 @@ +import { Interpreter } from "@tryforge/forgescript" +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { ForgeGiveaways } from ".." +import { Context } from "../structures" + +export default new GiveawaysEventHandler({ + name: "giveawayEntryAdd", + version: "1.0.0", + description: "This event is fired when a giveaway entry is added", + listener: async function(newer, old) { + const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayEntryAdd") + + if (commands?.length) { + for (const command of commands) { + const ctx = new Context({ + obj: newer, + command, + client: this, + states: { + giveaway: { + new: newer, + old + } + }, + data: command.compiled.code, + }) + + Interpreter.run(ctx) + } + } + }, +}) \ No newline at end of file diff --git a/src/events/giveawayEntryRemove.ts b/src/events/giveawayEntryRemove.ts new file mode 100644 index 0000000..f8604e3 --- /dev/null +++ b/src/events/giveawayEntryRemove.ts @@ -0,0 +1,32 @@ +import { Interpreter } from "@tryforge/forgescript" +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { ForgeGiveaways } from ".." +import { Context } from "../structures" + +export default new GiveawaysEventHandler({ + name: "giveawayEntryRemove", + version: "1.0.0", + description: "This event is fired when a giveaway entry is removed", + listener: async function(newer, old) { + const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayEntryRemove") + + if (commands?.length) { + for (const command of commands) { + const ctx = new Context({ + obj: newer, + command, + client: this, + states: { + giveaway: { + new: newer, + old + } + }, + data: command.compiled.code, + }) + + Interpreter.run(ctx) + } + } + }, +}) \ No newline at end of file From ab01a099f5ac7d3acc895e456bf911011167651e Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Fri, 17 Oct 2025 14:44:28 +0200 Subject: [PATCH 21/87] Improve interaction behaviour --- dist/events/giveawayEntryAdd.d.ts.map | 2 +- dist/events/giveawayEntryAdd.js | 1 + dist/events/giveawayEntryAdd.js.map | 2 +- dist/events/giveawayEntryRemove.d.ts.map | 2 +- dist/events/giveawayEntryRemove.js | 1 + dist/events/giveawayEntryRemove.js.map | 2 +- .../GiveawaysInteractionManager.d.ts.map | 2 +- dist/managers/GiveawaysInteractionManager.js | 18 ++++++++++------- .../GiveawaysInteractionManager.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/classes/GiveawaysCommandManager.html | 4 ++-- docs/classes/GiveawaysEventHandler.html | 4 ++-- docs/classes/GiveawaysManager.html | 14 ++++++------- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- docs/interfaces/IGiveawayEvents.html | 4 ++-- docs/interfaces/IGiveawayStartOptions.html | 4 ++-- metadata/events.json | 2 +- src/managers/GiveawaysInteractionManager.ts | 20 +++++++++++++------ 18 files changed, 54 insertions(+), 40 deletions(-) diff --git a/dist/events/giveawayEntryAdd.d.ts.map b/dist/events/giveawayEntryAdd.d.ts.map index 152f1a0..5d00aee 100644 --- a/dist/events/giveawayEntryAdd.d.ts.map +++ b/dist/events/giveawayEntryAdd.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryAdd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAyBE"} \ No newline at end of file +{"version":3,"file":"giveawayEntryAdd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBA0BE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryAdd.js b/dist/events/giveawayEntryAdd.js index 278efb4..c2a3e33 100644 --- a/dist/events/giveawayEntryAdd.js +++ b/dist/events/giveawayEntryAdd.js @@ -6,6 +6,7 @@ const __1 = require(".."); const structures_1 = require("../structures"); exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "giveawayEntryAdd", + version: "1.0.0", description: "This event is fired when a giveaway entry is added", listener: async function (newer, old) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEntryAdd"); diff --git a/dist/events/giveawayEntryAdd.js.map b/dist/events/giveawayEntryAdd.js.map index 7207b84..242548f 100644 --- a/dist/events/giveawayEntryAdd.js.map +++ b/dist/events/giveawayEntryAdd.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,KAAK,EAAE,GAAG;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAE1F,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,KAAK,EAAE,GAAG;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAE1F,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.d.ts.map b/dist/events/giveawayEntryRemove.d.ts.map index 7349a35..c12c3c3 100644 --- a/dist/events/giveawayEntryRemove.d.ts.map +++ b/dist/events/giveawayEntryRemove.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRemove.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAyBE"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRemove.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBA0BE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.js b/dist/events/giveawayEntryRemove.js index 7cd7c36..cd4f878 100644 --- a/dist/events/giveawayEntryRemove.js +++ b/dist/events/giveawayEntryRemove.js @@ -6,6 +6,7 @@ const __1 = require(".."); const structures_1 = require("../structures"); exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "giveawayEntryRemove", + version: "1.0.0", description: "This event is fired when a giveaway entry is removed", listener: async function (newer, old) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEntryRemove"); diff --git a/dist/events/giveawayEntryRemove.js.map b/dist/events/giveawayEntryRemove.js.map index 0ac23cb..ef58714 100644 --- a/dist/events/giveawayEntryRemove.js.map +++ b/dist/events/giveawayEntryRemove.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,KAAK,EAAE,GAAG;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE7F,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,KAAK,EAAE,GAAG;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE7F,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/managers/GiveawaysInteractionManager.d.ts.map b/dist/managers/GiveawaysInteractionManager.d.ts.map index 2d93cc2..ac25533 100644 --- a/dist/managers/GiveawaysInteractionManager.d.ts.map +++ b/dist/managers/GiveawaysInteractionManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAInD,qBAAa,2BAA2B;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAIvD,OAAO,CAAC,SAAS;CAqBpB"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAInD,qBAAa,2BAA2B;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAIvD,OAAO,CAAC,SAAS;CA6BpB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysInteractionManager.js b/dist/managers/GiveawaysInteractionManager.js index 236a2c2..081870f 100644 --- a/dist/managers/GiveawaysInteractionManager.js +++ b/dist/managers/GiveawaysInteractionManager.js @@ -21,16 +21,20 @@ class GiveawaysInteractionManager { const member = interaction.member; if (!(member instanceof discord_js_1.GuildMember && giveaway.canEnter(member))) return; - if (giveaway.hasEntered(member.id)) { - const newGiveaway = giveaway.removeEntry(member.id); - if (newGiveaway) - client.emitter.emit("giveawayEntryRemove", newGiveaway, giveaway); + const oldGiveaway = giveaway; + const entered = giveaway.hasEntered(member.id); + if (entered) { + giveaway.removeEntry(member.id); + client.emitter.emit("giveawayEntryRemove", giveaway, oldGiveaway); } else { - const newGiveaway = giveaway.addEntry(member.id); - if (newGiveaway) - client.emitter.emit("giveawayEntryAdd", newGiveaway, giveaway); + giveaway.addEntry(member.id); + client.emitter.emit("giveawayEntryAdd", giveaway, oldGiveaway); } + interaction.reply({ + content: `You have successfully ${entered ? "left" : "entered"} the giveaway.`, + flags: discord_js_1.MessageFlags.Ephemeral, + }); }); } } diff --git a/dist/managers/GiveawaysInteractionManager.js.map b/dist/managers/GiveawaysInteractionManager.js.map index 4af8e7a..7aea1b9 100644 --- a/dist/managers/GiveawaysInteractionManager.js.map +++ b/dist/managers/GiveawaysInteractionManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AACxC,0BAAmC;AAEnC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,SAAS;QACb,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAM;YACzF,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChD,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM,YAAY,wBAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAM;YAEzE,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBACnD,IAAI,WAAW;oBAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACtF,CAAC;iBAAM,CAAC;gBACJ,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAChD,IAAI,WAAW;oBAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACnF,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AA1BD,kEA0BC"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AACtD,0BAAmC;AAEnC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,SAAS;QACb,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAM;YACzF,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChD,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM,YAAY,wBAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAM;YAEzE,MAAM,WAAW,GAAG,QAAQ,CAAA;YAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE9C,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC/B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YAClE,CAAC;YAED,WAAW,CAAC,KAAK,CAAC;gBACd,OAAO,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB;gBAC9E,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAlCD,kEAkCC"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index e44036f..a92146a 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 933bcfd..9601454 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index dd646dd..2cd24c0 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index a87cf52..3e9d3ab 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,19 +1,19 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Ends an existing giveaway.

    +

Constructors

Methods

  • Ends an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    Parameters

    • id: string

      The id of the giveaway to get.

      -

    Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    +

Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

  • Starts a new giveaway on a guild.

    +

Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 247eb58..0b19517 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index c81464c..76d89b0 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,7 +1,7 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
+

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index cad6986..9f63298 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
diff --git a/metadata/events.json b/metadata/events.json index 95cf348..33d8fa7 100644 --- a/metadata/events.json +++ b/metadata/events.json @@ -1 +1 @@ -[{"name":"giveawayEdit","version":"1.0.0","description":"This event is fired when a giveaway was edited"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayEntryAdd","description":"This event is fired when a giveaway entry is added","version":"1.0.0"},{"name":"giveawayEntryRemove","description":"This event is fired when a giveaway entry is removed","version":"1.0.0"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file +[{"name":"giveawayEdit","version":"1.0.0","description":"This event is fired when a giveaway was edited"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayEntryAdd","version":"1.0.0","description":"This event is fired when a giveaway entry is added"},{"name":"giveawayEntryRemove","version":"1.0.0","description":"This event is fired when a giveaway entry is removed"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file diff --git a/src/managers/GiveawaysInteractionManager.ts b/src/managers/GiveawaysInteractionManager.ts index 6d00b1b..5e7d209 100644 --- a/src/managers/GiveawaysInteractionManager.ts +++ b/src/managers/GiveawaysInteractionManager.ts @@ -1,5 +1,5 @@ import { ForgeClient } from "@tryforge/forgescript" -import { GuildMember } from "discord.js" +import { GuildMember, MessageFlags } from "discord.js" import { ForgeGiveaways } from ".." export class GiveawaysInteractionManager { @@ -19,13 +19,21 @@ export class GiveawaysInteractionManager { const member = interaction.member if (!(member instanceof GuildMember && giveaway.canEnter(member))) return - if (giveaway.hasEntered(member.id)) { - const newGiveaway = giveaway.removeEntry(member.id) - if (newGiveaway) client.emitter.emit("giveawayEntryRemove", newGiveaway, giveaway) + const oldGiveaway = giveaway + const entered = giveaway.hasEntered(member.id) + + if (entered) { + giveaway.removeEntry(member.id) + client.emitter.emit("giveawayEntryRemove", giveaway, oldGiveaway) } else { - const newGiveaway = giveaway.addEntry(member.id) - if (newGiveaway) client.emitter.emit("giveawayEntryAdd", newGiveaway, giveaway) + giveaway.addEntry(member.id) + client.emitter.emit("giveawayEntryAdd", giveaway, oldGiveaway) } + + interaction.reply({ + content: `You have successfully ${entered ? "left" : "entered"} the giveaway.`, + flags: MessageFlags.Ephemeral, + }) }) } } From bf8aa3b6ca223e8ccdb9cc9d66c6d64b41bfccb6 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Fri, 17 Oct 2025 14:51:26 +0200 Subject: [PATCH 22/87] Pass old data first --- dist/events/giveawayEdit.js | 2 +- dist/events/giveawayEdit.js.map | 2 +- dist/events/giveawayEntryAdd.js | 2 +- dist/events/giveawayEntryAdd.js.map | 2 +- dist/events/giveawayEntryRemove.js | 2 +- dist/events/giveawayEntryRemove.js.map | 2 +- dist/events/giveawayReroll.js | 2 +- dist/events/giveawayReroll.js.map | 2 +- dist/managers/GiveawaysInteractionManager.js | 4 ++-- dist/managers/GiveawaysInteractionManager.js.map | 2 +- dist/managers/GiveawaysManager.js | 2 +- dist/managers/GiveawaysManager.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/classes/GiveawaysCommandManager.html | 4 ++-- docs/classes/GiveawaysEventHandler.html | 4 ++-- docs/classes/GiveawaysManager.html | 14 +++++++------- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- docs/interfaces/IGiveawayEvents.html | 4 ++-- docs/interfaces/IGiveawayStartOptions.html | 4 ++-- src/events/giveawayEdit.ts | 2 +- src/events/giveawayEntryAdd.ts | 2 +- src/events/giveawayEntryRemove.ts | 2 +- src/events/giveawayReroll.ts | 2 +- src/managers/GiveawaysInteractionManager.ts | 4 ++-- src/managers/GiveawaysManager.ts | 2 +- 25 files changed, 40 insertions(+), 40 deletions(-) diff --git a/dist/events/giveawayEdit.js b/dist/events/giveawayEdit.js index ab1564c..a0b04e0 100644 --- a/dist/events/giveawayEdit.js +++ b/dist/events/giveawayEdit.js @@ -8,7 +8,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "giveawayEdit", version: "1.0.0", description: "This event is fired when a giveaway was edited", - listener: async function (newer, old) { + listener: async function (old, newer) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEdit"); if (commands?.length) { for (const command of commands) { diff --git a/dist/events/giveawayEdit.js.map b/dist/events/giveawayEdit.js.map index 153a3a9..8fc780d 100644 --- a/dist/events/giveawayEdit.js.map +++ b/dist/events/giveawayEdit.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,KAAK,EAAE,GAAG;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;QAEtF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;QAEtF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryAdd.js b/dist/events/giveawayEntryAdd.js index c2a3e33..fc696e1 100644 --- a/dist/events/giveawayEntryAdd.js +++ b/dist/events/giveawayEntryAdd.js @@ -8,7 +8,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "giveawayEntryAdd", version: "1.0.0", description: "This event is fired when a giveaway entry is added", - listener: async function (newer, old) { + listener: async function (old, newer) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEntryAdd"); if (commands?.length) { for (const command of commands) { diff --git a/dist/events/giveawayEntryAdd.js.map b/dist/events/giveawayEntryAdd.js.map index 242548f..2b41ac1 100644 --- a/dist/events/giveawayEntryAdd.js.map +++ b/dist/events/giveawayEntryAdd.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,KAAK,EAAE,GAAG;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAE1F,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAE1F,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.js b/dist/events/giveawayEntryRemove.js index cd4f878..d3ef5c6 100644 --- a/dist/events/giveawayEntryRemove.js +++ b/dist/events/giveawayEntryRemove.js @@ -8,7 +8,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "giveawayEntryRemove", version: "1.0.0", description: "This event is fired when a giveaway entry is removed", - listener: async function (newer, old) { + listener: async function (old, newer) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEntryRemove"); if (commands?.length) { for (const command of commands) { diff --git a/dist/events/giveawayEntryRemove.js.map b/dist/events/giveawayEntryRemove.js.map index ef58714..5a4c7c5 100644 --- a/dist/events/giveawayEntryRemove.js.map +++ b/dist/events/giveawayEntryRemove.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,KAAK,EAAE,GAAG;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE7F,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE7F,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayReroll.js b/dist/events/giveawayReroll.js index 66abe25..b557439 100644 --- a/dist/events/giveawayReroll.js +++ b/dist/events/giveawayReroll.js @@ -8,7 +8,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "giveawayReroll", version: "1.0.0", description: "This event is fired when a giveaway was rerolled", - listener: async function (newer, old) { + listener: async function (old, newer) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayReroll"); if (commands?.length) { for (const command of commands) { diff --git a/dist/events/giveawayReroll.js.map b/dist/events/giveawayReroll.js.map index 5732c1b..ca672e7 100644 --- a/dist/events/giveawayReroll.js.map +++ b/dist/events/giveawayReroll.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,KAAK,EAAE,GAAG;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAExF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAExF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/managers/GiveawaysInteractionManager.js b/dist/managers/GiveawaysInteractionManager.js index 081870f..5bef254 100644 --- a/dist/managers/GiveawaysInteractionManager.js +++ b/dist/managers/GiveawaysInteractionManager.js @@ -25,11 +25,11 @@ class GiveawaysInteractionManager { const entered = giveaway.hasEntered(member.id); if (entered) { giveaway.removeEntry(member.id); - client.emitter.emit("giveawayEntryRemove", giveaway, oldGiveaway); + client.emitter.emit("giveawayEntryRemove", oldGiveaway, giveaway); } else { giveaway.addEntry(member.id); - client.emitter.emit("giveawayEntryAdd", giveaway, oldGiveaway); + client.emitter.emit("giveawayEntryAdd", oldGiveaway, giveaway); } interaction.reply({ content: `You have successfully ${entered ? "left" : "entered"} the giveaway.`, diff --git a/dist/managers/GiveawaysInteractionManager.js.map b/dist/managers/GiveawaysInteractionManager.js.map index 7aea1b9..8443498 100644 --- a/dist/managers/GiveawaysInteractionManager.js.map +++ b/dist/managers/GiveawaysInteractionManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AACtD,0BAAmC;AAEnC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,SAAS;QACb,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAM;YACzF,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChD,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM,YAAY,wBAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAM;YAEzE,MAAM,WAAW,GAAG,QAAQ,CAAA;YAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE9C,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC/B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YAClE,CAAC;YAED,WAAW,CAAC,KAAK,CAAC;gBACd,OAAO,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB;gBAC9E,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAlCD,kEAkCC"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AACtD,0BAAmC;AAEnC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,SAAS;QACb,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAM;YACzF,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChD,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM,YAAY,wBAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAM;YAEzE,MAAM,WAAW,GAAG,QAAQ,CAAA;YAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE9C,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC/B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClE,CAAC;YAED,WAAW,CAAC,KAAK,CAAC;gBACd,OAAO,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB;gBAC9E,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAlCD,kEAkCC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 58c83c5..c2d12fb 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -120,7 +120,7 @@ class GiveawaysManager { data: forgescript_1.Compiler.compile(this.client.options?.messages?.reroll), doNotSend: true, }); - this.emitter.emit("giveawayReroll", giveaway, oldGiveaway); + this.emitter.emit("giveawayReroll", oldGiveaway, giveaway); return giveaway; } _pickWinners(entries, amount) { diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index c7649b0..82b4c86 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index a92146a..84c5e8b 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 9601454..c661904 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 2cd24c0..c8e6942 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 3e9d3ab..e9505b7 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,19 +1,19 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Ends an existing giveaway.

    +

Constructors

Methods

  • Ends an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    Parameters

    • id: string

      The id of the giveaway to get.

      -

    Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    +

Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

  • Starts a new giveaway on a guild.

    +

Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 0b19517..d63e73f 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 76d89b0..45c1efd 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,7 +1,7 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
+

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 9f63298..1870f40 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
diff --git a/src/events/giveawayEdit.ts b/src/events/giveawayEdit.ts index 7d44400..0ac87f9 100644 --- a/src/events/giveawayEdit.ts +++ b/src/events/giveawayEdit.ts @@ -7,7 +7,7 @@ export default new GiveawaysEventHandler({ name: "giveawayEdit", version: "1.0.0", description: "This event is fired when a giveaway was edited", - listener: async function(newer, old) { + listener: async function(old, newer) { const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayEdit") if (commands?.length) { diff --git a/src/events/giveawayEntryAdd.ts b/src/events/giveawayEntryAdd.ts index 6faebaa..50a3708 100644 --- a/src/events/giveawayEntryAdd.ts +++ b/src/events/giveawayEntryAdd.ts @@ -7,7 +7,7 @@ export default new GiveawaysEventHandler({ name: "giveawayEntryAdd", version: "1.0.0", description: "This event is fired when a giveaway entry is added", - listener: async function(newer, old) { + listener: async function(old, newer) { const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayEntryAdd") if (commands?.length) { diff --git a/src/events/giveawayEntryRemove.ts b/src/events/giveawayEntryRemove.ts index f8604e3..c85719a 100644 --- a/src/events/giveawayEntryRemove.ts +++ b/src/events/giveawayEntryRemove.ts @@ -7,7 +7,7 @@ export default new GiveawaysEventHandler({ name: "giveawayEntryRemove", version: "1.0.0", description: "This event is fired when a giveaway entry is removed", - listener: async function(newer, old) { + listener: async function(old, newer) { const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayEntryRemove") if (commands?.length) { diff --git a/src/events/giveawayReroll.ts b/src/events/giveawayReroll.ts index 265d792..b84a137 100644 --- a/src/events/giveawayReroll.ts +++ b/src/events/giveawayReroll.ts @@ -7,7 +7,7 @@ export default new GiveawaysEventHandler({ name: "giveawayReroll", version: "1.0.0", description: "This event is fired when a giveaway was rerolled", - listener: async function(newer, old) { + listener: async function(old, newer) { const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayReroll") if (commands?.length) { diff --git a/src/managers/GiveawaysInteractionManager.ts b/src/managers/GiveawaysInteractionManager.ts index 5e7d209..b304ebd 100644 --- a/src/managers/GiveawaysInteractionManager.ts +++ b/src/managers/GiveawaysInteractionManager.ts @@ -24,10 +24,10 @@ export class GiveawaysInteractionManager { if (entered) { giveaway.removeEntry(member.id) - client.emitter.emit("giveawayEntryRemove", giveaway, oldGiveaway) + client.emitter.emit("giveawayEntryRemove", oldGiveaway, giveaway) } else { giveaway.addEntry(member.id) - client.emitter.emit("giveawayEntryAdd", giveaway, oldGiveaway) + client.emitter.emit("giveawayEntryAdd", oldGiveaway, giveaway) } interaction.reply({ diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 77820c1..b239eee 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -154,7 +154,7 @@ export class GiveawaysManager { doNotSend: true, }) - this.emitter.emit("giveawayReroll", giveaway, oldGiveaway) + this.emitter.emit("giveawayReroll", oldGiveaway, giveaway) return giveaway } From 46d18cf97c63ebaa89feae6ac4fcf5fa80f1bc37 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Fri, 17 Oct 2025 15:00:22 +0200 Subject: [PATCH 23/87] Clone giveaways before modifying --- dist/managers/GiveawaysInteractionManager.js | 2 +- dist/managers/GiveawaysInteractionManager.js.map | 2 +- dist/managers/GiveawaysManager.js | 2 +- dist/managers/GiveawaysManager.js.map | 2 +- dist/structures/Giveaway.d.ts | 5 +++++ dist/structures/Giveaway.d.ts.map | 2 +- dist/structures/Giveaway.js | 7 +++++++ dist/structures/Giveaway.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/classes/GiveawaysCommandManager.html | 4 ++-- docs/classes/GiveawaysEventHandler.html | 4 ++-- docs/classes/GiveawaysManager.html | 14 +++++++------- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- docs/interfaces/IGiveawayEvents.html | 4 ++-- docs/interfaces/IGiveawayStartOptions.html | 4 ++-- src/managers/GiveawaysInteractionManager.ts | 2 +- src/managers/GiveawaysManager.ts | 2 +- src/structures/Giveaway.ts | 8 ++++++++ 18 files changed, 48 insertions(+), 28 deletions(-) diff --git a/dist/managers/GiveawaysInteractionManager.js b/dist/managers/GiveawaysInteractionManager.js index 5bef254..b08d6f3 100644 --- a/dist/managers/GiveawaysInteractionManager.js +++ b/dist/managers/GiveawaysInteractionManager.js @@ -21,7 +21,7 @@ class GiveawaysInteractionManager { const member = interaction.member; if (!(member instanceof discord_js_1.GuildMember && giveaway.canEnter(member))) return; - const oldGiveaway = giveaway; + const oldGiveaway = giveaway.clone(); const entered = giveaway.hasEntered(member.id); if (entered) { giveaway.removeEntry(member.id); diff --git a/dist/managers/GiveawaysInteractionManager.js.map b/dist/managers/GiveawaysInteractionManager.js.map index 8443498..566bfb7 100644 --- a/dist/managers/GiveawaysInteractionManager.js.map +++ b/dist/managers/GiveawaysInteractionManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AACtD,0BAAmC;AAEnC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,SAAS;QACb,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAM;YACzF,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChD,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM,YAAY,wBAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAM;YAEzE,MAAM,WAAW,GAAG,QAAQ,CAAA;YAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE9C,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC/B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClE,CAAC;YAED,WAAW,CAAC,KAAK,CAAC;gBACd,OAAO,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB;gBAC9E,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAlCD,kEAkCC"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AACtD,0BAAmC;AAEnC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,SAAS;QACb,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAM;YACzF,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChD,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM,YAAY,wBAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAM;YAEzE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE9C,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC/B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClE,CAAC;YAED,WAAW,CAAC,KAAK,CAAC;gBACd,OAAO,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB;gBAC9E,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAlCD,kEAkCC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index c2d12fb..6905552 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -110,7 +110,7 @@ class GiveawaysManager { const giveaway = this.get(id); if (!giveaway || !giveaway.hasEnded()) return null; - const oldGiveaway = giveaway; + const oldGiveaway = giveaway.clone(); const eligibleEntries = giveaway.entries.filter((e) => !giveaway.winners.includes(e)); const newWinners = this._pickWinners(eligibleEntries, giveaway.winnersCount); giveaway.winners = newWinners; diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 82b4c86..5a39fa3 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/structures/Giveaway.d.ts b/dist/structures/Giveaway.d.ts index 45a1a28..d176a2f 100644 --- a/dist/structures/Giveaway.d.ts +++ b/dist/structures/Giveaway.d.ts @@ -83,5 +83,10 @@ export declare class Giveaway implements IGiveaway { * @returns */ canEnter(member: GuildMember): boolean; + /** + * Clones this giveaway. + * @returns + */ + clone(): this; } //# sourceMappingURL=Giveaway.d.ts.map \ No newline at end of file diff --git a/dist/structures/Giveaway.d.ts.map b/dist/structures/Giveaway.d.ts.map index 045ce35..385123d 100644 --- a/dist/structures/Giveaway.d.ts.map +++ b/dist/structures/Giveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,QAAS,YAAW,SAAS;IACtC;;OAEG;IACI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IACI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IACI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IACI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IACI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IACI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IACI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IACI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,EAAE,qBAAqB,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAa/D;;;OAGG;IACI,QAAQ;IAIf;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;CAQtC"} \ No newline at end of file +{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,QAAS,YAAW,SAAS;IACtC;;OAEG;IACI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IACI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IACI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IACI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IACI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IACI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IACI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IACI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,EAAE,qBAAqB,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAa/D;;;OAGG;IACI,QAAQ;IAIf;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;IASnC;;;OAGG;IACI,KAAK;CAGf"} \ No newline at end of file diff --git a/dist/structures/Giveaway.js b/dist/structures/Giveaway.js index 93fa027..7be996a 100644 --- a/dist/structures/Giveaway.js +++ b/dist/structures/Giveaway.js @@ -110,6 +110,13 @@ class Giveaway { const notRestrictedMember = !req.restrictedMembers?.includes(member.id); return hasRequiredRoles && noRestrictedRoles && notRestrictedMember; } + /** + * Clones this giveaway. + * @returns + */ + clone() { + return structuredClone(this); + } } exports.Giveaway = Giveaway; //# sourceMappingURL=Giveaway.js.map \ No newline at end of file diff --git a/dist/structures/Giveaway.js.map b/dist/structures/Giveaway.js.map index 8de281d..ffa3e2d 100644 --- a/dist/structures/Giveaway.js.map +++ b/dist/structures/Giveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 84c5e8b..fca12a4 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index c661904..133fcc0 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index c8e6942..b4cbd51 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index e9505b7..1e5fa2b 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,19 +1,19 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Ends an existing giveaway.

    +

Constructors

Methods

  • Ends an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    Parameters

    • id: string

      The id of the giveaway to get.

      -

    Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    +

Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

  • Starts a new giveaway on a guild.

    +

Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index d63e73f..aa9c889 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 45c1efd..a844070 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,7 +1,7 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
+

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 1870f40..de0614c 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
diff --git a/src/managers/GiveawaysInteractionManager.ts b/src/managers/GiveawaysInteractionManager.ts index b304ebd..0408364 100644 --- a/src/managers/GiveawaysInteractionManager.ts +++ b/src/managers/GiveawaysInteractionManager.ts @@ -19,7 +19,7 @@ export class GiveawaysInteractionManager { const member = interaction.member if (!(member instanceof GuildMember && giveaway.canEnter(member))) return - const oldGiveaway = giveaway + const oldGiveaway = giveaway.clone() const entered = giveaway.hasEntered(member.id) if (entered) { diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index b239eee..7742a2e 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -141,7 +141,7 @@ export class GiveawaysManager { public async reroll(ctx: Context, id: Snowflake) { const giveaway = this.get(id) if (!giveaway || !giveaway.hasEnded()) return null - const oldGiveaway = giveaway + const oldGiveaway = giveaway.clone() const eligibleEntries = giveaway.entries.filter((e) => !giveaway.winners.includes(e)) const newWinners = this._pickWinners(eligibleEntries, giveaway.winnersCount) diff --git a/src/structures/Giveaway.ts b/src/structures/Giveaway.ts index 2df37f3..a32fd73 100644 --- a/src/structures/Giveaway.ts +++ b/src/structures/Giveaway.ts @@ -129,4 +129,12 @@ export class Giveaway implements IGiveaway { const notRestrictedMember = !req.restrictedMembers?.includes(member.id) return hasRequiredRoles && noRestrictedRoles && notRestrictedMember } + + /** + * Clones this giveaway. + * @returns + */ + public clone() { + return structuredClone(this) + } } \ No newline at end of file From 79b6a9a9ecc920211d9d7adc30b50ad098f34d9b Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Fri, 17 Oct 2025 15:12:40 +0200 Subject: [PATCH 24/87] Fix giveaways not auto ending --- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 5 +++-- dist/managers/GiveawaysManager.js.map | 2 +- dist/structures/Giveaway.d.ts | 10 +++++----- dist/structures/Giveaway.d.ts.map | 2 +- dist/structures/Giveaway.js | 12 +++++------- dist/structures/Giveaway.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/classes/GiveawaysCommandManager.html | 4 ++-- docs/classes/GiveawaysEventHandler.html | 4 ++-- docs/classes/GiveawaysManager.html | 14 +++++++------- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- docs/interfaces/IGiveawayEvents.html | 4 ++-- docs/interfaces/IGiveawayStartOptions.html | 4 ++-- src/managers/GiveawaysManager.ts | 5 +++-- src/structures/Giveaway.ts | 15 +++++++-------- 16 files changed, 47 insertions(+), 48 deletions(-) diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 79615a1..52299dc 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAgD,UAAU,EAAgB,SAAS,EAAqB,MAAM,YAAY,CAAA;AACjI,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;OAIG;IACI,GAAG,CAAC,EAAE,EAAE,SAAS;IAIxB;;;OAGG;IACI,MAAM;IAIb;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA8C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IA8B5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,YAAY;CAIvB"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAgD,UAAU,EAAgB,SAAS,EAAqB,MAAM,YAAY,CAAA;AACjI,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;OAIG;IACI,GAAG,CAAC,EAAE,EAAE,SAAS;IAIxB;;;OAGG;IACI,MAAM;IAIb;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA8C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IA+B5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,YAAY;CAIvB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 6905552..b61b54a 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -76,8 +76,9 @@ class GiveawaysManager { */ async end(ctx, id) { const giveaway = this.get(id); - if (!giveaway || giveaway.hasEnded()) + if (!giveaway || giveaway.hasEnded) return null; + giveaway.hasEnded = true; const guild = ctx.client.guilds.cache.get(giveaway.guildID); const eligibleEntries = giveaway.entries.filter((e) => { const member = guild?.members.cache.get(e); @@ -108,7 +109,7 @@ class GiveawaysManager { */ async reroll(ctx, id) { const giveaway = this.get(id); - if (!giveaway || !giveaway.hasEnded()) + if (!giveaway || !giveaway.hasEnded) return null; const oldGiveaway = giveaway.clone(); const eligibleEntries = giveaway.entries.filter((e) => !giveaway.winners.includes(e)); diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 5a39fa3..a60f65a 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/structures/Giveaway.d.ts b/dist/structures/Giveaway.d.ts index d176a2f..447117a 100644 --- a/dist/structures/Giveaway.d.ts +++ b/dist/structures/Giveaway.d.ts @@ -2,6 +2,7 @@ import { GuildMember, Snowflake } from "discord.js"; import { IGiveawayStartOptions } from "../managers/GiveawaysManager"; export interface IGiveaway extends IGiveawayStartOptions { id: Snowflake; + hasEnded: boolean; messageID?: Snowflake; entries: Snowflake[]; winners: Snowflake[]; @@ -43,6 +44,10 @@ export declare class Giveaway implements IGiveaway { * The randomly selected winners of this giveaway. */ winners: Snowflake[]; + /** + * Returns whether this giveaway has ended. + */ + hasEnded: boolean; /** * The requirements all participants have to meet for entering this giveaway. */ @@ -54,11 +59,6 @@ export declare class Giveaway implements IGiveaway { constructor(options: IGiveawayStartOptions & { id?: Snowflake; }); - /** - * Returns whether this giveaway has ended. - * @returns - */ - hasEnded(): boolean; /** * Returns whether a user has entered this giveaway. * @param userID The user to check for. diff --git a/dist/structures/Giveaway.d.ts.map b/dist/structures/Giveaway.d.ts.map index 385123d..accb0a8 100644 --- a/dist/structures/Giveaway.d.ts.map +++ b/dist/structures/Giveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,QAAS,YAAW,SAAS;IACtC;;OAEG;IACI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IACI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IACI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IACI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IACI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IACI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IACI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IACI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,EAAE,qBAAqB,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAa/D;;;OAGG;IACI,QAAQ;IAIf;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;IASnC;;;OAGG;IACI,KAAK;CAGf"} \ No newline at end of file +{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,QAAS,YAAW,SAAS;IACtC;;OAEG;IACI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IACI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IACI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IACI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IACI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IACI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IACI,QAAQ,EAAE,OAAO,CAAA;IAExB;;OAEG;IACI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IACI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,EAAE,qBAAqB,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAc/D;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;IASnC;;;OAGG;IACI,KAAK;CAGf"} \ No newline at end of file diff --git a/dist/structures/Giveaway.js b/dist/structures/Giveaway.js index 7be996a..7c8f167 100644 --- a/dist/structures/Giveaway.js +++ b/dist/structures/Giveaway.js @@ -39,6 +39,10 @@ class Giveaway { * The randomly selected winners of this giveaway. */ winners; + /** + * Returns whether this giveaway has ended. + */ + hasEnded; /** * The requirements all participants have to meet for entering this giveaway. */ @@ -56,16 +60,10 @@ class Giveaway { this.guildID = options.guildID; this.channelID = options.channelID; this.requirements = options.requirements; + this.hasEnded = false; this.entries = []; this.winners = []; } - /** - * Returns whether this giveaway has ended. - * @returns - */ - hasEnded() { - return (Date.now() > discord_js_1.SnowflakeUtil.timestampFrom(this.id) + this.duration); - } /** * Returns whether a user has entered this giveaway. * @param userID The user to check for. diff --git a/dist/structures/Giveaway.js.map b/dist/structures/Giveaway.js.map index ffa3e2d..41dc4d4 100644 --- a/dist/structures/Giveaway.js.map +++ b/dist/structures/Giveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":";;;AAAA,2CAAkE;AAUlE,MAAa,QAAQ;IACjB;;OAEG;IACI,EAAE,CAAW;IAEpB;;OAEG;IACI,KAAK,CAAQ;IAEpB;;OAEG;IACI,QAAQ,CAAQ;IAEvB;;OAEG;IACI,YAAY,CAAQ;IAE3B;;OAEG;IACI,MAAM,CAAW;IAExB;;OAEG;IACI,OAAO,CAAW;IAEzB;;OAEG;IACI,SAAS,CAAW;IAE3B;;OAEG;IACI,OAAO,CAAa;IAE3B;;OAEG;IACI,OAAO,CAAa;IAE3B;;OAEG;IACI,YAAY,CAAwC;IAE3D;;OAEG;IACI,SAAS,CAAY;IAE5B,YAAY,OAAmD;QAC3D,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,0BAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAA;QAC3D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IACrB,CAAC;IAED;;;OAGG;IACI,QAAQ;QACX,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,0BAAa,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC9E,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,MAAiB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,MAAiB;QAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAA;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzB,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,MAAiB;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAA;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;QACvD,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,MAAmB;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAA;QAC7B,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QACrB,MAAM,gBAAgB,GAAG,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QACzF,MAAM,iBAAiB,GAAG,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QAC7F,MAAM,mBAAmB,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACvE,OAAO,gBAAgB,IAAI,iBAAiB,IAAI,mBAAmB,CAAA;IACvE,CAAC;IAED;;;OAGG;IACI,KAAK;QACR,OAAO,eAAe,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACJ;AAjID,4BAiIC"} \ No newline at end of file +{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index fca12a4..0559227 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 133fcc0..f2f6cf7 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index b4cbd51..a461849 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 1e5fa2b..a44ccff 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,19 +1,19 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Ends an existing giveaway.

    +

Constructors

Methods

  • Ends an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    Parameters

    • id: string

      The id of the giveaway to get.

      -

    Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    +

Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

  • Starts a new giveaway on a guild.

    +

Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index aa9c889..a2e6d18 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index a844070..3558c6a 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,7 +1,7 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
+

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index de0614c..2174a31 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 7742a2e..5e9b2b0 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -104,7 +104,8 @@ export class GiveawaysManager { */ public async end(ctx: Context, id: Snowflake) { const giveaway = this.get(id) - if (!giveaway || giveaway.hasEnded()) return null + if (!giveaway || giveaway.hasEnded) return null + giveaway.hasEnded = true const guild = ctx.client.guilds.cache.get(giveaway.guildID) const eligibleEntries = giveaway.entries.filter((e) => { @@ -140,7 +141,7 @@ export class GiveawaysManager { */ public async reroll(ctx: Context, id: Snowflake) { const giveaway = this.get(id) - if (!giveaway || !giveaway.hasEnded()) return null + if (!giveaway || !giveaway.hasEnded) return null const oldGiveaway = giveaway.clone() const eligibleEntries = giveaway.entries.filter((e) => !giveaway.winners.includes(e)) diff --git a/src/structures/Giveaway.ts b/src/structures/Giveaway.ts index a32fd73..d55a9d8 100644 --- a/src/structures/Giveaway.ts +++ b/src/structures/Giveaway.ts @@ -3,6 +3,7 @@ import { IGiveawayStartOptions } from "../managers/GiveawaysManager" export interface IGiveaway extends IGiveawayStartOptions { id: Snowflake + hasEnded: boolean messageID?: Snowflake entries: Snowflake[] winners: Snowflake[] @@ -54,6 +55,11 @@ export class Giveaway implements IGiveaway { */ public winners: Snowflake[] + /** + * Returns whether this giveaway has ended. + */ + public hasEnded: boolean + /** * The requirements all participants have to meet for entering this giveaway. */ @@ -73,18 +79,11 @@ export class Giveaway implements IGiveaway { this.guildID = options.guildID this.channelID = options.channelID this.requirements = options.requirements + this.hasEnded = false this.entries = [] this.winners = [] } - /** - * Returns whether this giveaway has ended. - * @returns - */ - public hasEnded() { - return (Date.now() > SnowflakeUtil.timestampFrom(this.id) + this.duration) - } - /** * Returns whether a user has entered this giveaway. * @param userID The user to check for. From 6f8c8f30ab9255af665b093b430f337c3fc642c1 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Fri, 17 Oct 2025 18:06:29 +0200 Subject: [PATCH 25/87] Add requirements and more stuff --- dist/functions/getGiveaway.d.ts | 2 +- dist/functions/getGiveaway.d.ts.map | 2 +- dist/functions/getGiveaway.js | 2 +- dist/functions/getGiveaway.js.map | 2 +- dist/managers/GiveawaysDatabaseManager.d.ts | 5 + .../GiveawaysDatabaseManager.d.ts.map | 1 + dist/managers/GiveawaysDatabaseManager.js | 11 + dist/managers/GiveawaysDatabaseManager.js.map | 1 + dist/managers/GiveawaysManager.d.ts | 8 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js.map | 2 +- dist/managers/index.d.ts | 2 + dist/managers/index.d.ts.map | 2 +- dist/managers/index.js | 2 + dist/managers/index.js.map | 2 +- dist/native/giveawayChannelID.js | 2 +- dist/native/giveawayChannelID.js.map | 2 +- dist/native/giveawayDuration.js | 2 +- dist/native/giveawayDuration.js.map | 2 +- dist/native/giveawayEntries.js | 2 +- dist/native/giveawayEntries.js.map | 2 +- dist/native/giveawayGuildID.js | 2 +- dist/native/giveawayGuildID.js.map | 2 +- dist/native/giveawayHasEnded.d.ts | 10 + dist/native/giveawayHasEnded.d.ts.map | 1 + dist/native/giveawayHasEnded.js | 28 ++ dist/native/giveawayHasEnded.js.map | 1 + dist/native/giveawayHostID.js | 2 +- dist/native/giveawayHostID.js.map | 2 +- dist/native/giveawayMessageID.js | 2 +- dist/native/giveawayMessageID.js.map | 2 +- dist/native/giveawayPrize.js | 2 +- dist/native/giveawayPrize.js.map | 2 +- dist/native/giveawayRequiredRoles.js | 2 +- dist/native/giveawayRequiredRoles.js.map | 2 +- dist/native/giveawayRestrictedMembers.js | 2 +- dist/native/giveawayRestrictedMembers.js.map | 2 +- dist/native/giveawayRestrictedRoles.js | 2 +- dist/native/giveawayRestrictedRoles.js.map | 2 +- dist/native/giveawayWinners.js | 2 +- dist/native/giveawayWinners.js.map | 2 +- dist/native/giveawayWinnersCount.js | 2 +- dist/native/giveawayWinnersCount.js.map | 2 +- dist/native/manage/setRequiredRoles.d.ts | 10 + dist/native/manage/setRequiredRoles.d.ts.map | 1 + dist/native/manage/setRequiredRoles.js | 23 ++ dist/native/manage/setRequiredRoles.js.map | 1 + dist/native/manage/setRestrictedMembers.d.ts | 10 + .../manage/setRestrictedMembers.d.ts.map | 1 + dist/native/manage/setRestrictedMembers.js | 23 ++ .../native/manage/setRestrictedMembers.js.map | 1 + dist/native/manage/setRestrictedRoles.d.ts | 10 + .../native/manage/setRestrictedRoles.d.ts.map | 1 + dist/native/manage/setRestrictedRoles.js | 23 ++ dist/native/manage/setRestrictedRoles.js.map | 1 + dist/native/manage/startGiveaway.d.ts.map | 2 +- dist/native/manage/startGiveaway.js | 3 +- dist/native/manage/startGiveaway.js.map | 2 +- dist/properties/giveaway.d.ts | 1 + dist/properties/giveaway.d.ts.map | 2 +- dist/properties/giveaway.js | 2 + dist/properties/giveaway.js.map | 2 +- dist/structures/Context.d.ts | 8 + dist/structures/Context.d.ts.map | 2 +- dist/structures/Context.js | 1 + dist/structures/Context.js.map | 2 +- dist/structures/Giveaway.d.ts | 8 +- dist/structures/Giveaway.d.ts.map | 2 +- dist/structures/Giveaway.js | 74 +++- dist/structures/Giveaway.js.map | 2 +- docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/ForgeGiveaways.html | 6 +- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 7 + docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionManager.html | 2 + docs/classes/GiveawaysManager.html | 14 +- docs/interfaces/IForgeGiveawaysOptions.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/modules.html | 2 + metadata/enums.json | 2 +- metadata/functions.json | 2 +- package-lock.json | 390 +----------------- package.json | 6 +- src/functions/getGiveaway.ts | 2 +- src/managers/DatabaseManager.ts | 1 - src/managers/GiveawaysDatabaseManager.ts | 7 + src/managers/GiveawaysManager.ts | 8 +- src/managers/index.ts | 2 + src/native/giveawayChannelID.ts | 2 +- src/native/giveawayDuration.ts | 2 +- src/native/giveawayEntries.ts | 2 +- src/native/giveawayGuildID.ts | 2 +- src/native/giveawayHasEnded.ts | 24 ++ src/native/giveawayHostID.ts | 2 +- src/native/giveawayMessageID.ts | 2 +- src/native/giveawayPrize.ts | 2 +- src/native/giveawayRequiredRoles.ts | 2 +- src/native/giveawayRestrictedMembers.ts | 2 +- src/native/giveawayRestrictedRoles.ts | 2 +- src/native/giveawayWinners.ts | 2 +- src/native/giveawayWinnersCount.ts | 2 +- src/native/manage/setRequiredRoles.ts | 22 + src/native/manage/setRestrictedMembers.ts | 22 + src/native/manage/setRestrictedRoles.ts | 22 + src/native/manage/startGiveaway.ts | 3 +- src/properties/giveaway.ts | 2 + src/structures/Context.ts | 10 + src/structures/Giveaway.ts | 24 +- 111 files changed, 484 insertions(+), 496 deletions(-) create mode 100644 dist/managers/GiveawaysDatabaseManager.d.ts create mode 100644 dist/managers/GiveawaysDatabaseManager.d.ts.map create mode 100644 dist/managers/GiveawaysDatabaseManager.js create mode 100644 dist/managers/GiveawaysDatabaseManager.js.map create mode 100644 dist/native/giveawayHasEnded.d.ts create mode 100644 dist/native/giveawayHasEnded.d.ts.map create mode 100644 dist/native/giveawayHasEnded.js create mode 100644 dist/native/giveawayHasEnded.js.map create mode 100644 dist/native/manage/setRequiredRoles.d.ts create mode 100644 dist/native/manage/setRequiredRoles.d.ts.map create mode 100644 dist/native/manage/setRequiredRoles.js create mode 100644 dist/native/manage/setRequiredRoles.js.map create mode 100644 dist/native/manage/setRestrictedMembers.d.ts create mode 100644 dist/native/manage/setRestrictedMembers.d.ts.map create mode 100644 dist/native/manage/setRestrictedMembers.js create mode 100644 dist/native/manage/setRestrictedMembers.js.map create mode 100644 dist/native/manage/setRestrictedRoles.d.ts create mode 100644 dist/native/manage/setRestrictedRoles.d.ts.map create mode 100644 dist/native/manage/setRestrictedRoles.js create mode 100644 dist/native/manage/setRestrictedRoles.js.map create mode 100644 docs/classes/GiveawaysDatabaseManager.html create mode 100644 docs/classes/GiveawaysInteractionManager.html delete mode 100644 src/managers/DatabaseManager.ts create mode 100644 src/managers/GiveawaysDatabaseManager.ts create mode 100644 src/native/giveawayHasEnded.ts create mode 100644 src/native/manage/setRequiredRoles.ts create mode 100644 src/native/manage/setRestrictedMembers.ts create mode 100644 src/native/manage/setRestrictedRoles.ts diff --git a/dist/functions/getGiveaway.d.ts b/dist/functions/getGiveaway.d.ts index 77b64aa..d720599 100644 --- a/dist/functions/getGiveaway.d.ts +++ b/dist/functions/getGiveaway.d.ts @@ -1,3 +1,3 @@ import { Context } from "@tryforge/forgescript"; -export default function (ctx: Context, id: string): import("../structures").Giveaway | null | undefined; +export default function (ctx: Context, id: string): import("../structures").Giveaway | undefined; //# sourceMappingURL=getGiveaway.d.ts.map \ No newline at end of file diff --git a/dist/functions/getGiveaway.d.ts.map b/dist/functions/getGiveaway.d.ts.map index 0f857d7..b192397 100644 --- a/dist/functions/getGiveaway.d.ts.map +++ b/dist/functions/getGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"getGiveaway.d.ts","sourceRoot":"","sources":["../../src/functions/getGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG/C,MAAM,CAAC,OAAO,WAAU,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,uDAE/C"} \ No newline at end of file +{"version":3,"file":"getGiveaway.d.ts","sourceRoot":"","sources":["../../src/functions/getGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG/C,MAAM,CAAC,OAAO,WAAU,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,gDAE/C"} \ No newline at end of file diff --git a/dist/functions/getGiveaway.js b/dist/functions/getGiveaway.js index 5483bd1..75abac7 100644 --- a/dist/functions/getGiveaway.js +++ b/dist/functions/getGiveaway.js @@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.default = default_1; const __1 = require(".."); function default_1(ctx, id) { - return (ctx.client.getExtension(__1.ForgeGiveaways, true).giveawaysManager.get(id) ?? ctx.giveaway); + return ctx.client.getExtension(__1.ForgeGiveaways, true).giveawaysManager.get(id); } //# sourceMappingURL=getGiveaway.js.map \ No newline at end of file diff --git a/dist/functions/getGiveaway.js.map b/dist/functions/getGiveaway.js.map index 716d9f2..96bcc2a 100644 --- a/dist/functions/getGiveaway.js.map +++ b/dist/functions/getGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"getGiveaway.js","sourceRoot":"","sources":["../../src/functions/getGiveaway.ts"],"names":[],"mappings":";;AAGA,4BAEC;AAJD,0BAAmC;AAEnC,mBAAwB,GAAY,EAAE,EAAU;IAC5C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;AACnG,CAAC"} \ No newline at end of file +{"version":3,"file":"getGiveaway.js","sourceRoot":"","sources":["../../src/functions/getGiveaway.ts"],"names":[],"mappings":";;AAGA,4BAEC;AAJD,0BAAmC;AAEnC,mBAAwB,GAAY,EAAE,EAAU;IAC5C,OAAO,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACjF,CAAC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysDatabaseManager.d.ts b/dist/managers/GiveawaysDatabaseManager.d.ts new file mode 100644 index 0000000..2bfd7a1 --- /dev/null +++ b/dist/managers/GiveawaysDatabaseManager.d.ts @@ -0,0 +1,5 @@ +import { DataBaseManager } from "@tryforge/forge.db"; +export declare abstract class GiveawaysDatabaseManager extends DataBaseManager { + constructor(); +} +//# sourceMappingURL=GiveawaysDatabaseManager.d.ts.map \ No newline at end of file diff --git a/dist/managers/GiveawaysDatabaseManager.d.ts.map b/dist/managers/GiveawaysDatabaseManager.d.ts.map new file mode 100644 index 0000000..e1519ed --- /dev/null +++ b/dist/managers/GiveawaysDatabaseManager.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"GiveawaysDatabaseManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysDatabaseManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,8BAAsB,wBAAyB,SAAQ,eAAe;;CAIrE"} \ No newline at end of file diff --git a/dist/managers/GiveawaysDatabaseManager.js b/dist/managers/GiveawaysDatabaseManager.js new file mode 100644 index 0000000..ea4eedb --- /dev/null +++ b/dist/managers/GiveawaysDatabaseManager.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GiveawaysDatabaseManager = void 0; +const forge_db_1 = require("@tryforge/forge.db"); +class GiveawaysDatabaseManager extends forge_db_1.DataBaseManager { + constructor() { + super(); + } +} +exports.GiveawaysDatabaseManager = GiveawaysDatabaseManager; +//# sourceMappingURL=GiveawaysDatabaseManager.js.map \ No newline at end of file diff --git a/dist/managers/GiveawaysDatabaseManager.js.map b/dist/managers/GiveawaysDatabaseManager.js.map new file mode 100644 index 0000000..96bf7e5 --- /dev/null +++ b/dist/managers/GiveawaysDatabaseManager.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GiveawaysDatabaseManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysDatabaseManager.ts"],"names":[],"mappings":";;;AAAA,iDAAoD;AAEpD,MAAsB,wBAAyB,SAAQ,0BAAe;IAClE;QACI,KAAK,EAAE,CAAA;IACX,CAAC;CACJ;AAJD,4DAIC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index 8546af4..8236684 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -3,7 +3,7 @@ import { Collection, Snowflake } from "discord.js"; import { ForgeGiveaways, IGiveawayEvents } from ".."; import { TypedEmitter } from "tiny-typed-emitter"; import { TransformEvents } from "@tryforge/forge.db"; -import { Giveaway } from "../structures"; +import { Giveaway, IGiveawayRequirements } from "../structures"; export interface IGiveawayStartOptions { prize: string; duration: number; @@ -11,11 +11,7 @@ export interface IGiveawayStartOptions { hostID: Snowflake; guildID: Snowflake; channelID: Snowflake; - requirements?: { - requiredRoles?: Snowflake[]; - restrictedRoles?: Snowflake[]; - restrictedMembers?: Snowflake[]; - }; + requirements?: IGiveawayRequirements; } export declare class GiveawaysManager { private readonly client; diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 52299dc..aebeefa 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAgD,UAAU,EAAgB,SAAS,EAAqB,MAAM,YAAY,CAAA;AACjI,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;QAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;KAClC,CAAA;CACJ;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;OAIG;IACI,GAAG,CAAC,EAAE,EAAE,SAAS;IAIxB;;;OAGG;IACI,MAAM;IAIb;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA8C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IA+B5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,YAAY;CAIvB"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAgD,UAAU,EAAgB,SAAS,EAAqB,MAAM,YAAY,CAAA;AACjI,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;OAIG;IACI,GAAG,CAAC,EAAE,EAAE,SAAS;IAIxB;;;OAGG;IACI,MAAM;IAIb;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA8C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IA+B5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,YAAY;CAIvB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index a60f65a..a1bf181 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/managers/index.d.ts b/dist/managers/index.d.ts index 133e190..cb4e935 100644 --- a/dist/managers/index.d.ts +++ b/dist/managers/index.d.ts @@ -1,4 +1,6 @@ export * from "./GiveawaysCommandManager"; +export * from "./GiveawaysDatabaseManager"; export * from "./GiveawaysEventManager"; +export * from "./GiveawaysInteractionManager"; export * from "./GiveawaysManager"; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/managers/index.d.ts.map b/dist/managers/index.d.ts.map index 2130360..e73791c 100644 --- a/dist/managers/index.d.ts.map +++ b/dist/managers/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oBAAoB,CAAA"} \ No newline at end of file diff --git a/dist/managers/index.js b/dist/managers/index.js index 9366bbd..8a4d37e 100644 --- a/dist/managers/index.js +++ b/dist/managers/index.js @@ -15,6 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) { }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./GiveawaysCommandManager"), exports); +__exportStar(require("./GiveawaysDatabaseManager"), exports); __exportStar(require("./GiveawaysEventManager"), exports); +__exportStar(require("./GiveawaysInteractionManager"), exports); __exportStar(require("./GiveawaysManager"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/managers/index.js.map b/dist/managers/index.js.map index 56e1da2..da4dc2a 100644 --- a/dist/managers/index.js.map +++ b/dist/managers/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,0DAAuC;AACvC,qDAAkC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,6DAA0C;AAC1C,0DAAuC;AACvC,gEAA6C;AAC7C,qDAAkC"} \ No newline at end of file diff --git a/dist/native/giveawayChannelID.js b/dist/native/giveawayChannelID.js index 2a45f6d..d6196d5 100644 --- a/dist/native/giveawayChannelID.js +++ b/dist/native/giveawayChannelID.js @@ -22,7 +22,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Channel, execute(ctx, [id]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id); + const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.channelID); } }); diff --git a/dist/native/giveawayChannelID.js.map b/dist/native/giveawayChannelID.js.map index 9256325..81a1668 100644 --- a/dist/native/giveawayChannelID.js.map +++ b/dist/native/giveawayChannelID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayChannelID.js","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayChannelID.js","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayDuration.js b/dist/native/giveawayDuration.js index 687d710..c430532 100644 --- a/dist/native/giveawayDuration.js +++ b/dist/native/giveawayDuration.js @@ -22,7 +22,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Number, execute(ctx, [id]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id); + const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.duration); } }); diff --git a/dist/native/giveawayDuration.js.map b/dist/native/giveawayDuration.js.map index db2e28c..a74b260 100644 --- a/dist/native/giveawayDuration.js.map +++ b/dist/native/giveawayDuration.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayDuration.js","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,0CAA0C;IACvD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayDuration.js","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,0CAA0C;IACvD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayEntries.js b/dist/native/giveawayEntries.js index 289b9ed..0908532 100644 --- a/dist/native/giveawayEntries.js +++ b/dist/native/giveawayEntries.js @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), execute(ctx, [id, sep]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id); + const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.entries.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayEntries.js.map b/dist/native/giveawayEntries.js.map index 506bd90..fd263ce 100644 --- a/dist/native/giveawayEntries.js.map +++ b/dist/native/giveawayEntries.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntries.js","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntries.js","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayGuildID.js b/dist/native/giveawayGuildID.js index f35dbb9..b9c081a 100644 --- a/dist/native/giveawayGuildID.js +++ b/dist/native/giveawayGuildID.js @@ -22,7 +22,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Guild, execute(ctx, [id]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id); + const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.guildID); } }); diff --git a/dist/native/giveawayGuildID.js.map b/dist/native/giveawayGuildID.js.map index e7a29b7..28e6198 100644 --- a/dist/native/giveawayGuildID.js.map +++ b/dist/native/giveawayGuildID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayGuildID.js","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,KAAK;IACrB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayGuildID.js","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,KAAK;IACrB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayHasEnded.d.ts b/dist/native/giveawayHasEnded.d.ts new file mode 100644 index 0000000..1e9dee4 --- /dev/null +++ b/dist/native/giveawayHasEnded.d.ts @@ -0,0 +1,10 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=giveawayHasEnded.d.ts.map \ No newline at end of file diff --git a/dist/native/giveawayHasEnded.d.ts.map b/dist/native/giveawayHasEnded.d.ts.map new file mode 100644 index 0000000..d69dfd1 --- /dev/null +++ b/dist/native/giveawayHasEnded.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayHasEnded.d.ts","sourceRoot":"","sources":["../../src/native/giveawayHasEnded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file diff --git a/dist/native/giveawayHasEnded.js b/dist/native/giveawayHasEnded.js new file mode 100644 index 0000000..ccbb5a3 --- /dev/null +++ b/dist/native/giveawayHasEnded.js @@ -0,0 +1,28 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +exports.default = new forgescript_1.NativeFunction({ + name: "$giveawayHasEnded", + description: "Returns whether the giveaway has ended", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + ], + output: forgescript_1.ArgType.Boolean, + execute(ctx, [id]) { + const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + return this.success(giveaway?.hasEnded); + } +}); +//# sourceMappingURL=giveawayHasEnded.js.map \ No newline at end of file diff --git a/dist/native/giveawayHasEnded.js.map b/dist/native/giveawayHasEnded.js.map new file mode 100644 index 0000000..f8efbc7 --- /dev/null +++ b/dist/native/giveawayHasEnded.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayHasEnded.js","sourceRoot":"","sources":["../../src/native/giveawayHasEnded.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayHostID.js b/dist/native/giveawayHostID.js index f7f71d2..6fbb394 100644 --- a/dist/native/giveawayHostID.js +++ b/dist/native/giveawayHostID.js @@ -22,7 +22,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.User, execute(ctx, [id]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id); + const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.hostID); } }); diff --git a/dist/native/giveawayHostID.js.map b/dist/native/giveawayHostID.js.map index 2784434..f41cdf6 100644 --- a/dist/native/giveawayHostID.js.map +++ b/dist/native/giveawayHostID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayHostID.js","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayHostID.js","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayMessageID.js b/dist/native/giveawayMessageID.js index f841d73..0cf3d0d 100644 --- a/dist/native/giveawayMessageID.js +++ b/dist/native/giveawayMessageID.js @@ -22,7 +22,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Message, execute(ctx, [id]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id); + const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.messageID); } }); diff --git a/dist/native/giveawayMessageID.js.map b/dist/native/giveawayMessageID.js.map index 078f08c..23bb0a7 100644 --- a/dist/native/giveawayMessageID.js.map +++ b/dist/native/giveawayMessageID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayMessageID.js","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayMessageID.js","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayPrize.js b/dist/native/giveawayPrize.js index 2030108..f8cbb5d 100644 --- a/dist/native/giveawayPrize.js +++ b/dist/native/giveawayPrize.js @@ -22,7 +22,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.String, execute(ctx, [id]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id); + const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.prize); } }); diff --git a/dist/native/giveawayPrize.js.map b/dist/native/giveawayPrize.js.map index 15891fa..1f4b341 100644 --- a/dist/native/giveawayPrize.js.map +++ b/dist/native/giveawayPrize.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayPrize.js","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,iCAAiC;IAC9C,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayPrize.js","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,iCAAiC;IAC9C,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRequiredRoles.js b/dist/native/giveawayRequiredRoles.js index 7ea6d2c..56feca2 100644 --- a/dist/native/giveawayRequiredRoles.js +++ b/dist/native/giveawayRequiredRoles.js @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), execute(ctx, [id, sep]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id); + const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.requirements?.requiredRoles?.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayRequiredRoles.js.map b/dist/native/giveawayRequiredRoles.js.map index d1e7fce..b04d9a1 100644 --- a/dist/native/giveawayRequiredRoles.js.map +++ b/dist/native/giveawayRequiredRoles.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRequiredRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACjF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRequiredRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACjF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedMembers.js b/dist/native/giveawayRestrictedMembers.js index 8f31dab..ddfc952 100644 --- a/dist/native/giveawayRestrictedMembers.js +++ b/dist/native/giveawayRestrictedMembers.js @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), execute(ctx, [id, sep]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id); + const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.requirements?.restrictedMembers?.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayRestrictedMembers.js.map b/dist/native/giveawayRestrictedMembers.js.map index 9ef7543..5433a72 100644 --- a/dist/native/giveawayRestrictedMembers.js.map +++ b/dist/native/giveawayRestrictedMembers.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRestrictedMembers.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAkB;IAC/B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRestrictedMembers.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAkB;IAC/B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedRoles.js b/dist/native/giveawayRestrictedRoles.js index 969a2de..c90b533 100644 --- a/dist/native/giveawayRestrictedRoles.js +++ b/dist/native/giveawayRestrictedRoles.js @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), execute(ctx, [id, sep]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id); + const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.requirements?.restrictedRoles?.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayRestrictedRoles.js.map b/dist/native/giveawayRestrictedRoles.js.map index 4be9e7f..ac682a0 100644 --- a/dist/native/giveawayRestrictedRoles.js.map +++ b/dist/native/giveawayRestrictedRoles.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRestrictedRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACnF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRestrictedRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACnF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinners.js b/dist/native/giveawayWinners.js index e80b114..33528dd 100644 --- a/dist/native/giveawayWinners.js +++ b/dist/native/giveawayWinners.js @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), execute(ctx, [id, sep]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id); + const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.winners.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayWinners.js.map b/dist/native/giveawayWinners.js.map index 3d31fd6..19f9924 100644 --- a/dist/native/giveawayWinners.js.map +++ b/dist/native/giveawayWinners.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayWinners.js","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayWinners.js","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinnersCount.js b/dist/native/giveawayWinnersCount.js index 7ef53c6..3e4660f 100644 --- a/dist/native/giveawayWinnersCount.js +++ b/dist/native/giveawayWinnersCount.js @@ -22,7 +22,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Number, execute(ctx, [id]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id); + const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.winnersCount); } }); diff --git a/dist/native/giveawayWinnersCount.js.map b/dist/native/giveawayWinnersCount.js.map index 097054f..b845c1b 100644 --- a/dist/native/giveawayWinnersCount.js.map +++ b/dist/native/giveawayWinnersCount.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayWinnersCount.js","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayWinnersCount.js","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/setRequiredRoles.d.ts b/dist/native/manage/setRequiredRoles.d.ts new file mode 100644 index 0000000..27fb3cd --- /dev/null +++ b/dist/native/manage/setRequiredRoles.d.ts @@ -0,0 +1,10 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: true; + required: true; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=setRequiredRoles.d.ts.map \ No newline at end of file diff --git a/dist/native/manage/setRequiredRoles.d.ts.map b/dist/native/manage/setRequiredRoles.d.ts.map new file mode 100644 index 0000000..488302a --- /dev/null +++ b/dist/native/manage/setRequiredRoles.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"setRequiredRoles.d.ts","sourceRoot":"","sources":["../../../src/native/manage/setRequiredRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAE/D,wBAkBE"} \ No newline at end of file diff --git a/dist/native/manage/setRequiredRoles.js b/dist/native/manage/setRequiredRoles.js new file mode 100644 index 0000000..1f1ee36 --- /dev/null +++ b/dist/native/manage/setRequiredRoles.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +exports.default = new forgescript_1.NativeFunction({ + name: "$setRequiredRoles", + description: "Sets the required roles for current giveaway", + unwrap: true, + brackets: true, + args: [ + { + name: "roles", + description: "The roles to add as requirement", + rest: true, + required: true, + type: forgescript_1.ArgType.String, + }, + ], + execute(ctx, [roles]) { + ctx.requirements.requiredRoles = roles; + return this.success(); + } +}); +//# sourceMappingURL=setRequiredRoles.js.map \ No newline at end of file diff --git a/dist/native/manage/setRequiredRoles.js.map b/dist/native/manage/setRequiredRoles.js.map new file mode 100644 index 0000000..7f68b2b --- /dev/null +++ b/dist/native/manage/setRequiredRoles.js.map @@ -0,0 +1 @@ +{"version":3,"file":"setRequiredRoles.js","sourceRoot":"","sources":["../../../src/native/manage/setRequiredRoles.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,8CAA8C;IAC3D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAChB,GAAG,CAAC,YAAY,CAAC,aAAa,GAAG,KAAK,CAAA;QACtC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/setRestrictedMembers.d.ts b/dist/native/manage/setRestrictedMembers.d.ts new file mode 100644 index 0000000..8b20c3e --- /dev/null +++ b/dist/native/manage/setRestrictedMembers.d.ts @@ -0,0 +1,10 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: true; + required: true; + type: ArgType.User; +}], true>; +export default _default; +//# sourceMappingURL=setRestrictedMembers.d.ts.map \ No newline at end of file diff --git a/dist/native/manage/setRestrictedMembers.d.ts.map b/dist/native/manage/setRestrictedMembers.d.ts.map new file mode 100644 index 0000000..d4f2800 --- /dev/null +++ b/dist/native/manage/setRestrictedMembers.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"setRestrictedMembers.d.ts","sourceRoot":"","sources":["../../../src/native/manage/setRestrictedMembers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAE/D,wBAkBE"} \ No newline at end of file diff --git a/dist/native/manage/setRestrictedMembers.js b/dist/native/manage/setRestrictedMembers.js new file mode 100644 index 0000000..6254c5d --- /dev/null +++ b/dist/native/manage/setRestrictedMembers.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +exports.default = new forgescript_1.NativeFunction({ + name: "$setRestrictedMembers", + description: "Sets the restricted members for current giveaway", + unwrap: true, + brackets: true, + args: [ + { + name: "members", + description: "The members to add as restriction", + rest: true, + required: true, + type: forgescript_1.ArgType.User, + }, + ], + execute(ctx, [members]) { + ctx.requirements.restrictedMembers = members.map((x) => x.id); + return this.success(); + } +}); +//# sourceMappingURL=setRestrictedMembers.js.map \ No newline at end of file diff --git a/dist/native/manage/setRestrictedMembers.js.map b/dist/native/manage/setRestrictedMembers.js.map new file mode 100644 index 0000000..102390a --- /dev/null +++ b/dist/native/manage/setRestrictedMembers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"setRestrictedMembers.js","sourceRoot":"","sources":["../../../src/native/manage/setRestrictedMembers.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,kDAAkD;IAC/D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,mCAAmC;YAChD,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;KACJ;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;QAClB,GAAG,CAAC,YAAY,CAAC,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/setRestrictedRoles.d.ts b/dist/native/manage/setRestrictedRoles.d.ts new file mode 100644 index 0000000..e42afb7 --- /dev/null +++ b/dist/native/manage/setRestrictedRoles.d.ts @@ -0,0 +1,10 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: true; + required: true; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=setRestrictedRoles.d.ts.map \ No newline at end of file diff --git a/dist/native/manage/setRestrictedRoles.d.ts.map b/dist/native/manage/setRestrictedRoles.d.ts.map new file mode 100644 index 0000000..4c4ce2a --- /dev/null +++ b/dist/native/manage/setRestrictedRoles.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"setRestrictedRoles.d.ts","sourceRoot":"","sources":["../../../src/native/manage/setRestrictedRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAE/D,wBAkBE"} \ No newline at end of file diff --git a/dist/native/manage/setRestrictedRoles.js b/dist/native/manage/setRestrictedRoles.js new file mode 100644 index 0000000..352fbe1 --- /dev/null +++ b/dist/native/manage/setRestrictedRoles.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +exports.default = new forgescript_1.NativeFunction({ + name: "$setRestrictedRoles", + description: "Sets the restricted roles for current giveaway", + unwrap: true, + brackets: true, + args: [ + { + name: "roles", + description: "The roles to add as restriction", + rest: true, + required: true, + type: forgescript_1.ArgType.String, + }, + ], + execute(ctx, [roles]) { + ctx.requirements.restrictedRoles = roles; + return this.success(); + } +}); +//# sourceMappingURL=setRestrictedRoles.js.map \ No newline at end of file diff --git a/dist/native/manage/setRestrictedRoles.js.map b/dist/native/manage/setRestrictedRoles.js.map new file mode 100644 index 0000000..6d50afd --- /dev/null +++ b/dist/native/manage/setRestrictedRoles.js.map @@ -0,0 +1 @@ +{"version":3,"file":"setRestrictedRoles.js","sourceRoot":"","sources":["../../../src/native/manage/setRestrictedRoles.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,gDAAgD;IAC7D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAChB,GAAG,CAAC,YAAY,CAAC,eAAe,GAAG,KAAK,CAAA;QACxC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/startGiveaway.d.ts.map b/dist/native/manage/startGiveaway.d.ts.map index 78816c2..fdefabd 100644 --- a/dist/native/manage/startGiveaway.d.ts.map +++ b/dist/native/manage/startGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"startGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/manage/startGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;;;;;;;eAgBpC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;AAblC,wBA4DE"} \ No newline at end of file +{"version":3,"file":"startGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/manage/startGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;;;;;;;eAgBpC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;AAblC,wBA6DE"} \ No newline at end of file diff --git a/dist/native/manage/startGiveaway.js b/dist/native/manage/startGiveaway.js index f478dc7..aaef3db 100644 --- a/dist/native/manage/startGiveaway.js +++ b/dist/native/manage/startGiveaway.js @@ -56,7 +56,8 @@ exports.default = new forgescript_1.NativeFunction({ hostID: host.id, duration, prize, - winnersCount: winners || 1 + winnersCount: winners || 1, + requirements: ctx.requirements }); return this.success(giveaway.id); } diff --git a/dist/native/manage/startGiveaway.js.map b/dist/native/manage/startGiveaway.js.map index 9a4c739..66a2fc4 100644 --- a/dist/native/manage/startGiveaway.js.map +++ b/dist/native/manage/startGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE;YACtD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ;YACR,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;SAC7B,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACpC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE;YACtD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ;YACR,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;SACjC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACpC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/properties/giveaway.d.ts b/dist/properties/giveaway.d.ts index 57517d5..551052b 100644 --- a/dist/properties/giveaway.d.ts +++ b/dist/properties/giveaway.d.ts @@ -4,6 +4,7 @@ export declare enum GiveawayProperty { prize = "prize", duration = "duration", winnersCount = "winnersCount", + hasEnded = "hasEnded", hostID = "hostID", guildID = "guildID", channelID = "channelID", diff --git a/dist/properties/giveaway.d.ts.map b/dist/properties/giveaway.d.ts.map index 3be023f..6614eb4 100644 --- a/dist/properties/giveaway.d.ts.map +++ b/dist/properties/giveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveaway.d.ts","sourceRoot":"","sources":["../../src/properties/giveaway.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,oBAAY,gBAAgB;IACxB,EAAE,OAAO;IACT,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;CAC1C;AAED,eAAO,MAAM,kBAAkB,uFAc7B,CAAA"} \ No newline at end of file +{"version":3,"file":"giveaway.d.ts","sourceRoot":"","sources":["../../src/properties/giveaway.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,oBAAY,gBAAgB;IACxB,EAAE,OAAO;IACT,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;CAC1C;AAED,eAAO,MAAM,kBAAkB,uFAe7B,CAAA"} \ No newline at end of file diff --git a/dist/properties/giveaway.js b/dist/properties/giveaway.js index 56b1245..2e031c6 100644 --- a/dist/properties/giveaway.js +++ b/dist/properties/giveaway.js @@ -11,6 +11,7 @@ var GiveawayProperty; GiveawayProperty["prize"] = "prize"; GiveawayProperty["duration"] = "duration"; GiveawayProperty["winnersCount"] = "winnersCount"; + GiveawayProperty["hasEnded"] = "hasEnded"; GiveawayProperty["hostID"] = "hostID"; GiveawayProperty["guildID"] = "guildID"; GiveawayProperty["channelID"] = "channelID"; @@ -26,6 +27,7 @@ exports.GiveawayProperties = (0, defineProperties_1.default)({ prize: (i) => i?.prize, duration: (i) => i?.duration, winnersCount: (i) => i?.winnersCount, + hasEnded: (i) => i?.hasEnded, hostID: (i) => i?.hostID, guildID: (i) => i?.guildID, channelID: (i) => i?.channelID, diff --git a/dist/properties/giveaway.js.map b/dist/properties/giveaway.js.map index 828bde8..3a7c983 100644 --- a/dist/properties/giveaway.js.map +++ b/dist/properties/giveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"giveaway.js","sourceRoot":"","sources":["../../src/properties/giveaway.ts"],"names":[],"mappings":";;;;;;AAAA,qFAA4D;AAG5D,IAAY,gBAcX;AAdD,WAAY,gBAAgB;IACxB,6BAAS,CAAA;IACT,mCAAe,CAAA;IACf,yCAAqB,CAAA;IACrB,iDAA6B,CAAA;IAC7B,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,mDAA+B,CAAA;IAC/B,uDAAmC,CAAA;IACnC,2DAAuC,CAAA;AAC3C,CAAC,EAdW,gBAAgB,gCAAhB,gBAAgB,QAc3B;AAEY,QAAA,kBAAkB,GAAG,IAAA,0BAAgB,EAAoC;IAClF,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK;IACtB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ;IAC5B,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY;IACpC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM;IACxB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO;IAC1B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS;IAC9B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS;IAC9B,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IACjD,aAAa,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IAC5E,eAAe,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IAChF,iBAAiB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;CACvF,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveaway.js","sourceRoot":"","sources":["../../src/properties/giveaway.ts"],"names":[],"mappings":";;;;;;AAAA,qFAA4D;AAG5D,IAAY,gBAeX;AAfD,WAAY,gBAAgB;IACxB,6BAAS,CAAA;IACT,mCAAe,CAAA;IACf,yCAAqB,CAAA;IACrB,iDAA6B,CAAA;IAC7B,yCAAqB,CAAA;IACrB,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,mDAA+B,CAAA;IAC/B,uDAAmC,CAAA;IACnC,2DAAuC,CAAA;AAC3C,CAAC,EAfW,gBAAgB,gCAAhB,gBAAgB,QAe3B;AAEY,QAAA,kBAAkB,GAAG,IAAA,0BAAgB,EAAoC;IAClF,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK;IACtB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ;IAC5B,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY;IACpC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ;IAC5B,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM;IACxB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO;IAC1B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS;IAC9B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS;IAC9B,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IACjD,aAAa,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IAC5E,eAAe,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IAChF,iBAAiB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;CACvF,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/structures/Context.d.ts b/dist/structures/Context.d.ts index 019f150..f8ec20d 100644 --- a/dist/structures/Context.d.ts +++ b/dist/structures/Context.d.ts @@ -1,12 +1,19 @@ import { Context as BaseContext, IContextCache } from "@tryforge/forgescript"; import { ExtendedStates, IExtendedRunnable } from "../types"; +import { Snowflake } from "discord.js"; import { Giveaway } from "./Giveaway"; export interface IExtendedContextCache extends IContextCache { giveaway: Giveaway | null; } +export interface IGiveawayRequirements { + requiredRoles?: Snowflake[]; + restrictedRoles?: Snowflake[]; + restrictedMembers?: Snowflake[]; +} export declare class Context extends BaseContext { #private; readonly runtime: IExtendedRunnable; + requirements: Partial; constructor(runtime: IExtendedRunnable); get obj(): import("../types").ExtendedSendable; get extendedStates(): ExtendedStates | undefined; @@ -16,6 +23,7 @@ declare module "@tryforge/forgescript" { interface Context { giveaway?: Giveaway | null; extendedStates?: ExtendedStates; + requirements: Partial; } } //# sourceMappingURL=Context.d.ts.map \ No newline at end of file diff --git a/dist/structures/Context.d.ts.map b/dist/structures/Context.d.ts.map index a9077a9..0d8c1b7 100644 --- a/dist/structures/Context.d.ts.map +++ b/dist/structures/Context.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IACxD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;CAC5B;AAED,qBAAa,OAAQ,SAAQ,WAAW;;aAGD,OAAO,EAAE,iBAAiB;gBAA1B,OAAO,EAAE,iBAAiB;IAI7D,IAAW,GAAG,wCAEb;IAED,IAAW,cAAc,+BAExB;IAED,IAAW,QAAQ,oBAElB;CACJ;AAED,OAAO,QAAQ,uBAAuB,CAAC;IACnC,UAAU,OAAO;QACb,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;QAC1B,cAAc,CAAC,EAAE,cAAc,CAAA;KAClC;CACJ"} \ No newline at end of file +{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IACxD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,qBAAqB;IAClC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;IAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;IAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;CAClC;AAED,qBAAa,OAAQ,SAAQ,WAAW;;aAKD,OAAO,EAAE,iBAAiB;IAF7D,YAAY,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAK;gBAEd,OAAO,EAAE,iBAAiB;IAI7D,IAAW,GAAG,wCAEb;IAED,IAAW,cAAc,+BAExB;IAED,IAAW,QAAQ,oBAElB;CACJ;AAED,OAAO,QAAQ,uBAAuB,CAAC;IACnC,UAAU,OAAO;QACb,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;QAC1B,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,YAAY,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;KAC/C;CACJ"} \ No newline at end of file diff --git a/dist/structures/Context.js b/dist/structures/Context.js index 4392e42..1f6a6ba 100644 --- a/dist/structures/Context.js +++ b/dist/structures/Context.js @@ -6,6 +6,7 @@ const Giveaway_1 = require("./Giveaway"); class Context extends forgescript_1.Context { runtime; #cache = {}; + requirements = {}; constructor(runtime) { super(runtime); this.runtime = runtime; diff --git a/dist/structures/Context.js.map b/dist/structures/Context.js.map index e374fda..253880c 100644 --- a/dist/structures/Context.js.map +++ b/dist/structures/Context.js.map @@ -1 +1 @@ -{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":";;;AAAA,uDAA6E;AAE7E,yCAAqC;AAMrC,MAAa,OAAQ,SAAQ,qBAAW;IAGD;IAFnC,MAAM,GAAmC,EAAE,CAAA;IAE3C,YAAmC,OAA0B;QACzD,KAAK,CAAC,OAAO,CAAC,CAAA;QADiB,YAAO,GAAP,OAAO,CAAmB;IAE7D,CAAC;IAED,IAAW,GAAG;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;IAC3B,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IAC9B,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,GAAG,YAAY,mBAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;IAClF,CAAC;CACJ;AAlBD,0BAkBC"} \ No newline at end of file +{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":";;;AAAA,uDAA6E;AAG7E,yCAAqC;AAYrC,MAAa,OAAQ,SAAQ,qBAAW;IAKD;IAJnC,MAAM,GAAmC,EAAE,CAAA;IAE3C,YAAY,GAAmC,EAAE,CAAA;IAEjD,YAAmC,OAA0B;QACzD,KAAK,CAAC,OAAO,CAAC,CAAA;QADiB,YAAO,GAAP,OAAO,CAAmB;IAE7D,CAAC;IAED,IAAW,GAAG;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;IAC3B,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IAC9B,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,GAAG,YAAY,mBAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;IAClF,CAAC;CACJ;AApBD,0BAoBC"} \ No newline at end of file diff --git a/dist/structures/Giveaway.d.ts b/dist/structures/Giveaway.d.ts index 447117a..d553c8d 100644 --- a/dist/structures/Giveaway.d.ts +++ b/dist/structures/Giveaway.d.ts @@ -24,6 +24,10 @@ export declare class Giveaway implements IGiveaway { * The max amount of winners for this giveaway. */ winnersCount: number; + /** + * Returns whether this giveaway has ended. + */ + hasEnded: boolean; /** * The id of the host for this giveaway. */ @@ -44,10 +48,6 @@ export declare class Giveaway implements IGiveaway { * The randomly selected winners of this giveaway. */ winners: Snowflake[]; - /** - * Returns whether this giveaway has ended. - */ - hasEnded: boolean; /** * The requirements all participants have to meet for entering this giveaway. */ diff --git a/dist/structures/Giveaway.d.ts.map b/dist/structures/Giveaway.d.ts.map index accb0a8..fdb660b 100644 --- a/dist/structures/Giveaway.d.ts.map +++ b/dist/structures/Giveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,QAAS,YAAW,SAAS;IACtC;;OAEG;IACI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IACI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IACI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IACI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IACI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IACI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IACI,QAAQ,EAAE,OAAO,CAAA;IAExB;;OAEG;IACI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IACI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,EAAE,qBAAqB,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAc/D;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;IASnC;;;OAGG;IACI,KAAK;CAGf"} \ No newline at end of file +{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBACa,QAAS,YAAW,SAAS;IACtC;;OAEG;IAEI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IAEI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IAEI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IAEI,QAAQ,EAAE,OAAO,CAAA;IAExB;;OAEG;IAEI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IAEI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IAEI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IAEI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,EAAE,qBAAqB,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAc/D;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;IASnC;;;OAGG;IACI,KAAK;CAGf"} \ No newline at end of file diff --git a/dist/structures/Giveaway.js b/dist/structures/Giveaway.js index 7c8f167..c768f2f 100644 --- a/dist/structures/Giveaway.js +++ b/dist/structures/Giveaway.js @@ -1,8 +1,18 @@ "use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.Giveaway = void 0; const discord_js_1 = require("discord.js"); -class Giveaway { +const typeorm_1 = require("typeorm"); +let Giveaway = class Giveaway { /** * The id of this giveaway. */ @@ -19,6 +29,10 @@ class Giveaway { * The max amount of winners for this giveaway. */ winnersCount; + /** + * Returns whether this giveaway has ended. + */ + hasEnded; /** * The id of the host for this giveaway. */ @@ -39,10 +53,6 @@ class Giveaway { * The randomly selected winners of this giveaway. */ winners; - /** - * Returns whether this giveaway has ended. - */ - hasEnded; /** * The requirements all participants have to meet for entering this giveaway. */ @@ -115,6 +125,58 @@ class Giveaway { clone() { return structuredClone(this); } -} +}; exports.Giveaway = Giveaway; +__decorate([ + (0, typeorm_1.PrimaryColumn)(), + __metadata("design:type", String) +], Giveaway.prototype, "id", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], Giveaway.prototype, "prize", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", Number) +], Giveaway.prototype, "duration", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", Number) +], Giveaway.prototype, "winnersCount", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", Boolean) +], Giveaway.prototype, "hasEnded", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], Giveaway.prototype, "hostID", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], Giveaway.prototype, "guildID", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], Giveaway.prototype, "channelID", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", Array) +], Giveaway.prototype, "entries", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", Array) +], Giveaway.prototype, "winners", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", Object) +], Giveaway.prototype, "requirements", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], Giveaway.prototype, "messageID", void 0); +exports.Giveaway = Giveaway = __decorate([ + (0, typeorm_1.Entity)(), + __metadata("design:paramtypes", [Object]) +], Giveaway); //# sourceMappingURL=Giveaway.js.map \ No newline at end of file diff --git a/dist/structures/Giveaway.js.map b/dist/structures/Giveaway.js.map index 41dc4d4..b215749 100644 --- a/dist/structures/Giveaway.js.map +++ b/dist/structures/Giveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 0a64508..4b0b39d 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE43QTQuCQBDG8e8yZ0kSivAavXiIDh2jw6CTLrmj7A5WRN89CBIXX9rz/vnx7JxfIPQQiGFbmZx2qiG849NCADVKATGkJVpLNnTfZ4XoEgK4Kc4gnkerd9BKbbSutEbODsiYk+mTI6GXvWmIZY+clZNyN/Ny/4/1WJm4xzrWoiru3FSxkLliSjYcTl08Wiy7+C/+/m1EdRsv7iRoZHLqUNmnLx8Csu4LVAIAAA==" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE43SSwuCQBSG4f9y1pIkFOG2q4to0TJanPSkQzrKzMGK6L+HQeLkbda+PPMxzukFTA8GHza5imkrSsI7PjU4UCAn4EOYotakXfP7JOEsBQduQkbgT73F26mlOlrmWYYy2qPEmFSb7Amt7BUyXlDTOP5XWunrkiTvUEbpIN3MrNxAMikMWeRyfHg7tjpjHLbQAvN3H4pqReNViGrbFUPSbndq4t5s3sR/8ff+elSzseKOjIoHp3aVbfr8AZaoaBYWAwAA" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 41520e0..4b13e03 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7WaTW/jNhCG/wt9FbzmkP68Lbbbdg/bAinQixAEqsV1hNpyKsnZpkH+e0FZHzPiSKZi7ymBzXnnJfloSJF+Fdnxey424av4O0ljsYH5IhBpdDBiI778fMx25pfk2UTfo5f896ciOaa5CMQp24uNSNLCZN+irck/8C2nj8VhLwKx3Ud5bnKxEeItqBPJGegmk3k2aTFWedJEoQSBeIoykxb99nssHEyeRzsz2gSKe6eNxXyu2kF/eChensx7XUyb8DFmpk0negYnL6KsuNLTtBZ5l7O6Y30ApfG19s4SP8JcZrLjfn+tv0blVhZh1TiksY3TKtMH+vXgYz2X0Khuj2leZKdtccx8JCe0Pd/NjtOeES//+KSsGl6TKzb5NkvK4fZKSdtfk/nZZLlv1rbtNRnNISkK4zebbdtrMu7qBl+jNNp5pmaCrvGwPR4OURp7PRcT1PianMfOYjuUsm07MiPMdFsDkjQpvNJVDcf2DpWb5vtP58Hqm9uedv77iscojfcm+40rB0PiExrId7WvF2h88Waqbv65f69Dm/h3s+b9j95lmlGedKN61pWO7wsWPvcsxEMGPg+tvCPTx8n4AaiCbmLgrn+tH7Jwd2FxHzsJRfbyMX7PTDSBtzNyZw7HZ35He9FLEzvaDlduyla/nh/t/nqAWw0+g6R8ZmaX5Nza2K87QTEXSgxxfqHAlM/z0Msa19C/2DxlyX/Ds+noTuqYC7NInPdtt05ZRPZafg5Q2A1MfE/S1GT5p+MpHS43rpFO6A3MPB7z4stPI200QTcwsDsl+3i0gzbqBha2j1Gamv1oEzjuBjYy888pyczh4grvOumEvs+M91GCn4+LpwmsDOnJ8EDFd8d9z5HLKIfTrt57/V58k8+LLNkWtzTeVfzh1r+aw18mu635VvOG9rkl/OKrgs87gu8hBSvqdUzh+O3ZNeyM+87FZz23vDrbR7Q5vZjw48CW1DcnPTocTjl8QuibEZ8FDucbOvLzzdY53BtOeOEMz815H4gkjc2/YvPaHPdsBEzVdC0C8S0x+9ie3tcHXvbwwZT7ivi4PZX/3lfN/jQWWNv43PrDTAThLFB6upgv7++DsA4uvyg/qDXaT8pAKYJQcoHSCZQkEEQQAhcITiCQQCWCUAWwns71mgQqJ1CRQC2CUHOB2gnUJHAugnDOBc6dwDkJXIggXHCBCydwQQKXIgiX3OAsncAlCVyJIFxxGVdO4IoErkUQrrmMaydwTQGwPEiWHenCIzv0lPjw/DAAUYKk5UKyDEkXIkkpkpYNyXIkXZAkJUlaPqRmM7swSUqTtIzIORvsAiUpUdJyIhdssAuVpFRJy4pkuZIuWJKSJS0vcsUGu3BJSpe0zEiWL+kCJilhYJkBljBwCQNKGFhmgCUMXMKgU6PKIsVXKaZMUcLAMgOKDXYJA0oYWGaAJQxcwoASBpYZYAkDlzCghIFlBljCwCUMKGFgmQGWMHAJA0oYWGaAJQxcwoASBpYZYAkDlzCghCnLjGIJUy5hihKmLDOKJUy5hClKmLLMKJYw5RKmOithuRSyhClmMaSEKcuMYglTLmGKEqYsM4olTLmEKUqYWvSu4C5gigKmLDKKpVO5gCkKmLLIKJZO5QKmKGDKIqNYOpULmKKA6VnvaqNdwDQFTMu+RV27fGnKly75Yh8L7fKlKV/aEqPZx0K7fOnObqt/u8XstyheunfHpV26NKVL9266tEtX9VG5sX42WWHiL+cNdhg2Byav4qHadat6n/8qlNi8vgVCLezft3avXX7abLftd6WD88FSEhM1jeS0n05zndjKSCQjfWXQO2urtGqFVudILb30yCU2cjZDzmZ+Ss3BLBonJKP8ZJrbZmQGkBnwU0nJfM1bgXk1PHM/neqOD5lBXrwkvtmL1OYiG0stW6mll1R5dIBGd90KaL9x2Zkisu+trYhGU6SVn0jVGVNet7VSgOYJPP3UUnS+AI0y+A1zq1RkL1FM5dBzBn7PGZHLqssrpIiIAj+UasX66ACJoeIE46Ygr8rKoT5NQ6AivKQnX7Vqif1jfb+GnC6QU7/62WhyFlHHZVWWtV+ZaGTPJ03IIuIZPLXsBUanwOP1wm9KquE6H+CgPqLSLFd+Sse86NhBT5bye7ISWnean5a0omig/MYpaR4KtyqiUiTX49TKKWT8ARo58Bu58y9akC3Eq/Tjtf0ZKHKCjHiJdCFAo+M3OMxwSFRypF/JqW5rUUeQEfBz0l5tIxlUWsCvtNT3Otn5cgShjaZIjdI6dCFUaISU3wi5xRjZWVQVyQ+c9g7lUN+hIGuIZeU78LWeO2Zo/JXfk+HUSbQk6qqffitj8wNEhCbeFPkt19Xt+fZ8e466hqSUh9R9IJ6SJ7NPUiM24f3b2/8ESqG0CS8AAA=="; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 0559227..bbeb827 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index f2f6cf7..3d09b15 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html new file mode 100644 index 0000000..c9f9854 --- /dev/null +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -0,0 +1,7 @@ +GiveawaysDatabaseManager | forge.giveaways

Class GiveawaysDatabaseManagerAbstract

Hierarchy

  • DataBaseManager
    • GiveawaysDatabaseManager

Constructors

Properties

Methods

Constructors

Properties

database: string
entityManager: {
    mongodb: MixedList<string | Function | EntitySchema<any>>;
    mysql: MixedList<string | Function | EntitySchema<any>>;
    postgres: MixedList<string | Function | EntitySchema<any>>;
    sqlite: MixedList<string | Function | EntitySchema<any>>;
}
type?:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"
type:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"

Methods

  • Returns Promise<DataSource>

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index a461849..59d2dfa 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysInteractionManager.html b/docs/classes/GiveawaysInteractionManager.html new file mode 100644 index 0000000..061174b --- /dev/null +++ b/docs/classes/GiveawaysInteractionManager.html @@ -0,0 +1,2 @@ +GiveawaysInteractionManager | forge.giveaways

Class GiveawaysInteractionManager

Constructors

Constructors

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index a44ccff..9d1988f 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,19 +1,19 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Ends an existing giveaway.

    +

Constructors

Methods

  • Ends an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    Parameters

    • id: string

      The id of the giveaway to get.

      -

    Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    +

Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

  • Starts a new giveaway on a guild.

    +

Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index a2e6d18..5a50f22 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 3558c6a..30fc9b9 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,7 +1,7 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
+

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 2174a31..cca1805 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    };
    winnersCount: number;
}

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: IGiveawayRequirements;
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: IGiveawayRequirements
winnersCount: number
diff --git a/docs/modules.html b/docs/modules.html index e6ef7c5..b509990 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -1,6 +1,8 @@ forge.giveaways

forge.giveaways

Index

Classes

Interfaces

IForgeGiveawaysOptions IGiveawayEvents diff --git a/metadata/enums.json b/metadata/enums.json index fd04172..87d458e 100644 --- a/metadata/enums.json +++ b/metadata/enums.json @@ -1 +1 @@ -{"GiveawayProperty":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"]} \ No newline at end of file +{"GiveawayProperty":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"]} \ No newline at end of file diff --git a/metadata/functions.json b/metadata/functions.json index a30041f..f305687 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file +[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"version":"1.0.0"},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$setRequiredRoles","description":"Sets the required roles for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage","version":"1.0.0"},{"name":"$setRestrictedMembers","description":"Sets the restricted members for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage","version":"1.0.0"},{"name":"$setRestrictedRoles","description":"Sets the restricted roles for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage","version":"1.0.0"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 4cca015..977394a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,11 +9,11 @@ "version": "1.0.0", "license": "GPL-3.0", "dependencies": { - "@tryforge/forge.db": "^2.1.1", - "better-sqlite3": "^11.10.0", - "tiny-typed-emitter": "^2.1.0" + "tiny-typed-emitter": "^2.1.0", + "typeorm": "^0.3.27" }, "devDependencies": { + "@tryforge/forge.db": "^2.1.1", "@tryforge/forgescript": "^2.5.0", "discord.js": "^14.23.2", "typedoc": "^0.26.11", @@ -324,6 +324,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/@tryforge/forge.db/-/forge.db-2.1.1.tgz", "integrity": "sha512-B/uUj0M0G16mxKaE3T5XZ/Xk6/y1JypsSJxIOYMbHc+JM3nf+Rvw6f1FugxNxuO/c3jtlbY/baH1H6+BOErsuA==", + "dev": true, "license": "GPL-3.0", "dependencies": { "tiny-typed-emitter": "^2.1.0", @@ -508,62 +509,6 @@ ], "license": "MIT" }, - "node_modules/better-sqlite3": { - "version": "11.10.0", - "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-11.10.0.tgz", - "integrity": "sha512-EwhOpyXiOEL/lKzHz9AW1msWFNzGc/z+LzeB3/jnFJpxu+th2yqvzsSWas1v9jgs9+xiXJcD5A8CJxAG2TaghQ==", - "hasInstallScript": true, - "license": "MIT", - "peer": true, - "dependencies": { - "bindings": "^1.5.0", - "prebuild-install": "^7.1.1" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "license": "MIT", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/brace-expansion": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", @@ -694,12 +639,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "license": "ISC" - }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -838,21 +777,6 @@ } } }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "license": "MIT", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/dedent": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.0.tgz", @@ -867,15 +791,6 @@ } } }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "license": "MIT", - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", @@ -903,15 +818,6 @@ "node": ">=6" } }, - "node_modules/detect-libc": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", - "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, "node_modules/devlop": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", @@ -1019,15 +925,6 @@ "dev": true, "license": "MIT" }, - "node_modules/end-of-stream": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", - "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -1080,15 +977,6 @@ "node": ">=6" } }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "license": "(MIT OR WTFPL)", - "engines": { - "node": ">=6" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -1096,12 +984,6 @@ "dev": true, "license": "MIT" }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "license": "MIT" - }, "node_modules/for-each": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", @@ -1133,12 +1015,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "license": "MIT" - }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -1194,12 +1070,6 @@ "node": ">= 0.4" } }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", - "license": "MIT" - }, "node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -1368,12 +1238,6 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "license": "ISC" }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "license": "ISC" - }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -1631,18 +1495,6 @@ ], "license": "MIT" }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -1658,15 +1510,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", @@ -1676,12 +1519,6 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "license": "MIT" - }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -1695,33 +1532,6 @@ "dev": true, "license": "ISC" }, - "node_modules/napi-build-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", - "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", - "license": "MIT" - }, - "node_modules/node-abi": { - "version": "3.75.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.75.0.tgz", - "integrity": "sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==", - "license": "MIT", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, "node_modules/oniguruma-to-es": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-2.3.0.tgz", @@ -1774,32 +1584,6 @@ "node": ">= 0.4" } }, - "node_modules/prebuild-install": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", - "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", - "license": "MIT", - "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^2.0.0", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/property-information": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", @@ -1811,16 +1595,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/pump": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", - "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/punycode.js": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", @@ -1831,35 +1605,6 @@ "node": ">=6" } }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/reflect-metadata": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", @@ -1924,18 +1669,6 @@ ], "license": "MIT" }, - "node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -2023,51 +1756,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, "node_modules/space-separated-tokens": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", @@ -2095,15 +1783,6 @@ "node": ">=14" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, "node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -2215,15 +1894,6 @@ "node": ">=8" } }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -2237,34 +1907,6 @@ "node": ">=8" } }, - "node_modules/tar-fs": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", - "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", - "license": "MIT", - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "license": "MIT", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/tiny-typed-emitter": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz", @@ -2309,18 +1951,6 @@ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "license": "Apache-2.0", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, "node_modules/typed-array-buffer": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", @@ -2575,12 +2205,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, "node_modules/uuid": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", @@ -2748,12 +2372,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, "node_modules/ws": { "version": "8.18.3", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", diff --git a/package.json b/package.json index 6ac4cce..52e5e3d 100644 --- a/package.json +++ b/package.json @@ -16,14 +16,14 @@ "author": "itsnicky.", "license": "GPL-3.0", "devDependencies": { + "@tryforge/forge.db": "^2.1.1", "@tryforge/forgescript": "^2.5.0", "discord.js": "^14.23.2", "typedoc": "^0.26.11", "typescript": "^5.6.3" }, "dependencies": { - "@tryforge/forge.db": "^2.1.1", - "better-sqlite3": "^11.10.0", - "tiny-typed-emitter": "^2.1.0" + "tiny-typed-emitter": "^2.1.0", + "typeorm": "^0.3.27" } } diff --git a/src/functions/getGiveaway.ts b/src/functions/getGiveaway.ts index c0d0f8f..610ddef 100644 --- a/src/functions/getGiveaway.ts +++ b/src/functions/getGiveaway.ts @@ -2,5 +2,5 @@ import { Context } from "@tryforge/forgescript" import { ForgeGiveaways } from ".." export default function(ctx: Context, id: string) { - return (ctx.client.getExtension(ForgeGiveaways, true).giveawaysManager.get(id) ?? ctx.giveaway) + return ctx.client.getExtension(ForgeGiveaways, true).giveawaysManager.get(id) } \ No newline at end of file diff --git a/src/managers/DatabaseManager.ts b/src/managers/DatabaseManager.ts deleted file mode 100644 index 8b13789..0000000 --- a/src/managers/DatabaseManager.ts +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/managers/GiveawaysDatabaseManager.ts b/src/managers/GiveawaysDatabaseManager.ts new file mode 100644 index 0000000..fcfe796 --- /dev/null +++ b/src/managers/GiveawaysDatabaseManager.ts @@ -0,0 +1,7 @@ +import { DataBaseManager } from "@tryforge/forge.db" + +export abstract class GiveawaysDatabaseManager extends DataBaseManager { + constructor() { + super() + } +} \ No newline at end of file diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 5e9b2b0..b3a0106 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -3,7 +3,7 @@ import { ActionRowBuilder, ButtonBuilder, ButtonStyle, Collection, EmbedBuilder, import { ForgeGiveaways, IGiveawayEvents } from ".." import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" -import { Giveaway } from "../structures" +import { Giveaway, IGiveawayRequirements } from "../structures" export interface IGiveawayStartOptions { prize: string @@ -12,11 +12,7 @@ export interface IGiveawayStartOptions { hostID: Snowflake guildID: Snowflake channelID: Snowflake - requirements?: { - requiredRoles?: Snowflake[] - restrictedRoles?: Snowflake[] - restrictedMembers?: Snowflake[] - } + requirements?: IGiveawayRequirements } export class GiveawaysManager { diff --git a/src/managers/index.ts b/src/managers/index.ts index c43781e..2934f24 100644 --- a/src/managers/index.ts +++ b/src/managers/index.ts @@ -1,3 +1,5 @@ export * from "./GiveawaysCommandManager" +export * from "./GiveawaysDatabaseManager" export * from "./GiveawaysEventManager" +export * from "./GiveawaysInteractionManager" export * from "./GiveawaysManager" \ No newline at end of file diff --git a/src/native/giveawayChannelID.ts b/src/native/giveawayChannelID.ts index 50bc1d4..e2bc181 100644 --- a/src/native/giveawayChannelID.ts +++ b/src/native/giveawayChannelID.ts @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Channel, execute(ctx, [id]) { - const giveaway = getGiveaway(ctx, id) + const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.channelID) } }) \ No newline at end of file diff --git a/src/native/giveawayDuration.ts b/src/native/giveawayDuration.ts index c4d66b2..faa844b 100644 --- a/src/native/giveawayDuration.ts +++ b/src/native/giveawayDuration.ts @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Number, execute(ctx, [id]) { - const giveaway = getGiveaway(ctx, id) + const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.duration) } }) \ No newline at end of file diff --git a/src/native/giveawayEntries.ts b/src/native/giveawayEntries.ts index 8d88b39..c308e8f 100644 --- a/src/native/giveawayEntries.ts +++ b/src/native/giveawayEntries.ts @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), execute(ctx, [id, sep]) { - const giveaway = getGiveaway(ctx, id) + const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.entries.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayGuildID.ts b/src/native/giveawayGuildID.ts index 4cd71a5..9cf323f 100644 --- a/src/native/giveawayGuildID.ts +++ b/src/native/giveawayGuildID.ts @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Guild, execute(ctx, [id]) { - const giveaway = getGiveaway(ctx, id) + const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.guildID) } }) \ No newline at end of file diff --git a/src/native/giveawayHasEnded.ts b/src/native/giveawayHasEnded.ts new file mode 100644 index 0000000..87dd578 --- /dev/null +++ b/src/native/giveawayHasEnded.ts @@ -0,0 +1,24 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import getGiveaway from "../functions/getGiveaway" + +export default new NativeFunction({ + name: "$giveawayHasEnded", + version: "1.0.0", + description: "Returns whether the giveaway has ended", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: ArgType.String, + }, + ], + output: ArgType.Boolean, + execute(ctx, [id]) { + const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway + return this.success(giveaway?.hasEnded) + } +}) \ No newline at end of file diff --git a/src/native/giveawayHostID.ts b/src/native/giveawayHostID.ts index 7eb4c79..149cee6 100644 --- a/src/native/giveawayHostID.ts +++ b/src/native/giveawayHostID.ts @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.User, execute(ctx, [id]) { - const giveaway = getGiveaway(ctx, id) + const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.hostID) } }) \ No newline at end of file diff --git a/src/native/giveawayMessageID.ts b/src/native/giveawayMessageID.ts index 0d32d6c..946e0eb 100644 --- a/src/native/giveawayMessageID.ts +++ b/src/native/giveawayMessageID.ts @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Message, execute(ctx, [id]) { - const giveaway = getGiveaway(ctx, id) + const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.messageID) } }) \ No newline at end of file diff --git a/src/native/giveawayPrize.ts b/src/native/giveawayPrize.ts index fde58f0..3ea950a 100644 --- a/src/native/giveawayPrize.ts +++ b/src/native/giveawayPrize.ts @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.String, execute(ctx, [id]) { - const giveaway = getGiveaway(ctx, id) + const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.prize) } }) \ No newline at end of file diff --git a/src/native/giveawayRequiredRoles.ts b/src/native/giveawayRequiredRoles.ts index 38b7506..752a749 100644 --- a/src/native/giveawayRequiredRoles.ts +++ b/src/native/giveawayRequiredRoles.ts @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), execute(ctx, [id, sep]) { - const giveaway = getGiveaway(ctx, id) + const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.requirements?.requiredRoles?.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayRestrictedMembers.ts b/src/native/giveawayRestrictedMembers.ts index e062af0..4d6b622 100644 --- a/src/native/giveawayRestrictedMembers.ts +++ b/src/native/giveawayRestrictedMembers.ts @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), execute(ctx, [id, sep]) { - const giveaway = getGiveaway(ctx, id) + const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.requirements?.restrictedMembers?.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayRestrictedRoles.ts b/src/native/giveawayRestrictedRoles.ts index 41cb8e7..a4006e0 100644 --- a/src/native/giveawayRestrictedRoles.ts +++ b/src/native/giveawayRestrictedRoles.ts @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), execute(ctx, [id, sep]) { - const giveaway = getGiveaway(ctx, id) + const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.requirements?.restrictedRoles?.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayWinners.ts b/src/native/giveawayWinners.ts index 98d5c5f..fe77eb0 100644 --- a/src/native/giveawayWinners.ts +++ b/src/native/giveawayWinners.ts @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), execute(ctx, [id, sep]) { - const giveaway = getGiveaway(ctx, id) + const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.winners.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayWinnersCount.ts b/src/native/giveawayWinnersCount.ts index 9d75890..f826d8b 100644 --- a/src/native/giveawayWinnersCount.ts +++ b/src/native/giveawayWinnersCount.ts @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Number, execute(ctx, [id]) { - const giveaway = getGiveaway(ctx, id) + const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.winnersCount) } }) \ No newline at end of file diff --git a/src/native/manage/setRequiredRoles.ts b/src/native/manage/setRequiredRoles.ts new file mode 100644 index 0000000..3410cd7 --- /dev/null +++ b/src/native/manage/setRequiredRoles.ts @@ -0,0 +1,22 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" + +export default new NativeFunction({ + name: "$setRequiredRoles", + version: "1.0.0", + description: "Sets the required roles for current giveaway", + unwrap: true, + brackets: true, + args: [ + { + name: "roles", + description: "The roles to add as requirement", + rest: true, + required: true, + type: ArgType.String, + }, + ], + execute(ctx, [roles]) { + ctx.requirements.requiredRoles = roles + return this.success() + } +}) \ No newline at end of file diff --git a/src/native/manage/setRestrictedMembers.ts b/src/native/manage/setRestrictedMembers.ts new file mode 100644 index 0000000..27f89a1 --- /dev/null +++ b/src/native/manage/setRestrictedMembers.ts @@ -0,0 +1,22 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" + +export default new NativeFunction({ + name: "$setRestrictedMembers", + version: "1.0.0", + description: "Sets the restricted members for current giveaway", + unwrap: true, + brackets: true, + args: [ + { + name: "members", + description: "The members to add as restriction", + rest: true, + required: true, + type: ArgType.User, + }, + ], + execute(ctx, [members]) { + ctx.requirements.restrictedMembers = members.map((x) => x.id) + return this.success() + } +}) \ No newline at end of file diff --git a/src/native/manage/setRestrictedRoles.ts b/src/native/manage/setRestrictedRoles.ts new file mode 100644 index 0000000..d7a7dff --- /dev/null +++ b/src/native/manage/setRestrictedRoles.ts @@ -0,0 +1,22 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" + +export default new NativeFunction({ + name: "$setRestrictedRoles", + version: "1.0.0", + description: "Sets the restricted roles for current giveaway", + unwrap: true, + brackets: true, + args: [ + { + name: "roles", + description: "The roles to add as restriction", + rest: true, + required: true, + type: ArgType.String, + }, + ], + execute(ctx, [roles]) { + ctx.requirements.restrictedRoles = roles + return this.success() + } +}) \ No newline at end of file diff --git a/src/native/manage/startGiveaway.ts b/src/native/manage/startGiveaway.ts index 301014a..43256c7 100644 --- a/src/native/manage/startGiveaway.ts +++ b/src/native/manage/startGiveaway.ts @@ -57,7 +57,8 @@ export default new NativeFunction({ hostID: host.id, duration, prize, - winnersCount: winners || 1 + winnersCount: winners || 1, + requirements: ctx.requirements }) return this.success(giveaway.id) diff --git a/src/properties/giveaway.ts b/src/properties/giveaway.ts index 4ea5f6b..7e578f6 100644 --- a/src/properties/giveaway.ts +++ b/src/properties/giveaway.ts @@ -6,6 +6,7 @@ export enum GiveawayProperty { prize = "prize", duration = "duration", winnersCount = "winnersCount", + hasEnded = "hasEnded", hostID = "hostID", guildID = "guildID", channelID = "channelID", @@ -22,6 +23,7 @@ export const GiveawayProperties = defineProperties i?.prize, duration: (i) => i?.duration, winnersCount: (i) => i?.winnersCount, + hasEnded: (i) => i?.hasEnded, hostID: (i) => i?.hostID, guildID: (i) => i?.guildID, channelID: (i) => i?.channelID, diff --git a/src/structures/Context.ts b/src/structures/Context.ts index 45a7302..e75347f 100644 --- a/src/structures/Context.ts +++ b/src/structures/Context.ts @@ -1,14 +1,23 @@ import { Context as BaseContext, IContextCache } from "@tryforge/forgescript" import { ExtendedStates, IExtendedRunnable } from "../types" +import { Snowflake } from "discord.js" import { Giveaway } from "./Giveaway" export interface IExtendedContextCache extends IContextCache { giveaway: Giveaway | null } +export interface IGiveawayRequirements { + requiredRoles?: Snowflake[] + restrictedRoles?: Snowflake[] + restrictedMembers?: Snowflake[] +} + export class Context extends BaseContext { #cache: Partial = {} + requirements: Partial = {} + public constructor(public readonly runtime: IExtendedRunnable) { super(runtime) } @@ -30,5 +39,6 @@ declare module "@tryforge/forgescript" { interface Context { giveaway?: Giveaway | null extendedStates?: ExtendedStates + requirements: Partial } } \ No newline at end of file diff --git a/src/structures/Giveaway.ts b/src/structures/Giveaway.ts index d55a9d8..c0db094 100644 --- a/src/structures/Giveaway.ts +++ b/src/structures/Giveaway.ts @@ -1,5 +1,6 @@ import { GuildMember, Snowflake, SnowflakeUtil } from "discord.js" import { IGiveawayStartOptions } from "../managers/GiveawaysManager" +import { Column, Entity, PrimaryColumn } from "typeorm" export interface IGiveaway extends IGiveawayStartOptions { id: Snowflake @@ -9,65 +10,78 @@ export interface IGiveaway extends IGiveawayStartOptions { winners: Snowflake[] } +@Entity() export class Giveaway implements IGiveaway { /** * The id of this giveaway. */ + @PrimaryColumn() public id: Snowflake /** * The prize of this giveaway. */ + @Column() public prize: string /** * The duration of the giveaway in ms. */ + @Column() public duration: number /** * The max amount of winners for this giveaway. */ + @Column() public winnersCount: number + /** + * Returns whether this giveaway has ended. + */ + @Column() + public hasEnded: boolean + /** * The id of the host for this giveaway. */ + @Column() public hostID: Snowflake /** * The id of the guild this giveaway has been created on. */ + @Column() public guildID: Snowflake /** * The id of the channel this giveaway has been created in. */ + @Column() public channelID: Snowflake /** * The user entries for this giveaway. */ + @Column() public entries: Snowflake[] /** * The randomly selected winners of this giveaway. */ + @Column() public winners: Snowflake[] - /** - * Returns whether this giveaway has ended. - */ - public hasEnded: boolean - /** * The requirements all participants have to meet for entering this giveaway. */ + @Column() public requirements?: IGiveawayStartOptions["requirements"] /** * The id of the message this giveaway is associated with. */ + @Column() public messageID?: Snowflake constructor(options: IGiveawayStartOptions & { id?: Snowflake }) { From dc8d9f61d0a481eada05ed9d50d0e1571f936470 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Fri, 17 Oct 2025 18:17:06 +0200 Subject: [PATCH 26/87] Fix setting requirements --- dist/native/giveawayHasEnded.d.ts.map | 2 +- dist/native/giveawayHasEnded.js | 1 + dist/native/giveawayHasEnded.js.map | 2 +- dist/native/manage/setRequiredRoles.d.ts.map | 2 +- dist/native/manage/setRequiredRoles.js | 2 ++ dist/native/manage/setRequiredRoles.js.map | 2 +- dist/native/manage/setRestrictedMembers.d.ts.map | 2 +- dist/native/manage/setRestrictedMembers.js | 2 ++ dist/native/manage/setRestrictedMembers.js.map | 2 +- dist/native/manage/setRestrictedRoles.d.ts.map | 2 +- dist/native/manage/setRestrictedRoles.js | 2 ++ dist/native/manage/setRestrictedRoles.js.map | 2 +- dist/structures/Context.d.ts | 2 +- dist/structures/Context.d.ts.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/classes/GiveawaysCommandManager.html | 4 ++-- docs/classes/GiveawaysDatabaseManager.html | 4 ++-- docs/classes/GiveawaysEventHandler.html | 4 ++-- docs/classes/GiveawaysInteractionManager.html | 4 ++-- docs/classes/GiveawaysManager.html | 14 +++++++------- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- docs/interfaces/IGiveawayEvents.html | 4 ++-- docs/interfaces/IGiveawayStartOptions.html | 4 ++-- metadata/functions.json | 2 +- src/native/manage/setRequiredRoles.ts | 1 + src/native/manage/setRestrictedMembers.ts | 1 + src/native/manage/setRestrictedRoles.ts | 1 + src/structures/Context.ts | 2 +- 28 files changed, 46 insertions(+), 36 deletions(-) diff --git a/dist/native/giveawayHasEnded.d.ts.map b/dist/native/giveawayHasEnded.d.ts.map index d69dfd1..be1025e 100644 --- a/dist/native/giveawayHasEnded.d.ts.map +++ b/dist/native/giveawayHasEnded.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayHasEnded.d.ts","sourceRoot":"","sources":["../../src/native/giveawayHasEnded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayHasEnded.d.ts","sourceRoot":"","sources":["../../src/native/giveawayHasEnded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayHasEnded.js b/dist/native/giveawayHasEnded.js index ccbb5a3..e93c24f 100644 --- a/dist/native/giveawayHasEnded.js +++ b/dist/native/giveawayHasEnded.js @@ -7,6 +7,7 @@ const forgescript_1 = require("@tryforge/forgescript"); const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayHasEnded", + version: "1.0.0", description: "Returns whether the giveaway has ended", unwrap: true, brackets: false, diff --git a/dist/native/giveawayHasEnded.js.map b/dist/native/giveawayHasEnded.js.map index f8efbc7..cc24c04 100644 --- a/dist/native/giveawayHasEnded.js.map +++ b/dist/native/giveawayHasEnded.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayHasEnded.js","sourceRoot":"","sources":["../../src/native/giveawayHasEnded.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayHasEnded.js","sourceRoot":"","sources":["../../src/native/giveawayHasEnded.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/setRequiredRoles.d.ts.map b/dist/native/manage/setRequiredRoles.d.ts.map index 488302a..1a243b1 100644 --- a/dist/native/manage/setRequiredRoles.d.ts.map +++ b/dist/native/manage/setRequiredRoles.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"setRequiredRoles.d.ts","sourceRoot":"","sources":["../../../src/native/manage/setRequiredRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAE/D,wBAkBE"} \ No newline at end of file +{"version":3,"file":"setRequiredRoles.d.ts","sourceRoot":"","sources":["../../../src/native/manage/setRequiredRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAE/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/manage/setRequiredRoles.js b/dist/native/manage/setRequiredRoles.js index 1f1ee36..c1b5f25 100644 --- a/dist/native/manage/setRequiredRoles.js +++ b/dist/native/manage/setRequiredRoles.js @@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); exports.default = new forgescript_1.NativeFunction({ name: "$setRequiredRoles", + version: "1.0.0", description: "Sets the required roles for current giveaway", unwrap: true, brackets: true, @@ -16,6 +17,7 @@ exports.default = new forgescript_1.NativeFunction({ }, ], execute(ctx, [roles]) { + ctx.requirements ??= {}; ctx.requirements.requiredRoles = roles; return this.success(); } diff --git a/dist/native/manage/setRequiredRoles.js.map b/dist/native/manage/setRequiredRoles.js.map index 7f68b2b..96eb6c5 100644 --- a/dist/native/manage/setRequiredRoles.js.map +++ b/dist/native/manage/setRequiredRoles.js.map @@ -1 +1 @@ -{"version":3,"file":"setRequiredRoles.js","sourceRoot":"","sources":["../../../src/native/manage/setRequiredRoles.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,8CAA8C;IAC3D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAChB,GAAG,CAAC,YAAY,CAAC,aAAa,GAAG,KAAK,CAAA;QACtC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"setRequiredRoles.js","sourceRoot":"","sources":["../../../src/native/manage/setRequiredRoles.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,8CAA8C;IAC3D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAChB,GAAG,CAAC,YAAY,KAAK,EAAE,CAAA;QACvB,GAAG,CAAC,YAAY,CAAC,aAAa,GAAG,KAAK,CAAA;QACtC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/setRestrictedMembers.d.ts.map b/dist/native/manage/setRestrictedMembers.d.ts.map index d4f2800..718b36b 100644 --- a/dist/native/manage/setRestrictedMembers.d.ts.map +++ b/dist/native/manage/setRestrictedMembers.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"setRestrictedMembers.d.ts","sourceRoot":"","sources":["../../../src/native/manage/setRestrictedMembers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAE/D,wBAkBE"} \ No newline at end of file +{"version":3,"file":"setRestrictedMembers.d.ts","sourceRoot":"","sources":["../../../src/native/manage/setRestrictedMembers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAE/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/manage/setRestrictedMembers.js b/dist/native/manage/setRestrictedMembers.js index 6254c5d..b48808b 100644 --- a/dist/native/manage/setRestrictedMembers.js +++ b/dist/native/manage/setRestrictedMembers.js @@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); exports.default = new forgescript_1.NativeFunction({ name: "$setRestrictedMembers", + version: "1.0.0", description: "Sets the restricted members for current giveaway", unwrap: true, brackets: true, @@ -16,6 +17,7 @@ exports.default = new forgescript_1.NativeFunction({ }, ], execute(ctx, [members]) { + ctx.requirements ??= {}; ctx.requirements.restrictedMembers = members.map((x) => x.id); return this.success(); } diff --git a/dist/native/manage/setRestrictedMembers.js.map b/dist/native/manage/setRestrictedMembers.js.map index 102390a..b327e6e 100644 --- a/dist/native/manage/setRestrictedMembers.js.map +++ b/dist/native/manage/setRestrictedMembers.js.map @@ -1 +1 @@ -{"version":3,"file":"setRestrictedMembers.js","sourceRoot":"","sources":["../../../src/native/manage/setRestrictedMembers.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,kDAAkD;IAC/D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,mCAAmC;YAChD,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;KACJ;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;QAClB,GAAG,CAAC,YAAY,CAAC,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"setRestrictedMembers.js","sourceRoot":"","sources":["../../../src/native/manage/setRestrictedMembers.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,mCAAmC;YAChD,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;KACJ;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;QAClB,GAAG,CAAC,YAAY,KAAK,EAAE,CAAA;QACvB,GAAG,CAAC,YAAY,CAAC,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/setRestrictedRoles.d.ts.map b/dist/native/manage/setRestrictedRoles.d.ts.map index 4c4ce2a..3c504a6 100644 --- a/dist/native/manage/setRestrictedRoles.d.ts.map +++ b/dist/native/manage/setRestrictedRoles.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"setRestrictedRoles.d.ts","sourceRoot":"","sources":["../../../src/native/manage/setRestrictedRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAE/D,wBAkBE"} \ No newline at end of file +{"version":3,"file":"setRestrictedRoles.d.ts","sourceRoot":"","sources":["../../../src/native/manage/setRestrictedRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAE/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/manage/setRestrictedRoles.js b/dist/native/manage/setRestrictedRoles.js index 352fbe1..49db603 100644 --- a/dist/native/manage/setRestrictedRoles.js +++ b/dist/native/manage/setRestrictedRoles.js @@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); exports.default = new forgescript_1.NativeFunction({ name: "$setRestrictedRoles", + version: "1.0.0", description: "Sets the restricted roles for current giveaway", unwrap: true, brackets: true, @@ -16,6 +17,7 @@ exports.default = new forgescript_1.NativeFunction({ }, ], execute(ctx, [roles]) { + ctx.requirements ??= {}; ctx.requirements.restrictedRoles = roles; return this.success(); } diff --git a/dist/native/manage/setRestrictedRoles.js.map b/dist/native/manage/setRestrictedRoles.js.map index 6d50afd..3de1d47 100644 --- a/dist/native/manage/setRestrictedRoles.js.map +++ b/dist/native/manage/setRestrictedRoles.js.map @@ -1 +1 @@ -{"version":3,"file":"setRestrictedRoles.js","sourceRoot":"","sources":["../../../src/native/manage/setRestrictedRoles.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,gDAAgD;IAC7D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAChB,GAAG,CAAC,YAAY,CAAC,eAAe,GAAG,KAAK,CAAA;QACxC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"setRestrictedRoles.js","sourceRoot":"","sources":["../../../src/native/manage/setRestrictedRoles.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAChB,GAAG,CAAC,YAAY,KAAK,EAAE,CAAA;QACvB,GAAG,CAAC,YAAY,CAAC,eAAe,GAAG,KAAK,CAAA;QACxC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/structures/Context.d.ts b/dist/structures/Context.d.ts index f8ec20d..937106c 100644 --- a/dist/structures/Context.d.ts +++ b/dist/structures/Context.d.ts @@ -23,7 +23,7 @@ declare module "@tryforge/forgescript" { interface Context { giveaway?: Giveaway | null; extendedStates?: ExtendedStates; - requirements: Partial; + requirements?: Partial; } } //# sourceMappingURL=Context.d.ts.map \ No newline at end of file diff --git a/dist/structures/Context.d.ts.map b/dist/structures/Context.d.ts.map index 0d8c1b7..cbd94fc 100644 --- a/dist/structures/Context.d.ts.map +++ b/dist/structures/Context.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IACxD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,qBAAqB;IAClC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;IAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;IAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;CAClC;AAED,qBAAa,OAAQ,SAAQ,WAAW;;aAKD,OAAO,EAAE,iBAAiB;IAF7D,YAAY,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAK;gBAEd,OAAO,EAAE,iBAAiB;IAI7D,IAAW,GAAG,wCAEb;IAED,IAAW,cAAc,+BAExB;IAED,IAAW,QAAQ,oBAElB;CACJ;AAED,OAAO,QAAQ,uBAAuB,CAAC;IACnC,UAAU,OAAO;QACb,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;QAC1B,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,YAAY,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;KAC/C;CACJ"} \ No newline at end of file +{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IACxD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,qBAAqB;IAClC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;IAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;IAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;CAClC;AAED,qBAAa,OAAQ,SAAQ,WAAW;;aAKD,OAAO,EAAE,iBAAiB;IAF7D,YAAY,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAK;gBAEd,OAAO,EAAE,iBAAiB;IAI7D,IAAW,GAAG,wCAEb;IAED,IAAW,cAAc,+BAExB;IAED,IAAW,QAAQ,oBAElB;CACJ;AAED,OAAO,QAAQ,uBAAuB,CAAC;IACnC,UAAU,OAAO;QACb,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;QAC1B,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,YAAY,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;KAChD;CACJ"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index bbeb827..7204d79 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 3d09b15..6c1ec4c 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index c9f9854..00587aa 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

Class GiveawaysDatabaseManagerAbstract

Hierarchy

  • DataBaseManager
    • GiveawaysDatabaseManager

Constructors

constructor +GiveawaysDatabaseManager | forge.giveaways

Class GiveawaysDatabaseManagerAbstract

Hierarchy

  • DataBaseManager
    • GiveawaysDatabaseManager

Constructors

Properties

Methods

Constructors

Properties

database: string
entityManager: {
    mongodb: MixedList<string | Function | EntitySchema<any>>;
    mysql: MixedList<string | Function | EntitySchema<any>>;
    postgres: MixedList<string | Function | EntitySchema<any>>;
    sqlite: MixedList<string | Function | EntitySchema<any>>;
}
type?:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"
type:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"

Methods

  • Returns Promise<DataSource>

+

Constructors

Properties

database: string
entityManager: {
    mongodb: MixedList<string | Function | EntitySchema<any>>;
    mysql: MixedList<string | Function | EntitySchema<any>>;
    postgres: MixedList<string | Function | EntitySchema<any>>;
    sqlite: MixedList<string | Function | EntitySchema<any>>;
}
type?:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"
type:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"

Methods

  • Returns Promise<DataSource>

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 59d2dfa..ca23389 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysInteractionManager.html b/docs/classes/GiveawaysInteractionManager.html index 061174b..9dd832e 100644 --- a/docs/classes/GiveawaysInteractionManager.html +++ b/docs/classes/GiveawaysInteractionManager.html @@ -1,2 +1,2 @@ -GiveawaysInteractionManager | forge.giveaways

Class GiveawaysInteractionManager

Constructors

Constructors

+GiveawaysInteractionManager | forge.giveaways

Class GiveawaysInteractionManager

Constructors

Constructors

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 9d1988f..e3bc832 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,19 +1,19 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Ends an existing giveaway.

    +

Constructors

Methods

  • Ends an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    Parameters

    • id: string

      The id of the giveaway to get.

      -

    Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    +

Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

  • Starts a new giveaway on a guild.

    +

Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 5a50f22..c4c4829 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 30fc9b9..f0d8b87 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,7 +1,7 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
+

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index cca1805..9477128 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: IGiveawayRequirements;
    winnersCount: number;
}

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: IGiveawayRequirements;
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: IGiveawayRequirements
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: IGiveawayRequirements
winnersCount: number
diff --git a/metadata/functions.json b/metadata/functions.json index f305687..72b9a9d 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"version":"1.0.0"},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$setRequiredRoles","description":"Sets the required roles for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage","version":"1.0.0"},{"name":"$setRestrictedMembers","description":"Sets the restricted members for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage","version":"1.0.0"},{"name":"$setRestrictedRoles","description":"Sets the restricted roles for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage","version":"1.0.0"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file +[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$setRequiredRoles","version":"1.0.0","description":"Sets the required roles for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$setRestrictedMembers","version":"1.0.0","description":"Sets the restricted members for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$setRestrictedRoles","version":"1.0.0","description":"Sets the restricted roles for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file diff --git a/src/native/manage/setRequiredRoles.ts b/src/native/manage/setRequiredRoles.ts index 3410cd7..23be4cd 100644 --- a/src/native/manage/setRequiredRoles.ts +++ b/src/native/manage/setRequiredRoles.ts @@ -16,6 +16,7 @@ export default new NativeFunction({ }, ], execute(ctx, [roles]) { + ctx.requirements ??= {} ctx.requirements.requiredRoles = roles return this.success() } diff --git a/src/native/manage/setRestrictedMembers.ts b/src/native/manage/setRestrictedMembers.ts index 27f89a1..2415969 100644 --- a/src/native/manage/setRestrictedMembers.ts +++ b/src/native/manage/setRestrictedMembers.ts @@ -16,6 +16,7 @@ export default new NativeFunction({ }, ], execute(ctx, [members]) { + ctx.requirements ??= {} ctx.requirements.restrictedMembers = members.map((x) => x.id) return this.success() } diff --git a/src/native/manage/setRestrictedRoles.ts b/src/native/manage/setRestrictedRoles.ts index d7a7dff..d86f44c 100644 --- a/src/native/manage/setRestrictedRoles.ts +++ b/src/native/manage/setRestrictedRoles.ts @@ -16,6 +16,7 @@ export default new NativeFunction({ }, ], execute(ctx, [roles]) { + ctx.requirements ??= {} ctx.requirements.restrictedRoles = roles return this.success() } diff --git a/src/structures/Context.ts b/src/structures/Context.ts index e75347f..97796a4 100644 --- a/src/structures/Context.ts +++ b/src/structures/Context.ts @@ -39,6 +39,6 @@ declare module "@tryforge/forgescript" { interface Context { giveaway?: Giveaway | null extendedStates?: ExtendedStates - requirements: Partial + requirements?: Partial } } \ No newline at end of file From 65f964c724eefba23fbed85c7156bc61ccf39b58 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Fri, 17 Oct 2025 23:39:11 +0200 Subject: [PATCH 27/87] Improve end giveaway --- dist/events/databaseConnect.d.ts | 4 ++ dist/events/databaseConnect.d.ts.map | 1 + dist/events/databaseConnect.js | 25 ++++++++++ dist/events/databaseConnect.js.map | 1 + dist/managers/GiveawaysEventManager.d.ts | 1 + dist/managers/GiveawaysEventManager.d.ts.map | 2 +- dist/managers/GiveawaysEventManager.js.map | 2 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 45 ++++++++++++----- dist/managers/GiveawaysManager.js.map | 2 +- docs/assets/search.js | 2 +- docs/classes/ForgeGiveaways.html | 6 +-- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionManager.html | 4 +- docs/classes/GiveawaysManager.html | 14 +++--- docs/interfaces/IForgeGiveawaysOptions.html | 4 +- docs/interfaces/IGiveawayEvents.html | 5 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- metadata/events.json | 2 +- src/events/databaseConnect.ts | 26 ++++++++++ src/managers/GiveawaysEventManager.ts | 1 + src/managers/GiveawaysManager.ts | 48 ++++++++++++++----- 24 files changed, 157 insertions(+), 56 deletions(-) create mode 100644 dist/events/databaseConnect.d.ts create mode 100644 dist/events/databaseConnect.d.ts.map create mode 100644 dist/events/databaseConnect.js create mode 100644 dist/events/databaseConnect.js.map create mode 100644 src/events/databaseConnect.ts diff --git a/dist/events/databaseConnect.d.ts b/dist/events/databaseConnect.d.ts new file mode 100644 index 0000000..788ddb3 --- /dev/null +++ b/dist/events/databaseConnect.d.ts @@ -0,0 +1,4 @@ +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; +declare const _default: GiveawaysEventHandler<"databaseConnect">; +export default _default; +//# sourceMappingURL=databaseConnect.d.ts.map \ No newline at end of file diff --git a/dist/events/databaseConnect.d.ts.map b/dist/events/databaseConnect.d.ts.map new file mode 100644 index 0000000..3a6a53c --- /dev/null +++ b/dist/events/databaseConnect.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"databaseConnect.d.ts","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAmBE"} \ No newline at end of file diff --git a/dist/events/databaseConnect.js b/dist/events/databaseConnect.js new file mode 100644 index 0000000..7fcbe3d --- /dev/null +++ b/dist/events/databaseConnect.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); +const __1 = require(".."); +const structures_1 = require("../structures"); +exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ + name: "databaseConnect", + description: "This event is fired when the database has connected", + listener: async function () { + const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("databaseConnect"); + if (commands?.length) { + for (const command of commands) { + const ctx = new structures_1.Context({ + obj: {}, + command, + client: this, + data: command.compiled.code, + }); + forgescript_1.Interpreter.run(ctx); + } + } + }, +}); +//# sourceMappingURL=databaseConnect.js.map \ No newline at end of file diff --git a/dist/events/databaseConnect.js.map b/dist/events/databaseConnect.js.map new file mode 100644 index 0000000..532975a --- /dev/null +++ b/dist/events/databaseConnect.js.map @@ -0,0 +1 @@ +{"version":3,"file":"databaseConnect.js","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,qDAAqD;IAClE,QAAQ,EAAE,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAEzF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.d.ts b/dist/managers/GiveawaysEventManager.d.ts index 3966eb4..e5c67f4 100644 --- a/dist/managers/GiveawaysEventManager.d.ts +++ b/dist/managers/GiveawaysEventManager.d.ts @@ -1,6 +1,7 @@ import { BaseEventHandler, ForgeClient } from "@tryforge/forgescript"; import { Giveaway } from "../structures"; export interface IGiveawayEvents { + databaseConnect: []; giveawayStart: [Giveaway]; giveawayEnd: [Giveaway]; giveawayEdit: [Giveaway, Giveaway]; diff --git a/dist/managers/GiveawaysEventManager.d.ts.map b/dist/managers/GiveawaysEventManager.d.ts.map index cef672e..b083d09 100644 --- a/dist/managers/GiveawaysEventManager.d.ts.map +++ b/dist/managers/GiveawaysEventManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClC,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACtC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;CAC5C;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,MAAM,WAAW,eAAe;IAC5B,eAAe,EAAE,EAAE,CAAA;IACnB,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClC,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACtC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;CAC5C;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.js.map b/dist/managers/GiveawaysEventManager.js.map index 607e310..2697908 100644 --- a/dist/managers/GiveawaysEventManager.js.map +++ b/dist/managers/GiveawaysEventManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AAWnC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AAYnC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index aebeefa..23e1b9c 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAgD,UAAU,EAAgB,SAAS,EAAqB,MAAM,YAAY,CAAA;AACjI,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;OAIG;IACI,GAAG,CAAC,EAAE,EAAE,SAAS;IAIxB;;;OAGG;IACI,MAAM;IAIb;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA8C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IA+B5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,YAAY;CAIvB"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAgD,UAAU,EAAgB,SAAS,EAAqB,MAAM,YAAY,CAAA;AACjI,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;OAIG;IACI,GAAG,CAAC,EAAE,EAAE,SAAS;IAIxB;;;OAGG;IACI,MAAM;IAIb;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA+C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAoD5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,YAAY;CAIvB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index b61b54a..3db7028 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -60,7 +60,7 @@ class GiveawaysManager { const msg = await chan?.send({ embeds: [embed], components: [comps.toJSON()] - }); + }).catch(ctx.noop); giveaway.messageID = msg?.id; } this.emitter.emit("giveawayStart", giveaway); @@ -86,18 +86,37 @@ class GiveawaysManager { }); const winners = this._pickWinners(eligibleEntries, giveaway.winnersCount); giveaway.winners = winners; - await forgescript_1.Interpreter.run({ - ...ctx.runtime, - environment: { giveaway }, - data: forgescript_1.Compiler.compile(this.client.options?.messages?.end || ` - $!editMessage[$env[giveaway;channelID];$env[giveaway;messageID]; - $fetchEmbeds[$env[giveaway;channelID];$env[giveaway;messageID]] - $title[🎉 GIVEAWAY ENDED 🎉] - $color[Red] - ] - `), - doNotSend: true, - }); + if (this.client.options?.messages?.end) { + await forgescript_1.Interpreter.run({ + ...ctx.runtime, + environment: { giveaway }, + data: forgescript_1.Compiler.compile(this.client.options?.messages?.end), + doNotSend: true, + }); + } + else { + const chan = ctx.client.channels.cache.get(giveaway.channelID); + const msg = giveaway.messageID ? await chan?.messages.fetch(giveaway.messageID).catch(ctx.noop) : undefined; + if (msg) { + const oldEmbed = msg.embeds[0]; + const embed = discord_js_1.EmbedBuilder.from(oldEmbed) + .setTitle("🎉 GIVEAWAY ENDED 🎉") + .spliceFields(0, 1, { name: "Ended", value: oldEmbed.fields[0].value, inline: true }) + .setColor("Red"); + msg.edit({ + embeds: [embed] + }).catch(ctx.noop); + const plural = winners.length > 1 ? "s" : ""; + msg.reply({ + content: winners.length === 0 + ? "😢 No winners for this giveaway!" + : `🎉 Congratulations to the winner${plural} of **${giveaway.prize}**!\n🏆 **Winner${plural}:** ${winners.map((id) => `<@${id}>`).join(", ")}`, + allowedMentions: { + repliedUser: false + } + }).catch(ctx.noop); + } + } this.emitter.emit("giveawayEnd", giveaway); return giveaway; } diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index a1bf181..798de75 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":";;;AAAA,uDAAsE;AACtE,2CAAiI;AAIjI,8CAA+D;AAY/D,MAAa,gBAAgB;IAIJ;IACT;IAJK,SAAS,GAAG,IAAI,uBAAU,EAAuB,CAAA;IAElE,YACqB,MAAsB,EAC/B,OAAuD;QAD9C,WAAM,GAAN,MAAM,CAAgB;QAC/B,YAAO,GAAP,OAAO,CAAgD;IAChE,CAAC;IAEJ;;;;OAIG;IACI,GAAG,CAAC,EAAa;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjC,CAAC;IAED;;;OAGG;IACI,MAAM;QACT,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,KAAK,CAAC,GAAY,EAAE,OAA8B;QAC3D,MAAM,QAAQ,GAAG,IAAI,qBAAQ,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAA;QAEzF,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC;gBACjC,GAAG,GAAG,CAAC,OAAO;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;gBAC5D,SAAS,EAAE,IAAI;aAClB,CAAC,CAAA;YAEF,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;YAC1B,QAAQ,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QACjF,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,IAAI,yBAAY,EAAE;iBAC3B,QAAQ,CAAC,gBAAgB,CAAC;iBAC1B,cAAc,CAAC,cAAc,QAAQ,CAAC,KAAK,kBAAkB,QAAQ,CAAC,YAAY,EAAE,CAAC;iBACrF,SAAS,CACN,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAI,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAC/F,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,QAAQ,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CACtE;iBACA,QAAQ,CAAC,OAAO,CAAC,CAAA;YAEtB,MAAM,KAAK,GAAG,IAAI,6BAAgB,EAAE;iBAC/B,aAAa,CACV,IAAI,0BAAa,EAAE;iBACd,WAAW,CAAC,iBAAiB,QAAQ,CAAC,EAAE,EAAE,CAAC;iBAC3C,QAAQ,CAAC,OAAO,CAAC;iBACjB,QAAQ,CAAC,wBAAW,CAAC,OAAO,CAAC,CACrC,CAAA;YAEL,MAAM,GAAG,GAAG,MAAM,IAAI,EAAE,IAAI,CAAC;gBACzB,MAAM,EAAE,CAAC,KAAK,CAAC;gBACf,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC/B,CAAC,CAAA;YACF,QAAQ,CAAC,SAAS,GAAG,GAAG,EAAE,EAAE,CAAA;QAChC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACzC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAE/D,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,EAAa;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC7B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC/C,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAA;QAExB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC3D,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC1C,OAAO,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QACzE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;QAE1B,MAAM,yBAAW,CAAC,GAAG,CAAC;YAClB,GAAG,GAAG,CAAC,OAAO;YACd,WAAW,EAAE,EAAE,QAAQ,EAAE;YACzB,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI;;;;;;aAM5D,CAAC;YACF,SAAS,EAAE,IAAI;SAClB,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAE1C,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,GAAY,EAAE,EAAa;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC7B,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QAEpC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACrF,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC5E,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAA;QAE7B,MAAM,yBAAW,CAAC,GAAG,CAAC;YAClB,GAAG,GAAG,CAAC,OAAO;YACd,WAAW,EAAE,EAAE,QAAQ,EAAE;YACzB,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;YAC7D,SAAS,EAAE,IAAI;SAClB,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAE1D,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEO,YAAY,CAAC,OAAoB,EAAE,MAAc;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;QACxD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;CACJ;AAjJD,4CAiJC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 4b13e03..f172407 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 7204d79..a081e95 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 6c1ec4c..bf448aa 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 00587aa..08d4855 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

Class GiveawaysDatabaseManagerAbstract

Hierarchy

  • DataBaseManager
    • GiveawaysDatabaseManager

Constructors

constructor +GiveawaysDatabaseManager | forge.giveaways

Class GiveawaysDatabaseManagerAbstract

Hierarchy

  • DataBaseManager
    • GiveawaysDatabaseManager

Constructors

Properties

Methods

Constructors

Properties

database: string
entityManager: {
    mongodb: MixedList<string | Function | EntitySchema<any>>;
    mysql: MixedList<string | Function | EntitySchema<any>>;
    postgres: MixedList<string | Function | EntitySchema<any>>;
    sqlite: MixedList<string | Function | EntitySchema<any>>;
}
type?:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"
type:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"

Methods

  • Returns Promise<DataSource>

+

Constructors

Properties

database: string
entityManager: {
    mongodb: MixedList<string | Function | EntitySchema<any>>;
    mysql: MixedList<string | Function | EntitySchema<any>>;
    postgres: MixedList<string | Function | EntitySchema<any>>;
    sqlite: MixedList<string | Function | EntitySchema<any>>;
}
type?:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"
type:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"

Methods

  • Returns Promise<DataSource>

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index ca23389..cfd9146 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysInteractionManager.html b/docs/classes/GiveawaysInteractionManager.html index 9dd832e..7119d7d 100644 --- a/docs/classes/GiveawaysInteractionManager.html +++ b/docs/classes/GiveawaysInteractionManager.html @@ -1,2 +1,2 @@ -GiveawaysInteractionManager | forge.giveaways

Class GiveawaysInteractionManager

Constructors

Constructors

+GiveawaysInteractionManager | forge.giveaways

Class GiveawaysInteractionManager

Constructors

Constructors

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index e3bc832..32c1bf2 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,19 +1,19 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Ends an existing giveaway.

    +

Constructors

Methods

  • Ends an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    Parameters

    • id: string

      The id of the giveaway to get.

      -

    Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    +

Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

  • Starts a new giveaway on a guild.

    +

Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index c4c4829..5cc51c7 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index f0d8b87..a1c1916 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,7 +1,8 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    databaseConnect: [];
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
+

Properties

databaseConnect: []
giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 9477128..a1db3ca 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: IGiveawayRequirements;
    winnersCount: number;
}

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: IGiveawayRequirements;
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: IGiveawayRequirements
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: IGiveawayRequirements
winnersCount: number
diff --git a/metadata/events.json b/metadata/events.json index 33d8fa7..4784abe 100644 --- a/metadata/events.json +++ b/metadata/events.json @@ -1 +1 @@ -[{"name":"giveawayEdit","version":"1.0.0","description":"This event is fired when a giveaway was edited"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayEntryAdd","version":"1.0.0","description":"This event is fired when a giveaway entry is added"},{"name":"giveawayEntryRemove","version":"1.0.0","description":"This event is fired when a giveaway entry is removed"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file +[{"name":"databaseConnect","description":"This event is fired when the database has connected","version":"1.0.0"},{"name":"giveawayEdit","version":"1.0.0","description":"This event is fired when a giveaway was edited"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayEntryAdd","version":"1.0.0","description":"This event is fired when a giveaway entry is added"},{"name":"giveawayEntryRemove","version":"1.0.0","description":"This event is fired when a giveaway entry is removed"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file diff --git a/src/events/databaseConnect.ts b/src/events/databaseConnect.ts new file mode 100644 index 0000000..45e401d --- /dev/null +++ b/src/events/databaseConnect.ts @@ -0,0 +1,26 @@ +import { Interpreter } from "@tryforge/forgescript" +import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { ForgeGiveaways } from ".." +import { Context } from "../structures" + +export default new GiveawaysEventHandler({ + name: "databaseConnect", + version: "1.0.0", + description: "This event is fired when the database has connected", + listener: async function() { + const commands = this.getExtension(ForgeGiveaways, true).commands?.get("databaseConnect") + + if (commands?.length) { + for (const command of commands) { + const ctx = new Context({ + obj: {}, + command, + client: this, + data: command.compiled.code, + }) + + Interpreter.run(ctx) + } + } + }, +}) \ No newline at end of file diff --git a/src/managers/GiveawaysEventManager.ts b/src/managers/GiveawaysEventManager.ts index 03e4265..4cb7abf 100644 --- a/src/managers/GiveawaysEventManager.ts +++ b/src/managers/GiveawaysEventManager.ts @@ -3,6 +3,7 @@ import { Giveaway } from "../structures" import { ForgeGiveaways } from ".." export interface IGiveawayEvents { + databaseConnect: [] giveawayStart: [Giveaway] giveawayEnd: [Giveaway] giveawayEdit: [Giveaway, Giveaway] diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index b3a0106..845a653 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -81,7 +81,8 @@ export class GiveawaysManager { const msg = await chan?.send({ embeds: [embed], components: [comps.toJSON()] - }) + }).catch(ctx.noop) + giveaway.messageID = msg?.id } @@ -111,18 +112,39 @@ export class GiveawaysManager { const winners = this._pickWinners(eligibleEntries, giveaway.winnersCount) giveaway.winners = winners - await Interpreter.run({ - ...ctx.runtime, - environment: { giveaway }, - data: Compiler.compile(this.client.options?.messages?.end || ` - $!editMessage[$env[giveaway;channelID];$env[giveaway;messageID]; - $fetchEmbeds[$env[giveaway;channelID];$env[giveaway;messageID]] - $title[🎉 GIVEAWAY ENDED 🎉] - $color[Red] - ] - `), - doNotSend: true, - }) + if (this.client.options?.messages?.end) { + await Interpreter.run({ + ...ctx.runtime, + environment: { giveaway }, + data: Compiler.compile(this.client.options?.messages?.end), + doNotSend: true, + }) + } else { + const chan = ctx.client.channels.cache.get(giveaway.channelID) as TextChannel | undefined + const msg = giveaway.messageID ? await chan?.messages.fetch(giveaway.messageID).catch(ctx.noop) : undefined + + if (msg) { + const oldEmbed = msg.embeds[0] + const embed = EmbedBuilder.from(oldEmbed) + .setTitle("🎉 GIVEAWAY ENDED 🎉") + .spliceFields(0, 1, { name: "Ended", value: oldEmbed.fields[0].value, inline: true }) + .setColor("Red") + + msg.edit({ + embeds: [embed] + }).catch(ctx.noop) + + const plural = winners.length > 1 ? "s" : "" + msg.reply({ + content: winners.length === 0 + ? "😢 No winners for this giveaway!" + : `🎉 Congratulations to the winner${plural} of **${giveaway.prize}**!\n🏆 **Winner${plural}:** ${winners.map((id) => `<@${id}>`).join(", ")}`, + allowedMentions: { + repliedUser: false + } + }).catch(ctx.noop) + } + } this.emitter.emit("giveawayEnd", giveaway) From 22e7e1420b736647472fd3a9e95a87476dacdd10 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Fri, 17 Oct 2025 23:52:15 +0200 Subject: [PATCH 28/87] Fix mentions and components --- dist/events/databaseConnect.d.ts.map | 2 +- dist/events/databaseConnect.js | 1 + dist/events/databaseConnect.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 2 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 10 ++++++---- dist/managers/GiveawaysManager.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/classes/GiveawaysCommandManager.html | 4 ++-- docs/classes/GiveawaysDatabaseManager.html | 4 ++-- docs/classes/GiveawaysEventHandler.html | 4 ++-- docs/classes/GiveawaysInteractionManager.html | 4 ++-- docs/classes/GiveawaysManager.html | 14 +++++++------- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- docs/interfaces/IGiveawayEvents.html | 4 ++-- docs/interfaces/IGiveawayStartOptions.html | 4 ++-- metadata/events.json | 2 +- src/managers/GiveawaysManager.ts | 10 ++++++---- 18 files changed, 43 insertions(+), 38 deletions(-) diff --git a/dist/events/databaseConnect.d.ts.map b/dist/events/databaseConnect.d.ts.map index 3a6a53c..1719799 100644 --- a/dist/events/databaseConnect.d.ts.map +++ b/dist/events/databaseConnect.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"databaseConnect.d.ts","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAmBE"} \ No newline at end of file +{"version":3,"file":"databaseConnect.d.ts","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAoBE"} \ No newline at end of file diff --git a/dist/events/databaseConnect.js b/dist/events/databaseConnect.js index 7fcbe3d..a4a3d3a 100644 --- a/dist/events/databaseConnect.js +++ b/dist/events/databaseConnect.js @@ -6,6 +6,7 @@ const __1 = require(".."); const structures_1 = require("../structures"); exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "databaseConnect", + version: "1.0.0", description: "This event is fired when the database has connected", listener: async function () { const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("databaseConnect"); diff --git a/dist/events/databaseConnect.js.map b/dist/events/databaseConnect.js.map index 532975a..706baa0 100644 --- a/dist/events/databaseConnect.js.map +++ b/dist/events/databaseConnect.js.map @@ -1 +1 @@ -{"version":3,"file":"databaseConnect.js","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,qDAAqD;IAClE,QAAQ,EAAE,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAEzF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"databaseConnect.js","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,qDAAqD;IAClE,QAAQ,EAAE,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAEzF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index 8236684..a7e48d7 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -1,5 +1,5 @@ -import { Context } from "@tryforge/forgescript"; import { Collection, Snowflake } from "discord.js"; +import { Context } from "@tryforge/forgescript"; import { ForgeGiveaways, IGiveawayEvents } from ".."; import { TypedEmitter } from "tiny-typed-emitter"; import { TransformEvents } from "@tryforge/forge.db"; diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 23e1b9c..dbccf87 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAgD,UAAU,EAAgB,SAAS,EAAqB,MAAM,YAAY,CAAA;AACjI,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;OAIG;IACI,GAAG,CAAC,EAAE,EAAE,SAAS;IAIxB;;;OAGG;IACI,MAAM;IAIb;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA+C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAoD5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,YAAY;CAIvB"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,UAAU,EAAgB,SAAS,EAAqB,MAAM,YAAY,CAAA;AACjI,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;OAIG;IACI,GAAG,CAAC,EAAE,EAAE,SAAS;IAIxB;;;OAGG;IACI,MAAM;IAIb;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA+C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAsD5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,YAAY;CAIvB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 3db7028..51b6afc 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -1,8 +1,8 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GiveawaysManager = void 0; -const forgescript_1 = require("@tryforge/forgescript"); const discord_js_1 = require("discord.js"); +const forgescript_1 = require("@tryforge/forgescript"); const structures_1 = require("../structures"); class GiveawaysManager { client; @@ -104,15 +104,17 @@ class GiveawaysManager { .spliceFields(0, 1, { name: "Ended", value: oldEmbed.fields[0].value, inline: true }) .setColor("Red"); msg.edit({ - embeds: [embed] + embeds: [embed], + components: [] }).catch(ctx.noop); const plural = winners.length > 1 ? "s" : ""; msg.reply({ content: winners.length === 0 ? "😢 No winners for this giveaway!" - : `🎉 Congratulations to the winner${plural} of **${giveaway.prize}**!\n🏆 **Winner${plural}:** ${winners.map((id) => `<@${id}>`).join(", ")}`, + : `🎉 Congratulations to the winner${plural} of **${giveaway.prize}**!\n> 🏆 **Winner${plural}:** ${winners.map((id) => `<@${id}>`).join(", ")}`, allowedMentions: { - repliedUser: false + repliedUser: false, + parse: ["users"] } }).catch(ctx.noop); } diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 798de75..5b29323 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index a081e95..fb7cfea 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index bf448aa..fbaac3a 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 08d4855..5c068d7 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

Class GiveawaysDatabaseManagerAbstract

Hierarchy

  • DataBaseManager
    • GiveawaysDatabaseManager

Constructors

constructor +GiveawaysDatabaseManager | forge.giveaways

Class GiveawaysDatabaseManagerAbstract

Hierarchy

  • DataBaseManager
    • GiveawaysDatabaseManager

Constructors

Properties

Methods

Constructors

Properties

database: string
entityManager: {
    mongodb: MixedList<string | Function | EntitySchema<any>>;
    mysql: MixedList<string | Function | EntitySchema<any>>;
    postgres: MixedList<string | Function | EntitySchema<any>>;
    sqlite: MixedList<string | Function | EntitySchema<any>>;
}
type?:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"
type:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"

Methods

  • Returns Promise<DataSource>

+

Constructors

Properties

database: string
entityManager: {
    mongodb: MixedList<string | Function | EntitySchema<any>>;
    mysql: MixedList<string | Function | EntitySchema<any>>;
    postgres: MixedList<string | Function | EntitySchema<any>>;
    sqlite: MixedList<string | Function | EntitySchema<any>>;
}
type?:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"
type:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"

Methods

  • Returns Promise<DataSource>

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index cfd9146..6ffe55e 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysInteractionManager.html b/docs/classes/GiveawaysInteractionManager.html index 7119d7d..ff78f97 100644 --- a/docs/classes/GiveawaysInteractionManager.html +++ b/docs/classes/GiveawaysInteractionManager.html @@ -1,2 +1,2 @@ -GiveawaysInteractionManager | forge.giveaways

Class GiveawaysInteractionManager

Constructors

Constructors

+GiveawaysInteractionManager | forge.giveaways

Class GiveawaysInteractionManager

Constructors

Constructors

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 32c1bf2..156dace 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,19 +1,19 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Ends an existing giveaway.

    +

Constructors

Methods

  • Ends an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    Parameters

    • id: string

      The id of the giveaway to get.

      -

    Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    +

Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    Parameters

    • ctx: Context

      The current context.

    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

  • Starts a new giveaway on a guild.

    +

Returns Promise<null | Giveaway>

+

Returns Promise<Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 5cc51c7..334913c 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index a1c1916..6fc0682 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,8 +1,8 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    databaseConnect: [];
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

databaseConnect +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    databaseConnect: [];
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

databaseConnect: []
giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
+

Properties

databaseConnect: []
giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index a1db3ca..275809e 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: IGiveawayRequirements;
    winnersCount: number;
}

Properties

channelID +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: IGiveawayRequirements;
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: IGiveawayRequirements
winnersCount: number
+

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: IGiveawayRequirements
winnersCount: number
diff --git a/metadata/events.json b/metadata/events.json index 4784abe..1969ccd 100644 --- a/metadata/events.json +++ b/metadata/events.json @@ -1 +1 @@ -[{"name":"databaseConnect","description":"This event is fired when the database has connected","version":"1.0.0"},{"name":"giveawayEdit","version":"1.0.0","description":"This event is fired when a giveaway was edited"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayEntryAdd","version":"1.0.0","description":"This event is fired when a giveaway entry is added"},{"name":"giveawayEntryRemove","version":"1.0.0","description":"This event is fired when a giveaway entry is removed"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file +[{"name":"databaseConnect","version":"1.0.0","description":"This event is fired when the database has connected"},{"name":"giveawayEdit","version":"1.0.0","description":"This event is fired when a giveaway was edited"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayEntryAdd","version":"1.0.0","description":"This event is fired when a giveaway entry is added"},{"name":"giveawayEntryRemove","version":"1.0.0","description":"This event is fired when a giveaway entry is removed"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 845a653..9cd0268 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -1,5 +1,5 @@ -import { Compiler, Context, Interpreter } from "@tryforge/forgescript" import { ActionRowBuilder, ButtonBuilder, ButtonStyle, Collection, EmbedBuilder, Snowflake, TextChannel, time } from "discord.js" +import { Compiler, Context, Interpreter } from "@tryforge/forgescript" import { ForgeGiveaways, IGiveawayEvents } from ".." import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" @@ -131,16 +131,18 @@ export class GiveawaysManager { .setColor("Red") msg.edit({ - embeds: [embed] + embeds: [embed], + components: [] }).catch(ctx.noop) const plural = winners.length > 1 ? "s" : "" msg.reply({ content: winners.length === 0 ? "😢 No winners for this giveaway!" - : `🎉 Congratulations to the winner${plural} of **${giveaway.prize}**!\n🏆 **Winner${plural}:** ${winners.map((id) => `<@${id}>`).join(", ")}`, + : `🎉 Congratulations to the winner${plural} of **${giveaway.prize}**!\n> 🏆 **Winner${plural}:** ${winners.map((id) => `<@${id}>`).join(", ")}`, allowedMentions: { - repliedUser: false + repliedUser: false, + parse: ["users"] } }).catch(ctx.noop) } From 8dc7490cd85c66ef2a58d27f74a64f6615b6509a Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 14:26:47 +0200 Subject: [PATCH 29/87] Test: Added database --- dist/functions/getGiveaway.d.ts | 2 +- dist/functions/getGiveaway.d.ts.map | 2 +- dist/functions/getGiveaway.js | 4 +- dist/functions/getGiveaway.js.map | 2 +- dist/index.d.ts | 9 +- dist/index.d.ts.map | 2 +- dist/index.js | 31 ++----- dist/index.js.map | 2 +- .../GiveawaysInteractionManager.d.ts.map | 2 +- dist/managers/GiveawaysInteractionManager.js | 4 +- .../GiveawaysInteractionManager.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 10 +-- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 17 ++-- dist/managers/GiveawaysManager.js.map | 2 +- dist/native/giveawayChannelID.js | 4 +- dist/native/giveawayChannelID.js.map | 2 +- dist/native/giveawayDuration.js | 4 +- dist/native/giveawayDuration.js.map | 2 +- dist/native/giveawayEntries.js | 4 +- dist/native/giveawayEntries.js.map | 2 +- dist/native/giveawayGuildID.js | 4 +- dist/native/giveawayGuildID.js.map | 2 +- dist/native/giveawayHasEnded.js | 4 +- dist/native/giveawayHasEnded.js.map | 2 +- dist/native/giveawayHostID.js | 4 +- dist/native/giveawayHostID.js.map | 2 +- dist/native/giveawayMessageID.js | 4 +- dist/native/giveawayMessageID.js.map | 2 +- dist/native/giveawayPrize.js | 4 +- dist/native/giveawayPrize.js.map | 2 +- dist/native/giveawayRequiredRoles.js | 4 +- dist/native/giveawayRequiredRoles.js.map | 2 +- dist/native/giveawayRestrictedMembers.js | 4 +- dist/native/giveawayRestrictedMembers.js.map | 2 +- dist/native/giveawayRestrictedRoles.js | 4 +- dist/native/giveawayRestrictedRoles.js.map | 2 +- dist/native/giveawayWinners.js | 4 +- dist/native/giveawayWinners.js.map | 2 +- dist/native/giveawayWinnersCount.js | 4 +- dist/native/giveawayWinnersCount.js.map | 2 +- dist/properties/giveaway.d.ts | 2 +- dist/properties/giveaway.d.ts.map | 2 +- dist/structures/Database.d.ts | 48 +++++++++++ dist/structures/Database.d.ts.map | 1 + dist/structures/Database.js | 75 ++++++++++++++++ dist/structures/Database.js.map | 1 + dist/structures/index.d.ts | 1 + dist/structures/index.d.ts.map | 2 +- dist/structures/index.js | 1 + dist/structures/index.js.map | 2 +- docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/ForgeGiveaways.html | 7 +- docs/classes/GiveawaysCommandManager.html | 25 ------ docs/classes/GiveawaysDatabaseManager.html | 7 -- docs/classes/GiveawaysEventHandler.html | 7 -- docs/classes/GiveawaysInteractionManager.html | 2 - docs/classes/GiveawaysManager.html | 19 ----- docs/interfaces/IForgeGiveawaysOptions.html | 4 +- docs/interfaces/IGiveawayEvents.html | 8 -- docs/interfaces/IGiveawayStartOptions.html | 8 -- docs/modules.html | 7 -- src/functions/getGiveaway.ts | 4 +- src/index.ts | 16 ++-- src/managers/GiveawaysInteractionManager.ts | 4 +- src/managers/GiveawaysManager.ts | 23 ++--- src/native/giveawayChannelID.ts | 4 +- src/native/giveawayDuration.ts | 4 +- src/native/giveawayEntries.ts | 4 +- src/native/giveawayGuildID.ts | 4 +- src/native/giveawayHasEnded.ts | 4 +- src/native/giveawayHostID.ts | 4 +- src/native/giveawayMessageID.ts | 4 +- src/native/giveawayPrize.ts | 4 +- src/native/giveawayRequiredRoles.ts | 4 +- src/native/giveawayRestrictedMembers.ts | 4 +- src/native/giveawayRestrictedRoles.ts | 4 +- src/native/giveawayWinners.ts | 4 +- src/native/giveawayWinnersCount.ts | 4 +- src/properties/giveaway.ts | 2 +- src/structures/Database.ts | 85 +++++++++++++++++++ src/structures/index.ts | 1 + 83 files changed, 355 insertions(+), 236 deletions(-) create mode 100644 dist/structures/Database.d.ts create mode 100644 dist/structures/Database.d.ts.map create mode 100644 dist/structures/Database.js create mode 100644 dist/structures/Database.js.map delete mode 100644 docs/classes/GiveawaysCommandManager.html delete mode 100644 docs/classes/GiveawaysDatabaseManager.html delete mode 100644 docs/classes/GiveawaysEventHandler.html delete mode 100644 docs/classes/GiveawaysInteractionManager.html delete mode 100644 docs/classes/GiveawaysManager.html delete mode 100644 docs/interfaces/IGiveawayEvents.html delete mode 100644 docs/interfaces/IGiveawayStartOptions.html create mode 100644 src/structures/Database.ts diff --git a/dist/functions/getGiveaway.d.ts b/dist/functions/getGiveaway.d.ts index d720599..02d4c5d 100644 --- a/dist/functions/getGiveaway.d.ts +++ b/dist/functions/getGiveaway.d.ts @@ -1,3 +1,3 @@ import { Context } from "@tryforge/forgescript"; -export default function (ctx: Context, id: string): import("../structures").Giveaway | undefined; +export default function (ctx: Context, id: string): Promise; //# sourceMappingURL=getGiveaway.d.ts.map \ No newline at end of file diff --git a/dist/functions/getGiveaway.d.ts.map b/dist/functions/getGiveaway.d.ts.map index b192397..c09e8e2 100644 --- a/dist/functions/getGiveaway.d.ts.map +++ b/dist/functions/getGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"getGiveaway.d.ts","sourceRoot":"","sources":["../../src/functions/getGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG/C,MAAM,CAAC,OAAO,WAAU,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,gDAE/C"} \ No newline at end of file +{"version":3,"file":"getGiveaway.d.ts","sourceRoot":"","sources":["../../src/functions/getGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG/C,yBAA8B,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,gEAErD"} \ No newline at end of file diff --git a/dist/functions/getGiveaway.js b/dist/functions/getGiveaway.js index 75abac7..31f945b 100644 --- a/dist/functions/getGiveaway.js +++ b/dist/functions/getGiveaway.js @@ -2,7 +2,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.default = default_1; const __1 = require(".."); -function default_1(ctx, id) { - return ctx.client.getExtension(__1.ForgeGiveaways, true).giveawaysManager.get(id); +async function default_1(ctx, id) { + return await ctx.client.getExtension(__1.ForgeGiveaways, true).database.get(id); } //# sourceMappingURL=getGiveaway.js.map \ No newline at end of file diff --git a/dist/functions/getGiveaway.js.map b/dist/functions/getGiveaway.js.map index 96bcc2a..0d987f7 100644 --- a/dist/functions/getGiveaway.js.map +++ b/dist/functions/getGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"getGiveaway.js","sourceRoot":"","sources":["../../src/functions/getGiveaway.ts"],"names":[],"mappings":";;AAGA,4BAEC;AAJD,0BAAmC;AAEnC,mBAAwB,GAAY,EAAE,EAAU;IAC5C,OAAO,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACjF,CAAC"} \ No newline at end of file +{"version":3,"file":"getGiveaway.js","sourceRoot":"","sources":["../../src/functions/getGiveaway.ts"],"names":[],"mappings":";;AAGA,4BAEC;AAJD,0BAAmC;AAEpB,KAAK,oBAAU,GAAY,EAAE,EAAU;IAClD,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAC/E,CAAC"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index 9814199..4904112 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -1,9 +1,8 @@ import { ForgeClient, ForgeExtension } from "@tryforge/forgescript"; -import { IGiveawayEvents } from "./managers/GiveawaysEventManager"; -import { GiveawaysCommandManager } from "./managers/GiveawaysCommandManager"; -import { GiveawaysManager } from "./managers/GiveawaysManager"; +import { IGiveawayEvents, GiveawaysCommandManager, GiveawaysManager } from "./managers"; import { TypedEmitter } from "tiny-typed-emitter"; import { TransformEvents } from "@tryforge/forge.db"; +import { Database } from "./structures"; export interface IForgeGiveawaysOptions { events?: keyof IGiveawayEvents; messages?: { @@ -19,9 +18,9 @@ export declare class ForgeGiveaways extends ForgeExtension { version: any; emitter: TypedEmitter>; readonly giveawaysManager: GiveawaysManager; + readonly database: Database; commands: GiveawaysCommandManager | null; constructor(options?: IForgeGiveawaysOptions | undefined); - init(client: ForgeClient): void; + init(client: ForgeClient): Promise; } -export * from "./managers"; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index e674d74..af9dafc 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAE5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAUV,OAAO,CAAC,EAAE,sBAAsB;IATpE,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAErC,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAK7D,IAAI,CAAC,MAAM,EAAE,WAAW;CAYlC;AAED,cAAc,YAAY,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,CAAC,EAAE,sBAAsB;IAVpE,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAErC,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,SAAgB,QAAQ,EAAE,QAAQ,CAAA;IAClC,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAMvD,IAAI,CAAC,MAAM,EAAE,WAAW;CAcxC"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 1d03c49..2ef6a34 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,48 +1,35 @@ "use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; Object.defineProperty(exports, "__esModule", { value: true }); exports.ForgeGiveaways = void 0; const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysCommandManager_1 = require("./managers/GiveawaysCommandManager"); -const GiveawaysInteractionManager_1 = require("./managers/GiveawaysInteractionManager"); -const GiveawaysManager_1 = require("./managers/GiveawaysManager"); +const managers_1 = require("./managers"); const tiny_typed_emitter_1 = require("tiny-typed-emitter"); +const structures_1 = require("./structures"); class ForgeGiveaways extends forgescript_1.ForgeExtension { options; name = "ForgeGiveaways"; description = ""; version = require("../package.json").version; emitter = new tiny_typed_emitter_1.TypedEmitter(); - giveawaysManager = new GiveawaysManager_1.GiveawaysManager(this, this.emitter); + giveawaysManager = new managers_1.GiveawaysManager(this, this.emitter); + database; commands; constructor(options) { super(); this.options = options; this.commands = null; + this.database = new structures_1.Database(this.emitter); } - init(client) { - this.commands = new GiveawaysCommandManager_1.GiveawaysCommandManager(client); + async init(client) { + this.commands = new managers_1.GiveawaysCommandManager(client); forgescript_1.EventManager.load("ForgeGiveawaysEvents", __dirname + "/events"); this.load(__dirname + "/native"); - new GiveawaysInteractionManager_1.GiveawaysInteractionManager(client); + new managers_1.GiveawaysInteractionManager(client); if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); } + await this.database.init(); } } exports.ForgeGiveaways = ForgeGiveaways; -__exportStar(require("./managers"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map index 46ff0ae..0294c6a 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AAEjF,gFAA4E;AAC5E,wFAAoF;AACpF,kEAA8D;AAC9D,2DAAiD;AAYjD,MAAa,cAAe,SAAQ,4BAAc;IAUV;IATpC,IAAI,GAAG,gBAAgB,CAAA;IACvB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAErC,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,mCAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,IAAI,CAAC,MAAmB;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,iDAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,yDAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AA3BD,wCA2BC;AAED,6CAA0B"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,gBAAgB,CAAA;IACvB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAErC,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3D,QAAQ,CAAU;IAClC,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC9B,CAAC;CACJ;AA/BD,wCA+BC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysInteractionManager.d.ts.map b/dist/managers/GiveawaysInteractionManager.d.ts.map index ac25533..21bdfb5 100644 --- a/dist/managers/GiveawaysInteractionManager.d.ts.map +++ b/dist/managers/GiveawaysInteractionManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAInD,qBAAa,2BAA2B;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAIvD,OAAO,CAAC,SAAS;CA6BpB"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAInD,qBAAa,2BAA2B;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;YAIzC,SAAS;CA6B1B"} \ No newline at end of file diff --git a/dist/managers/GiveawaysInteractionManager.js b/dist/managers/GiveawaysInteractionManager.js index b08d6f3..844c7a6 100644 --- a/dist/managers/GiveawaysInteractionManager.js +++ b/dist/managers/GiveawaysInteractionManager.js @@ -9,13 +9,13 @@ class GiveawaysInteractionManager { this.client = client; this._register(); } - _register() { + async _register() { this.client.on("interactionCreate", async (interaction) => { if (!interaction.isButton() || !interaction.customId.startsWith("giveawayEntry-")) return; const [, id] = interaction.customId.split("-"); const client = this.client.getExtension(__1.ForgeGiveaways, true); - const giveaway = client.giveawaysManager.get(id); + const giveaway = await client.database.get(id); if (!giveaway) return; const member = interaction.member; diff --git a/dist/managers/GiveawaysInteractionManager.js.map b/dist/managers/GiveawaysInteractionManager.js.map index 566bfb7..1b725f2 100644 --- a/dist/managers/GiveawaysInteractionManager.js.map +++ b/dist/managers/GiveawaysInteractionManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AACtD,0BAAmC;AAEnC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,SAAS;QACb,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAM;YACzF,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChD,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM,YAAY,wBAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAM;YAEzE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE9C,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC/B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClE,CAAC;YAED,WAAW,CAAC,KAAK,CAAC;gBACd,OAAO,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB;gBAC9E,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAlCD,kEAkCC"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AACtD,0BAAmC;AAEnC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAM;YACzF,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC9C,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM,YAAY,wBAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAM;YAEzE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE9C,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC/B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClE,CAAC;YAED,WAAW,CAAC,KAAK,CAAC;gBACd,OAAO,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB;gBAC9E,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAlCD,kEAkCC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index a7e48d7..096c889 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -1,9 +1,10 @@ -import { Collection, Snowflake } from "discord.js"; +import { Snowflake } from "discord.js"; import { Context } from "@tryforge/forgescript"; -import { ForgeGiveaways, IGiveawayEvents } from ".."; import { TypedEmitter } from "tiny-typed-emitter"; import { TransformEvents } from "@tryforge/forge.db"; import { Giveaway, IGiveawayRequirements } from "../structures"; +import { IGiveawayEvents } from "./GiveawaysEventManager"; +import { ForgeGiveaways } from ".."; export interface IGiveawayStartOptions { prize: string; duration: number; @@ -16,19 +17,18 @@ export interface IGiveawayStartOptions { export declare class GiveawaysManager { private readonly client; private emitter; - private readonly giveaways; constructor(client: ForgeGiveaways, emitter: TypedEmitter>); /** * Gets an existing giveaway. * @param id The id of the giveaway to get. * @returns */ - get(id: Snowflake): Giveaway | undefined; + get(id: Snowflake): Promise; /** * Gets all existing giveaways. * @returns */ - getAll(): Collection; + getAll(): Promise; /** * Starts a new giveaway on a guild. * @param ctx The current context. diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index dbccf87..b716327 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,UAAU,EAAgB,SAAS,EAAqB,MAAM,YAAY,CAAA;AACjI,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;IAJnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;gBAG7C,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;OAIG;IACI,GAAG,CAAC,EAAE,EAAE,SAAS;IAIxB;;;OAGG;IACI,MAAM;IAIb;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA+C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAsD5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAqB/C,OAAO,CAAC,YAAY;CAIvB"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBADE,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAI9B;;;OAGG;IACU,MAAM;IAInB;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA+C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAuD5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAsB/C,OAAO,CAAC,YAAY;CAIvB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 51b6afc..fe62d24 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -7,7 +7,6 @@ const structures_1 = require("../structures"); class GiveawaysManager { client; emitter; - giveaways = new discord_js_1.Collection(); constructor(client, emitter) { this.client = client; this.emitter = emitter; @@ -17,15 +16,15 @@ class GiveawaysManager { * @param id The id of the giveaway to get. * @returns */ - get(id) { - return this.giveaways.get(id); + async get(id) { + return await this.client.database.get(id); } /** * Gets all existing giveaways. * @returns */ - getAll() { - return this.giveaways; + async getAll() { + return this.client.database.getAll(); } /** * Starts a new giveaway on a guild. @@ -63,8 +62,8 @@ class GiveawaysManager { }).catch(ctx.noop); giveaway.messageID = msg?.id; } + await this.client.database.set(giveaway); this.emitter.emit("giveawayStart", giveaway); - this.giveaways.set(giveaway.id, giveaway); setTimeout(() => this.end(ctx, giveaway.id), giveaway.duration); return giveaway; } @@ -75,7 +74,7 @@ class GiveawaysManager { * @returns */ async end(ctx, id) { - const giveaway = this.get(id); + const giveaway = await this.get(id); if (!giveaway || giveaway.hasEnded) return null; giveaway.hasEnded = true; @@ -119,6 +118,7 @@ class GiveawaysManager { }).catch(ctx.noop); } } + await this.client.database.set(giveaway); this.emitter.emit("giveawayEnd", giveaway); return giveaway; } @@ -129,7 +129,7 @@ class GiveawaysManager { * @returns */ async reroll(ctx, id) { - const giveaway = this.get(id); + const giveaway = await this.get(id); if (!giveaway || !giveaway.hasEnded) return null; const oldGiveaway = giveaway.clone(); @@ -142,6 +142,7 @@ class GiveawaysManager { data: forgescript_1.Compiler.compile(this.client.options?.messages?.reroll), doNotSend: true, }); + await this.client.database.set(giveaway); this.emitter.emit("giveawayReroll", oldGiveaway, giveaway); return giveaway; } diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 5b29323..90528af 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/native/giveawayChannelID.js b/dist/native/giveawayChannelID.js index d6196d5..1517043 100644 --- a/dist/native/giveawayChannelID.js +++ b/dist/native/giveawayChannelID.js @@ -21,8 +21,8 @@ exports.default = new forgescript_1.NativeFunction({ }, ], output: forgescript_1.ArgType.Channel, - execute(ctx, [id]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + async execute(ctx, [id]) { + const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.channelID); } }); diff --git a/dist/native/giveawayChannelID.js.map b/dist/native/giveawayChannelID.js.map index 81a1668..f214025 100644 --- a/dist/native/giveawayChannelID.js.map +++ b/dist/native/giveawayChannelID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayChannelID.js","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayChannelID.js","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayDuration.js b/dist/native/giveawayDuration.js index c430532..8e8865a 100644 --- a/dist/native/giveawayDuration.js +++ b/dist/native/giveawayDuration.js @@ -21,8 +21,8 @@ exports.default = new forgescript_1.NativeFunction({ }, ], output: forgescript_1.ArgType.Number, - execute(ctx, [id]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + async execute(ctx, [id]) { + const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.duration); } }); diff --git a/dist/native/giveawayDuration.js.map b/dist/native/giveawayDuration.js.map index a74b260..0acaeeb 100644 --- a/dist/native/giveawayDuration.js.map +++ b/dist/native/giveawayDuration.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayDuration.js","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,0CAA0C;IACvD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayDuration.js","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,0CAA0C;IACvD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayEntries.js b/dist/native/giveawayEntries.js index 0908532..4d4900d 100644 --- a/dist/native/giveawayEntries.js +++ b/dist/native/giveawayEntries.js @@ -28,8 +28,8 @@ exports.default = new forgescript_1.NativeFunction({ }, ], output: (0, array_1.default)(), - execute(ctx, [id, sep]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + async execute(ctx, [id, sep]) { + const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.entries.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayEntries.js.map b/dist/native/giveawayEntries.js.map index fd263ce..b1106d1 100644 --- a/dist/native/giveawayEntries.js.map +++ b/dist/native/giveawayEntries.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntries.js","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntries.js","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayGuildID.js b/dist/native/giveawayGuildID.js index b9c081a..1fbce17 100644 --- a/dist/native/giveawayGuildID.js +++ b/dist/native/giveawayGuildID.js @@ -21,8 +21,8 @@ exports.default = new forgescript_1.NativeFunction({ }, ], output: forgescript_1.ArgType.Guild, - execute(ctx, [id]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + async execute(ctx, [id]) { + const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.guildID); } }); diff --git a/dist/native/giveawayGuildID.js.map b/dist/native/giveawayGuildID.js.map index 28e6198..5f8234f 100644 --- a/dist/native/giveawayGuildID.js.map +++ b/dist/native/giveawayGuildID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayGuildID.js","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,KAAK;IACrB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayGuildID.js","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,KAAK;IACrB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayHasEnded.js b/dist/native/giveawayHasEnded.js index e93c24f..cfeae72 100644 --- a/dist/native/giveawayHasEnded.js +++ b/dist/native/giveawayHasEnded.js @@ -21,8 +21,8 @@ exports.default = new forgescript_1.NativeFunction({ }, ], output: forgescript_1.ArgType.Boolean, - execute(ctx, [id]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + async execute(ctx, [id]) { + const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.hasEnded); } }); diff --git a/dist/native/giveawayHasEnded.js.map b/dist/native/giveawayHasEnded.js.map index cc24c04..6f4877a 100644 --- a/dist/native/giveawayHasEnded.js.map +++ b/dist/native/giveawayHasEnded.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayHasEnded.js","sourceRoot":"","sources":["../../src/native/giveawayHasEnded.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayHasEnded.js","sourceRoot":"","sources":["../../src/native/giveawayHasEnded.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayHostID.js b/dist/native/giveawayHostID.js index 6fbb394..3ce62fa 100644 --- a/dist/native/giveawayHostID.js +++ b/dist/native/giveawayHostID.js @@ -21,8 +21,8 @@ exports.default = new forgescript_1.NativeFunction({ }, ], output: forgescript_1.ArgType.User, - execute(ctx, [id]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + async execute(ctx, [id]) { + const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.hostID); } }); diff --git a/dist/native/giveawayHostID.js.map b/dist/native/giveawayHostID.js.map index f41cdf6..784f763 100644 --- a/dist/native/giveawayHostID.js.map +++ b/dist/native/giveawayHostID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayHostID.js","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayHostID.js","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayMessageID.js b/dist/native/giveawayMessageID.js index 0cf3d0d..29bbf24 100644 --- a/dist/native/giveawayMessageID.js +++ b/dist/native/giveawayMessageID.js @@ -21,8 +21,8 @@ exports.default = new forgescript_1.NativeFunction({ }, ], output: forgescript_1.ArgType.Message, - execute(ctx, [id]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + async execute(ctx, [id]) { + const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.messageID); } }); diff --git a/dist/native/giveawayMessageID.js.map b/dist/native/giveawayMessageID.js.map index 23bb0a7..12310e3 100644 --- a/dist/native/giveawayMessageID.js.map +++ b/dist/native/giveawayMessageID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayMessageID.js","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayMessageID.js","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayPrize.js b/dist/native/giveawayPrize.js index f8cbb5d..b6ad6f3 100644 --- a/dist/native/giveawayPrize.js +++ b/dist/native/giveawayPrize.js @@ -21,8 +21,8 @@ exports.default = new forgescript_1.NativeFunction({ }, ], output: forgescript_1.ArgType.String, - execute(ctx, [id]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + async execute(ctx, [id]) { + const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.prize); } }); diff --git a/dist/native/giveawayPrize.js.map b/dist/native/giveawayPrize.js.map index 1f4b341..05c13e5 100644 --- a/dist/native/giveawayPrize.js.map +++ b/dist/native/giveawayPrize.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayPrize.js","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,iCAAiC;IAC9C,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayPrize.js","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,iCAAiC;IAC9C,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRequiredRoles.js b/dist/native/giveawayRequiredRoles.js index 56feca2..6b99187 100644 --- a/dist/native/giveawayRequiredRoles.js +++ b/dist/native/giveawayRequiredRoles.js @@ -28,8 +28,8 @@ exports.default = new forgescript_1.NativeFunction({ }, ], output: (0, array_1.default)(), - execute(ctx, [id, sep]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + async execute(ctx, [id, sep]) { + const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.requirements?.requiredRoles?.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayRequiredRoles.js.map b/dist/native/giveawayRequiredRoles.js.map index b04d9a1..a55922c 100644 --- a/dist/native/giveawayRequiredRoles.js.map +++ b/dist/native/giveawayRequiredRoles.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRequiredRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACjF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRequiredRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACjF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedMembers.js b/dist/native/giveawayRestrictedMembers.js index ddfc952..c8c65f8 100644 --- a/dist/native/giveawayRestrictedMembers.js +++ b/dist/native/giveawayRestrictedMembers.js @@ -28,8 +28,8 @@ exports.default = new forgescript_1.NativeFunction({ }, ], output: (0, array_1.default)(), - execute(ctx, [id, sep]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + async execute(ctx, [id, sep]) { + const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.requirements?.restrictedMembers?.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayRestrictedMembers.js.map b/dist/native/giveawayRestrictedMembers.js.map index 5433a72..59779ef 100644 --- a/dist/native/giveawayRestrictedMembers.js.map +++ b/dist/native/giveawayRestrictedMembers.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRestrictedMembers.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAkB;IAC/B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRestrictedMembers.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAkB;IAC/B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedRoles.js b/dist/native/giveawayRestrictedRoles.js index c90b533..2a2954d 100644 --- a/dist/native/giveawayRestrictedRoles.js +++ b/dist/native/giveawayRestrictedRoles.js @@ -28,8 +28,8 @@ exports.default = new forgescript_1.NativeFunction({ }, ], output: (0, array_1.default)(), - execute(ctx, [id, sep]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + async execute(ctx, [id, sep]) { + const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.requirements?.restrictedRoles?.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayRestrictedRoles.js.map b/dist/native/giveawayRestrictedRoles.js.map index ac682a0..2c94745 100644 --- a/dist/native/giveawayRestrictedRoles.js.map +++ b/dist/native/giveawayRestrictedRoles.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRestrictedRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACnF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRestrictedRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACnF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinners.js b/dist/native/giveawayWinners.js index 33528dd..1bd43f0 100644 --- a/dist/native/giveawayWinners.js +++ b/dist/native/giveawayWinners.js @@ -28,8 +28,8 @@ exports.default = new forgescript_1.NativeFunction({ }, ], output: (0, array_1.default)(), - execute(ctx, [id, sep]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + async execute(ctx, [id, sep]) { + const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.winners.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayWinners.js.map b/dist/native/giveawayWinners.js.map index 19f9924..608a7b1 100644 --- a/dist/native/giveawayWinners.js.map +++ b/dist/native/giveawayWinners.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayWinners.js","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayWinners.js","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinnersCount.js b/dist/native/giveawayWinnersCount.js index 3e4660f..2ae2be4 100644 --- a/dist/native/giveawayWinnersCount.js +++ b/dist/native/giveawayWinnersCount.js @@ -21,8 +21,8 @@ exports.default = new forgescript_1.NativeFunction({ }, ], output: forgescript_1.ArgType.Number, - execute(ctx, [id]) { - const giveaway = (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + async execute(ctx, [id]) { + const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; return this.success(giveaway?.winnersCount); } }); diff --git a/dist/native/giveawayWinnersCount.js.map b/dist/native/giveawayWinnersCount.js.map index b845c1b..54640bb 100644 --- a/dist/native/giveawayWinnersCount.js.map +++ b/dist/native/giveawayWinnersCount.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayWinnersCount.js","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayWinnersCount.js","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/properties/giveaway.d.ts b/dist/properties/giveaway.d.ts index 551052b..b19a943 100644 --- a/dist/properties/giveaway.d.ts +++ b/dist/properties/giveaway.d.ts @@ -1,4 +1,4 @@ -import { Giveaway } from "../structures/Giveaway"; +import { Giveaway } from "../structures"; export declare enum GiveawayProperty { id = "id", prize = "prize", diff --git a/dist/properties/giveaway.d.ts.map b/dist/properties/giveaway.d.ts.map index 6614eb4..f6b3c71 100644 --- a/dist/properties/giveaway.d.ts.map +++ b/dist/properties/giveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveaway.d.ts","sourceRoot":"","sources":["../../src/properties/giveaway.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,oBAAY,gBAAgB;IACxB,EAAE,OAAO;IACT,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;CAC1C;AAED,eAAO,MAAM,kBAAkB,uFAe7B,CAAA"} \ No newline at end of file +{"version":3,"file":"giveaway.d.ts","sourceRoot":"","sources":["../../src/properties/giveaway.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,oBAAY,gBAAgB;IACxB,EAAE,OAAO;IACT,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;CAC1C;AAED,eAAO,MAAM,kBAAkB,uFAe7B,CAAA"} \ No newline at end of file diff --git a/dist/structures/Database.d.ts b/dist/structures/Database.d.ts new file mode 100644 index 0000000..65cbae7 --- /dev/null +++ b/dist/structures/Database.d.ts @@ -0,0 +1,48 @@ +import { GiveawaysDatabaseManager, IGiveawayEvents } from "../managers"; +import { TypedEmitter } from "tiny-typed-emitter"; +import { TransformEvents } from "@tryforge/forge.db"; +import { Snowflake } from "discord.js"; +import { Giveaway } from "./Giveaway"; +export declare class Database extends GiveawaysDatabaseManager { + private readonly emitter; + database: string; + entityManager: { + sqlite: (typeof Giveaway)[]; + mongodb: (typeof Giveaway)[]; + mysql: (typeof Giveaway)[]; + postgres: (typeof Giveaway)[]; + }; + private static entity; + private db?; + private repo?; + constructor(emitter: TypedEmitter>); + init(): Promise; + /** + * Gets an existing giveaway. + * @param id The id of the giveaway to get. + * @returns + */ + get(id: Snowflake): Promise; + /** + * Gets all existing giveaways. + * @returns + */ + getAll(): Promise; + /** + * Saves a giveaway in the database. + * @param data The giveaway data to save. + */ + set(data: Giveaway): Promise; + /** + * Deletes an existing giveaway from the database. + * @param data The id of the giveaway to delete. + * @returns + */ + delete(id: Snowflake): Promise; + /** + * Wipes the entire database. + * @returns + */ + wipe(): Promise; +} +//# sourceMappingURL=Database.d.ts.map \ No newline at end of file diff --git a/dist/structures/Database.d.ts.map b/dist/structures/Database.d.ts.map new file mode 100644 index 0000000..dfed52e --- /dev/null +++ b/dist/structures/Database.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,qBAAa,QAAS,SAAQ,wBAAwB;IAiBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhB7B,QAAQ,SAAgB;IAExB,aAAa;;;;;MAKnB;IAED,OAAO,CAAC,MAAM,CAAC,MAAM,CAEpB;IAED,OAAO,CAAC,EAAE,CAAC,CAAY;IACvB,OAAO,CAAC,IAAI,CAAC,CAAsB;gBAEN,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAOvE,IAAI;IAMjB;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAI9B;;;OAGG;IACU,MAAM;IAInB;;;OAGG;IACU,GAAG,CAAC,IAAI,EAAE,QAAQ;IAU/B;;;;OAIG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS;IAIjC;;;OAGG;IACU,IAAI;CAGpB"} \ No newline at end of file diff --git a/dist/structures/Database.js b/dist/structures/Database.js new file mode 100644 index 0000000..15962d3 --- /dev/null +++ b/dist/structures/Database.js @@ -0,0 +1,75 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Database = void 0; +const managers_1 = require("../managers"); +const Giveaway_1 = require("./Giveaway"); +class Database extends managers_1.GiveawaysDatabaseManager { + emitter; + database = "giveaway.db"; + entityManager = { + sqlite: [Giveaway_1.Giveaway], + mongodb: [Giveaway_1.Giveaway], + mysql: [Giveaway_1.Giveaway], + postgres: [Giveaway_1.Giveaway], + }; + static entity; + db; + repo; + constructor(emitter) { + super(); + this.emitter = emitter; + Database.entity = { + Giveaway: this.entityManager[this.type === "better-sqlite3" ? "sqlite" : this.type][0], + }; + } + async init() { + this.db = await this.getDB(); + this.repo = this.db.getRepository(Giveaway_1.Giveaway); + this.emitter.emit("databaseConnect"); + } + /** + * Gets an existing giveaway. + * @param id The id of the giveaway to get. + * @returns + */ + async get(id) { + return await this.repo?.findOneBy({ id }); + } + /** + * Gets all existing giveaways. + * @returns + */ + async getAll() { + return await this.repo?.find(); + } + /** + * Saves a giveaway in the database. + * @param data The giveaway data to save. + */ + async set(data) { + const oldData = await this.repo?.findOneBy({ id: data.id }); + if (oldData && this.type === "mongodb") { + await this.repo?.update(oldData.id, data); + } + else { + await this.repo?.save(data); + } + } + /** + * Deletes an existing giveaway from the database. + * @param data The id of the giveaway to delete. + * @returns + */ + async delete(id) { + return await this.repo?.delete({ id }); + } + /** + * Wipes the entire database. + * @returns + */ + async wipe() { + return await this.repo?.clear(); + } +} +exports.Database = Database; +//# sourceMappingURL=Database.js.map \ No newline at end of file diff --git a/dist/structures/Database.js.map b/dist/structures/Database.js.map new file mode 100644 index 0000000..4c7a618 --- /dev/null +++ b/dist/structures/Database.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":";;;AAAA,0CAAuE;AAKvE,yCAAqC;AAErC,MAAa,QAAS,SAAQ,mCAAwB;IAiBrB;IAhBtB,QAAQ,GAAG,aAAa,CAAA;IAExB,aAAa,GAAG;QACnB,MAAM,EAAE,CAAC,mBAAQ,CAAC;QAClB,OAAO,EAAE,CAAC,mBAAQ,CAAC;QACnB,KAAK,EAAE,CAAC,mBAAQ,CAAC;QACjB,QAAQ,EAAE,CAAC,mBAAQ,CAAC;KACvB,CAAA;IAEO,MAAM,CAAC,MAAM,CAEpB;IAEO,EAAE,CAAa;IACf,IAAI,CAAuB;IAEnC,YAA6B,OAAuD;QAChF,KAAK,EAAE,CAAA;QADkB,YAAO,GAAP,OAAO,CAAgD;QAEhF,QAAQ,CAAC,MAAM,GAAG;YACd,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC;SAC1F,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,IAAI,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAA;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG,CAAC,EAAa;QAC1B,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM;QACf,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAA;IAClC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,GAAG,CAAC,IAAc;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QAE3D,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAC7C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CAAC,EAAa;QAC7B,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,IAAI;QACb,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;IACnC,CAAC;CACJ;AA7ED,4BA6EC"} \ No newline at end of file diff --git a/dist/structures/index.d.ts b/dist/structures/index.d.ts index b7ea445..4c6be21 100644 --- a/dist/structures/index.d.ts +++ b/dist/structures/index.d.ts @@ -1,3 +1,4 @@ export * from "./Context"; +export * from "./Database"; export * from "./Giveaway"; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/structures/index.d.ts.map b/dist/structures/index.d.ts.map index 94a15af..08a653f 100644 --- a/dist/structures/index.d.ts.map +++ b/dist/structures/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/structures/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/structures/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"} \ No newline at end of file diff --git a/dist/structures/index.js b/dist/structures/index.js index 39ec594..8703056 100644 --- a/dist/structures/index.js +++ b/dist/structures/index.js @@ -15,5 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) { }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./Context"), exports); +__exportStar(require("./Database"), exports); __exportStar(require("./Giveaway"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/structures/index.js.map b/dist/structures/index.js.map index 3096d19..d50d47c 100644 --- a/dist/structures/index.js.map +++ b/dist/structures/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/structures/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,6CAA0B"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/structures/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,6CAA0B;AAC1B,6CAA0B"} \ No newline at end of file diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 4b0b39d..24350e9 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE43SSwuCQBSG4f9y1pIkFOG2q4to0TJanPSkQzrKzMGK6L+HQeLkbda+PPMxzukFTA8GHza5imkrSsI7PjU4UCAn4EOYotakXfP7JOEsBQduQkbgT73F26mlOlrmWYYy2qPEmFSb7Amt7BUyXlDTOP5XWunrkiTvUEbpIN3MrNxAMikMWeRyfHg7tjpjHLbQAvN3H4pqReNViGrbFUPSbndq4t5s3sR/8ff+elSzseKOjIoHp3aVbfr8AZaoaBYWAwAA" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE4uuVipJrShRslJyyy9KT3XPLEtNLE+sLFbSUSpILMlQslJKzkksLk4t1keV18soyc1R0lHKzsxLUbIyNLKo1YGb5Imq1L+gJDM/D8nEzLyS1KK0xOTUYn3sSlENNzI1q40FAGXBIc6oAAAA" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index f172407..82a8fbb 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7VXW2+bMBT+L6evFs3hlsAP2NSHaW97saKKgZuhcYnATVeh/PfJBLBdO5UTtqdW5HwX25+P7QG69q2HlA7wu2wKSP0oJtBkNYMUnr603YF9LU8se8ve++9HXrZNDwReuwpSKBvOupcsZ/2jvdL7xesKCORV1veshxTgTGYh3PjhosROrOG3Mj8sKEWAwDHrWMOv279ioWZ9nx3YzSYU3J024igK5KQ/P/P3I7vXhbfAbzHjLYO4Mjk9zzq+0pM3k9zlbB7YtQA1xVp7F4r/Ya5jXVtVa/0tLP/Kor9bHOrYxemk9Kj//Om2jtBfWPO26Xn3mvO2c6F80Ovtw/zg9MqMj39cJKfCNVoF6/OuHKfbSVKvX6N8Yl3vqipr1yiyuuScua2mrF2jeJgLvmVNdnCUtoBWrXDGs59Z75YopXiNZt7WddYUTnvxQSleo9l+OOA/k5S1Nyr6m1D2nbIpuZPcVOimtSdQNgX7A+mw7JEUfC/wEiDwUrKqEFeeuUuI2RNEBIo2fx3/3U9lP5hoRqL4Uv24AUI3xI+8INnvCZ2x4/fxw0whv4w4BELRgkMDhxrOB0J9C843cL6GC4DQwIILDFyg4UIgNLTgQgMXargICI0suMjARRouBkJjCy42cLGG2wKhWwtua+C2Gm4HhO4suJ2B22m4BAhNLLjEwCX6uosYoC0xaEYGP2RmDI01NZbY6LlBEQe0JQfN6KCeHRSRQFt60IwP6vlBEQu0JQjNCKGeIRTRQFuK0IwR6jlCEQ+0JQnNKKGeJRQRQVua0IzT9GlsMSfWcVY8XVoNpcvVfYDnqf8Ec6cbIIB0OJ9lt0mHs9JwxG+z8qWTSxKMJAtGjjTKTUoy7STRzolHHmaKnVCxE7rRqFcehWmjMG2cmJZLhcLiKyy+G4u46ksGZX7dpnd+eComFA9OFC/izDrIG7ek2kqqrRPVwlLPtx3Fl5JAdItgqVtbDnpJqiyb26pdTm/FlTJGdBukfGZLGmXh3db9cuBLgkQSJE4ElsnAWBlL7MQyv+QkicLhRjG9pSWDsind9uTyIFCGoqbYIcZ7AsfyyKqyYZDS/fn8F5qZ/kBOEgAA"; \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index fb7cfea..8d048e5 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,5 +1,6 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html deleted file mode 100644 index fbaac3a..0000000 --- a/docs/classes/GiveawaysCommandManager.html +++ /dev/null @@ -1,25 +0,0 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html deleted file mode 100644 index 5c068d7..0000000 --- a/docs/classes/GiveawaysDatabaseManager.html +++ /dev/null @@ -1,7 +0,0 @@ -GiveawaysDatabaseManager | forge.giveaways

Class GiveawaysDatabaseManagerAbstract

Hierarchy

  • DataBaseManager
    • GiveawaysDatabaseManager

Constructors

Properties

Methods

Constructors

Properties

database: string
entityManager: {
    mongodb: MixedList<string | Function | EntitySchema<any>>;
    mysql: MixedList<string | Function | EntitySchema<any>>;
    postgres: MixedList<string | Function | EntitySchema<any>>;
    sqlite: MixedList<string | Function | EntitySchema<any>>;
}
type?:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"
type:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"

Methods

  • Returns Promise<DataSource>

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html deleted file mode 100644 index 6ffe55e..0000000 --- a/docs/classes/GiveawaysEventHandler.html +++ /dev/null @@ -1,7 +0,0 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysInteractionManager.html b/docs/classes/GiveawaysInteractionManager.html deleted file mode 100644 index ff78f97..0000000 --- a/docs/classes/GiveawaysInteractionManager.html +++ /dev/null @@ -1,2 +0,0 @@ -GiveawaysInteractionManager | forge.giveaways

Class GiveawaysInteractionManager

Constructors

Constructors

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html deleted file mode 100644 index 156dace..0000000 --- a/docs/classes/GiveawaysManager.html +++ /dev/null @@ -1,19 +0,0 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Ends an existing giveaway.

    -

    Parameters

    • ctx: Context

      The current context.

      -
    • id: string

      The id of the giveaway to end.

      -

    Returns Promise<null | Giveaway>

  • Gets an existing giveaway.

    -

    Parameters

    • id: string

      The id of the giveaway to get.

      -

    Returns undefined | Giveaway

  • Rerolls an existing giveaway.

    -

    Parameters

    • ctx: Context

      The current context.

      -
    • id: string

      The id of the giveaway to reroll.

      -

    Returns Promise<null | Giveaway>

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 334913c..a3e8c8b 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html deleted file mode 100644 index 6fc0682..0000000 --- a/docs/interfaces/IGiveawayEvents.html +++ /dev/null @@ -1,8 +0,0 @@ -IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    databaseConnect: [];
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

databaseConnect: []
giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html deleted file mode 100644 index 275809e..0000000 --- a/docs/interfaces/IGiveawayStartOptions.html +++ /dev/null @@ -1,8 +0,0 @@ -IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: IGiveawayRequirements;
    winnersCount: number;
}

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: IGiveawayRequirements
winnersCount: number
diff --git a/docs/modules.html b/docs/modules.html index b509990..3567141 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -1,10 +1,3 @@ forge.giveaways
diff --git a/src/functions/getGiveaway.ts b/src/functions/getGiveaway.ts index 610ddef..2ccdc92 100644 --- a/src/functions/getGiveaway.ts +++ b/src/functions/getGiveaway.ts @@ -1,6 +1,6 @@ import { Context } from "@tryforge/forgescript" import { ForgeGiveaways } from ".." -export default function(ctx: Context, id: string) { - return ctx.client.getExtension(ForgeGiveaways, true).giveawaysManager.get(id) +export default async function(ctx: Context, id: string) { + return await ctx.client.getExtension(ForgeGiveaways, true).database.get(id) } \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index ebcda88..92bf4fd 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,10 +1,8 @@ import { EventManager, ForgeClient, ForgeExtension } from "@tryforge/forgescript" -import { IGiveawayEvents } from "./managers/GiveawaysEventManager" -import { GiveawaysCommandManager } from "./managers/GiveawaysCommandManager" -import { GiveawaysInteractionManager } from "./managers/GiveawaysInteractionManager" -import { GiveawaysManager } from "./managers/GiveawaysManager" +import { IGiveawayEvents, GiveawaysCommandManager, GiveawaysInteractionManager, GiveawaysManager } from "./managers" import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" +import { Database } from "./structures" export interface IForgeGiveawaysOptions { events?: keyof IGiveawayEvents @@ -23,14 +21,16 @@ export class ForgeGiveaways extends ForgeExtension { public emitter = new TypedEmitter>() public readonly giveawaysManager = new GiveawaysManager(this, this.emitter) + public readonly database: Database commands: GiveawaysCommandManager | null public constructor (public readonly options?: IForgeGiveawaysOptions) { super() this.commands = null + this.database = new Database(this.emitter) } - public init(client: ForgeClient) { + public async init(client: ForgeClient) { this.commands = new GiveawaysCommandManager(client) EventManager.load("ForgeGiveawaysEvents", __dirname + "/events") @@ -41,7 +41,7 @@ export class ForgeGiveaways extends ForgeExtension { if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events) } - } -} -export * from "./managers" \ No newline at end of file + await this.database.init() + } +} \ No newline at end of file diff --git a/src/managers/GiveawaysInteractionManager.ts b/src/managers/GiveawaysInteractionManager.ts index 0408364..9603f2b 100644 --- a/src/managers/GiveawaysInteractionManager.ts +++ b/src/managers/GiveawaysInteractionManager.ts @@ -7,13 +7,13 @@ export class GiveawaysInteractionManager { this._register() } - private _register() { + private async _register() { this.client.on("interactionCreate", async (interaction) => { if (!interaction.isButton() || !interaction.customId.startsWith("giveawayEntry-")) return const [, id] = interaction.customId.split("-") const client = this.client.getExtension(ForgeGiveaways, true) - const giveaway = client.giveawaysManager.get(id) + const giveaway = await client.database.get(id) if (!giveaway) return const member = interaction.member diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 9cd0268..01c8760 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -1,9 +1,10 @@ -import { ActionRowBuilder, ButtonBuilder, ButtonStyle, Collection, EmbedBuilder, Snowflake, TextChannel, time } from "discord.js" +import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, Snowflake, TextChannel, time } from "discord.js" import { Compiler, Context, Interpreter } from "@tryforge/forgescript" -import { ForgeGiveaways, IGiveawayEvents } from ".." import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" import { Giveaway, IGiveawayRequirements } from "../structures" +import { IGiveawayEvents } from "./GiveawaysEventManager" +import { ForgeGiveaways } from ".." export interface IGiveawayStartOptions { prize: string @@ -16,8 +17,6 @@ export interface IGiveawayStartOptions { } export class GiveawaysManager { - private readonly giveaways = new Collection() - public constructor( private readonly client: ForgeGiveaways, private emitter: TypedEmitter> @@ -28,16 +27,16 @@ export class GiveawaysManager { * @param id The id of the giveaway to get. * @returns */ - public get(id: Snowflake) { - return this.giveaways.get(id) + public async get(id: Snowflake) { + return await this.client.database.get(id) } /** * Gets all existing giveaways. * @returns */ - public getAll() { - return this.giveaways + public async getAll() { + return this.client.database.getAll() } /** @@ -86,8 +85,8 @@ export class GiveawaysManager { giveaway.messageID = msg?.id } + await this.client.database.set(giveaway) this.emitter.emit("giveawayStart", giveaway) - this.giveaways.set(giveaway.id, giveaway) setTimeout(() => this.end(ctx, giveaway.id), giveaway.duration) return giveaway @@ -100,7 +99,7 @@ export class GiveawaysManager { * @returns */ public async end(ctx: Context, id: Snowflake) { - const giveaway = this.get(id) + const giveaway = await this.get(id) if (!giveaway || giveaway.hasEnded) return null giveaway.hasEnded = true @@ -148,6 +147,7 @@ export class GiveawaysManager { } } + await this.client.database.set(giveaway) this.emitter.emit("giveawayEnd", giveaway) return giveaway @@ -160,7 +160,7 @@ export class GiveawaysManager { * @returns */ public async reroll(ctx: Context, id: Snowflake) { - const giveaway = this.get(id) + const giveaway = await this.get(id) if (!giveaway || !giveaway.hasEnded) return null const oldGiveaway = giveaway.clone() @@ -175,6 +175,7 @@ export class GiveawaysManager { doNotSend: true, }) + await this.client.database.set(giveaway) this.emitter.emit("giveawayReroll", oldGiveaway, giveaway) return giveaway diff --git a/src/native/giveawayChannelID.ts b/src/native/giveawayChannelID.ts index e2bc181..0660663 100644 --- a/src/native/giveawayChannelID.ts +++ b/src/native/giveawayChannelID.ts @@ -17,8 +17,8 @@ export default new NativeFunction({ }, ], output: ArgType.Channel, - execute(ctx, [id]) { - const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway + async execute(ctx, [id]) { + const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.channelID) } }) \ No newline at end of file diff --git a/src/native/giveawayDuration.ts b/src/native/giveawayDuration.ts index faa844b..ea0667c 100644 --- a/src/native/giveawayDuration.ts +++ b/src/native/giveawayDuration.ts @@ -17,8 +17,8 @@ export default new NativeFunction({ }, ], output: ArgType.Number, - execute(ctx, [id]) { - const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway + async execute(ctx, [id]) { + const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.duration) } }) \ No newline at end of file diff --git a/src/native/giveawayEntries.ts b/src/native/giveawayEntries.ts index c308e8f..1cf8fc4 100644 --- a/src/native/giveawayEntries.ts +++ b/src/native/giveawayEntries.ts @@ -24,8 +24,8 @@ export default new NativeFunction({ }, ], output: array(), - execute(ctx, [id, sep]) { - const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway + async execute(ctx, [id, sep]) { + const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.entries.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayGuildID.ts b/src/native/giveawayGuildID.ts index 9cf323f..833a3a3 100644 --- a/src/native/giveawayGuildID.ts +++ b/src/native/giveawayGuildID.ts @@ -17,8 +17,8 @@ export default new NativeFunction({ }, ], output: ArgType.Guild, - execute(ctx, [id]) { - const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway + async execute(ctx, [id]) { + const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.guildID) } }) \ No newline at end of file diff --git a/src/native/giveawayHasEnded.ts b/src/native/giveawayHasEnded.ts index 87dd578..8c749ae 100644 --- a/src/native/giveawayHasEnded.ts +++ b/src/native/giveawayHasEnded.ts @@ -17,8 +17,8 @@ export default new NativeFunction({ }, ], output: ArgType.Boolean, - execute(ctx, [id]) { - const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway + async execute(ctx, [id]) { + const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.hasEnded) } }) \ No newline at end of file diff --git a/src/native/giveawayHostID.ts b/src/native/giveawayHostID.ts index 149cee6..ca3e77f 100644 --- a/src/native/giveawayHostID.ts +++ b/src/native/giveawayHostID.ts @@ -17,8 +17,8 @@ export default new NativeFunction({ }, ], output: ArgType.User, - execute(ctx, [id]) { - const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway + async execute(ctx, [id]) { + const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.hostID) } }) \ No newline at end of file diff --git a/src/native/giveawayMessageID.ts b/src/native/giveawayMessageID.ts index 946e0eb..7f87da4 100644 --- a/src/native/giveawayMessageID.ts +++ b/src/native/giveawayMessageID.ts @@ -17,8 +17,8 @@ export default new NativeFunction({ }, ], output: ArgType.Message, - execute(ctx, [id]) { - const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway + async execute(ctx, [id]) { + const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.messageID) } }) \ No newline at end of file diff --git a/src/native/giveawayPrize.ts b/src/native/giveawayPrize.ts index 3ea950a..43b1b94 100644 --- a/src/native/giveawayPrize.ts +++ b/src/native/giveawayPrize.ts @@ -17,8 +17,8 @@ export default new NativeFunction({ }, ], output: ArgType.String, - execute(ctx, [id]) { - const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway + async execute(ctx, [id]) { + const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.prize) } }) \ No newline at end of file diff --git a/src/native/giveawayRequiredRoles.ts b/src/native/giveawayRequiredRoles.ts index 752a749..89f4a05 100644 --- a/src/native/giveawayRequiredRoles.ts +++ b/src/native/giveawayRequiredRoles.ts @@ -24,8 +24,8 @@ export default new NativeFunction({ }, ], output: array(), - execute(ctx, [id, sep]) { - const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway + async execute(ctx, [id, sep]) { + const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.requirements?.requiredRoles?.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayRestrictedMembers.ts b/src/native/giveawayRestrictedMembers.ts index 4d6b622..c911a53 100644 --- a/src/native/giveawayRestrictedMembers.ts +++ b/src/native/giveawayRestrictedMembers.ts @@ -24,8 +24,8 @@ export default new NativeFunction({ }, ], output: array(), - execute(ctx, [id, sep]) { - const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway + async execute(ctx, [id, sep]) { + const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.requirements?.restrictedMembers?.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayRestrictedRoles.ts b/src/native/giveawayRestrictedRoles.ts index a4006e0..9058182 100644 --- a/src/native/giveawayRestrictedRoles.ts +++ b/src/native/giveawayRestrictedRoles.ts @@ -24,8 +24,8 @@ export default new NativeFunction({ }, ], output: array(), - execute(ctx, [id, sep]) { - const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway + async execute(ctx, [id, sep]) { + const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.requirements?.restrictedRoles?.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayWinners.ts b/src/native/giveawayWinners.ts index fe77eb0..1439aa4 100644 --- a/src/native/giveawayWinners.ts +++ b/src/native/giveawayWinners.ts @@ -24,8 +24,8 @@ export default new NativeFunction({ }, ], output: array(), - execute(ctx, [id, sep]) { - const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway + async execute(ctx, [id, sep]) { + const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.winners.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayWinnersCount.ts b/src/native/giveawayWinnersCount.ts index f826d8b..53733d2 100644 --- a/src/native/giveawayWinnersCount.ts +++ b/src/native/giveawayWinnersCount.ts @@ -17,8 +17,8 @@ export default new NativeFunction({ }, ], output: ArgType.Number, - execute(ctx, [id]) { - const giveaway = getGiveaway(ctx, id) ?? ctx.giveaway + async execute(ctx, [id]) { + const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway return this.success(giveaway?.winnersCount) } }) \ No newline at end of file diff --git a/src/properties/giveaway.ts b/src/properties/giveaway.ts index 7e578f6..7f54909 100644 --- a/src/properties/giveaway.ts +++ b/src/properties/giveaway.ts @@ -1,5 +1,5 @@ import defineProperties from "../functions/defineProperties" -import { Giveaway } from "../structures/Giveaway" +import { Giveaway } from "../structures" export enum GiveawayProperty { id = "id", diff --git a/src/structures/Database.ts b/src/structures/Database.ts new file mode 100644 index 0000000..739f6c3 --- /dev/null +++ b/src/structures/Database.ts @@ -0,0 +1,85 @@ +import { GiveawaysDatabaseManager, IGiveawayEvents } from "../managers" +import { TypedEmitter } from "tiny-typed-emitter" +import { TransformEvents } from "@tryforge/forge.db" +import { Snowflake } from "discord.js" +import { DataSource, Repository } from "typeorm" +import { Giveaway } from "./Giveaway" + +export class Database extends GiveawaysDatabaseManager { + public database = "giveaway.db" + + public entityManager = { + sqlite: [Giveaway], + mongodb: [Giveaway], + mysql: [Giveaway], + postgres: [Giveaway], + } + + private static entity: { + Giveaway: typeof Giveaway + } + + private db?: DataSource + private repo?: Repository + + constructor(private readonly emitter: TypedEmitter>) { + super() + Database.entity = { + Giveaway: this.entityManager[this.type === "better-sqlite3" ? "sqlite" : this.type!][0], + } + } + + public async init() { + this.db = await this.getDB() + this.repo = this.db.getRepository(Giveaway) + this.emitter.emit("databaseConnect") + } + + /** + * Gets an existing giveaway. + * @param id The id of the giveaway to get. + * @returns + */ + public async get(id: Snowflake) { + return await this.repo?.findOneBy({ id }) + } + + /** + * Gets all existing giveaways. + * @returns + */ + public async getAll() { + return await this.repo?.find() + } + + /** + * Saves a giveaway in the database. + * @param data The giveaway data to save. + */ + public async set(data: Giveaway) { + const oldData = await this.repo?.findOneBy({ id: data.id }) + + if (oldData && this.type === "mongodb") { + await this.repo?.update(oldData.id, data) + } else { + await this.repo?.save(data) + } + } + + /** + * Deletes an existing giveaway from the database. + * @param data The id of the giveaway to delete. + * @returns + */ + public async delete(id: Snowflake) { + return await this.repo?.delete({ id }) + } + + /** + * Wipes the entire database. + * @returns + */ + public async wipe() { + return await this.repo?.clear() + } +} \ No newline at end of file diff --git a/src/structures/index.ts b/src/structures/index.ts index 72e810f..d50f72f 100644 --- a/src/structures/index.ts +++ b/src/structures/index.ts @@ -1,2 +1,3 @@ export * from "./Context" +export * from "./Database" export * from "./Giveaway" \ No newline at end of file From 3aa24c9d037429f0093b297bd54b4414092a8798 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 14:29:01 +0200 Subject: [PATCH 30/87] Prevent crash --- dist/structures/Database.d.ts | 1 - dist/structures/Database.d.ts.map | 2 +- dist/structures/Database.js | 4 ---- dist/structures/Database.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/structures/Database.ts | 7 ------- 7 files changed, 7 insertions(+), 19 deletions(-) diff --git a/dist/structures/Database.d.ts b/dist/structures/Database.d.ts index 65cbae7..c4b0985 100644 --- a/dist/structures/Database.d.ts +++ b/dist/structures/Database.d.ts @@ -12,7 +12,6 @@ export declare class Database extends GiveawaysDatabaseManager { mysql: (typeof Giveaway)[]; postgres: (typeof Giveaway)[]; }; - private static entity; private db?; private repo?; constructor(emitter: TypedEmitter>); diff --git a/dist/structures/Database.d.ts.map b/dist/structures/Database.d.ts.map index dfed52e..9ba311d 100644 --- a/dist/structures/Database.d.ts.map +++ b/dist/structures/Database.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,qBAAa,QAAS,SAAQ,wBAAwB;IAiBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhB7B,QAAQ,SAAgB;IAExB,aAAa;;;;;MAKnB;IAED,OAAO,CAAC,MAAM,CAAC,MAAM,CAEpB;IAED,OAAO,CAAC,EAAE,CAAC,CAAY;IACvB,OAAO,CAAC,IAAI,CAAC,CAAsB;gBAEN,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAOvE,IAAI;IAMjB;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAI9B;;;OAGG;IACU,MAAM;IAInB;;;OAGG;IACU,GAAG,CAAC,IAAI,EAAE,QAAQ;IAU/B;;;;OAIG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS;IAIjC;;;OAGG;IACU,IAAI;CAGpB"} \ No newline at end of file +{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,qBAAa,QAAS,SAAQ,wBAAwB;IAatC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ7B,QAAQ,SAAgB;IAExB,aAAa;;;;;MAKnB;IAED,OAAO,CAAC,EAAE,CAAC,CAAY;IACvB,OAAO,CAAC,IAAI,CAAC,CAAsB;gBAEN,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAIvE,IAAI;IAMjB;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAI9B;;;OAGG;IACU,MAAM;IAInB;;;OAGG;IACU,GAAG,CAAC,IAAI,EAAE,QAAQ;IAU/B;;;;OAIG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS;IAIjC;;;OAGG;IACU,IAAI;CAGpB"} \ No newline at end of file diff --git a/dist/structures/Database.js b/dist/structures/Database.js index 15962d3..6c9862f 100644 --- a/dist/structures/Database.js +++ b/dist/structures/Database.js @@ -12,15 +12,11 @@ class Database extends managers_1.GiveawaysDatabaseManager { mysql: [Giveaway_1.Giveaway], postgres: [Giveaway_1.Giveaway], }; - static entity; db; repo; constructor(emitter) { super(); this.emitter = emitter; - Database.entity = { - Giveaway: this.entityManager[this.type === "better-sqlite3" ? "sqlite" : this.type][0], - }; } async init() { this.db = await this.getDB(); diff --git a/dist/structures/Database.js.map b/dist/structures/Database.js.map index 4c7a618..6b56d9d 100644 --- a/dist/structures/Database.js.map +++ b/dist/structures/Database.js.map @@ -1 +1 @@ -{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":";;;AAAA,0CAAuE;AAKvE,yCAAqC;AAErC,MAAa,QAAS,SAAQ,mCAAwB;IAiBrB;IAhBtB,QAAQ,GAAG,aAAa,CAAA;IAExB,aAAa,GAAG;QACnB,MAAM,EAAE,CAAC,mBAAQ,CAAC;QAClB,OAAO,EAAE,CAAC,mBAAQ,CAAC;QACnB,KAAK,EAAE,CAAC,mBAAQ,CAAC;QACjB,QAAQ,EAAE,CAAC,mBAAQ,CAAC;KACvB,CAAA;IAEO,MAAM,CAAC,MAAM,CAEpB;IAEO,EAAE,CAAa;IACf,IAAI,CAAuB;IAEnC,YAA6B,OAAuD;QAChF,KAAK,EAAE,CAAA;QADkB,YAAO,GAAP,OAAO,CAAgD;QAEhF,QAAQ,CAAC,MAAM,GAAG;YACd,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC;SAC1F,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,IAAI,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAA;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG,CAAC,EAAa;QAC1B,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM;QACf,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAA;IAClC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,GAAG,CAAC,IAAc;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QAE3D,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAC7C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CAAC,EAAa;QAC7B,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,IAAI;QACb,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;IACnC,CAAC;CACJ;AA7ED,4BA6EC"} \ No newline at end of file +{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":";;;AAAA,0CAAuE;AAKvE,yCAAqC;AAErC,MAAa,QAAS,SAAQ,mCAAwB;IAarB;IAZtB,QAAQ,GAAG,aAAa,CAAA;IAExB,aAAa,GAAG;QACnB,MAAM,EAAE,CAAC,mBAAQ,CAAC;QAClB,OAAO,EAAE,CAAC,mBAAQ,CAAC;QACnB,KAAK,EAAE,CAAC,mBAAQ,CAAC;QACjB,QAAQ,EAAE,CAAC,mBAAQ,CAAC;KACvB,CAAA;IAEO,EAAE,CAAa;IACf,IAAI,CAAuB;IAEnC,YAA6B,OAAuD;QAChF,KAAK,EAAE,CAAA;QADkB,YAAO,GAAP,OAAO,CAAgD;IAEpF,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,IAAI,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAA;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG,CAAC,EAAa;QAC1B,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM;QACf,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAA;IAClC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,GAAG,CAAC,IAAc;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QAE3D,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAC7C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CAAC,EAAa;QAC7B,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,IAAI;QACb,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;IACnC,CAAC;CACJ;AAtED,4BAsEC"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 8d048e5..1672c94 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index a3e8c8b..58b38ad 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/src/structures/Database.ts b/src/structures/Database.ts index 739f6c3..809e620 100644 --- a/src/structures/Database.ts +++ b/src/structures/Database.ts @@ -15,18 +15,11 @@ export class Database extends GiveawaysDatabaseManager { postgres: [Giveaway], } - private static entity: { - Giveaway: typeof Giveaway - } - private db?: DataSource private repo?: Repository constructor(private readonly emitter: TypedEmitter>) { super() - Database.entity = { - Giveaway: this.entityManager[this.type === "better-sqlite3" ? "sqlite" : this.type!][0], - } } public async init() { From 24202168a9aa1dc5e5ff1efa0e8560375123d8b4 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 14:45:16 +0200 Subject: [PATCH 31/87] Added transformer for array colums --- dist/structures/Giveaway.d.ts.map | 2 +- dist/structures/Giveaway.js | 19 +++++++++++++++---- dist/structures/Giveaway.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/structures/Giveaway.ts | 19 +++++++++++++++---- 6 files changed, 37 insertions(+), 15 deletions(-) diff --git a/dist/structures/Giveaway.d.ts.map b/dist/structures/Giveaway.d.ts.map index fdb660b..878ffe5 100644 --- a/dist/structures/Giveaway.d.ts.map +++ b/dist/structures/Giveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBACa,QAAS,YAAW,SAAS;IACtC;;OAEG;IAEI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IAEI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IAEI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IAEI,QAAQ,EAAE,OAAO,CAAA;IAExB;;OAEG;IAEI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IAEI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IAEI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IAEI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,EAAE,qBAAqB,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAc/D;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;IASnC;;;OAGG;IACI,KAAK;CAGf"} \ No newline at end of file +{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAaD,qBACa,QAAS,YAAW,SAAS;IACtC;;OAEG;IAEI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IAEI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IAEI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IAEI,QAAQ,EAAE,OAAO,CAAA;IAExB;;OAEG;IAEI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IAEI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IAEI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IAEI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,EAAE,qBAAqB,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAc/D;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;IASnC;;;OAGG;IACI,KAAK;CAGf"} \ No newline at end of file diff --git a/dist/structures/Giveaway.js b/dist/structures/Giveaway.js index c768f2f..58e3695 100644 --- a/dist/structures/Giveaway.js +++ b/dist/structures/Giveaway.js @@ -12,6 +12,17 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.Giveaway = void 0; const discord_js_1 = require("discord.js"); const typeorm_1 = require("typeorm"); +const transformer = { + to: (value) => JSON.stringify(value ?? []), + from: (value) => { + try { + return JSON.parse(value || "[]"); + } + catch { + return []; + } + } +}; let Giveaway = class Giveaway { /** * The id of this giveaway. @@ -160,19 +171,19 @@ __decorate([ __metadata("design:type", String) ], Giveaway.prototype, "channelID", void 0); __decorate([ - (0, typeorm_1.Column)(), + (0, typeorm_1.Column)({ type: "text", transformer }), __metadata("design:type", Array) ], Giveaway.prototype, "entries", void 0); __decorate([ - (0, typeorm_1.Column)(), + (0, typeorm_1.Column)({ type: "text", transformer }), __metadata("design:type", Array) ], Giveaway.prototype, "winners", void 0); __decorate([ - (0, typeorm_1.Column)(), + (0, typeorm_1.Column)({ nullable: true }), __metadata("design:type", Object) ], Giveaway.prototype, "requirements", void 0); __decorate([ - (0, typeorm_1.Column)(), + (0, typeorm_1.Column)({ nullable: true }), __metadata("design:type", String) ], Giveaway.prototype, "messageID", void 0); exports.Giveaway = Giveaway = __decorate([ diff --git a/dist/structures/Giveaway.js.map b/dist/structures/Giveaway.js.map index b215749..9811b1d 100644 --- a/dist/structures/Giveaway.js.map +++ b/dist/structures/Giveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 1672c94..fad9438 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 58b38ad..2ab9162 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/src/structures/Giveaway.ts b/src/structures/Giveaway.ts index c0db094..d606218 100644 --- a/src/structures/Giveaway.ts +++ b/src/structures/Giveaway.ts @@ -10,6 +10,17 @@ export interface IGiveaway extends IGiveawayStartOptions { winners: Snowflake[] } +const transformer = { + to: (value: unknown[]) => JSON.stringify(value ?? []), + from: (value: string) => { + try { + return JSON.parse(value || "[]") + } catch { + return [] + } + } +} + @Entity() export class Giveaway implements IGiveaway { /** @@ -63,25 +74,25 @@ export class Giveaway implements IGiveaway { /** * The user entries for this giveaway. */ - @Column() + @Column({ type: "text", transformer }) public entries: Snowflake[] /** * The randomly selected winners of this giveaway. */ - @Column() + @Column({ type: "text", transformer }) public winners: Snowflake[] /** * The requirements all participants have to meet for entering this giveaway. */ - @Column() + @Column({ nullable: true }) public requirements?: IGiveawayStartOptions["requirements"] /** * The id of the message this giveaway is associated with. */ - @Column() + @Column({ nullable: true }) public messageID?: Snowflake constructor(options: IGiveawayStartOptions & { id?: Snowflake }) { From 8a9423cc8f61db8192ae3466068aa7e967c70277 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 15:05:23 +0200 Subject: [PATCH 32/87] Fix storing arrays and objects --- dist/structures/Database.d.ts | 2 +- dist/structures/Database.js | 2 +- dist/structures/Giveaway.d.ts.map | 2 +- dist/structures/Giveaway.js | 17 +++-------------- dist/structures/Giveaway.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/structures/Database.ts | 2 +- src/structures/Giveaway.ts | 17 +++-------------- 9 files changed, 16 insertions(+), 38 deletions(-) diff --git a/dist/structures/Database.d.ts b/dist/structures/Database.d.ts index c4b0985..961d425 100644 --- a/dist/structures/Database.d.ts +++ b/dist/structures/Database.d.ts @@ -34,7 +34,7 @@ export declare class Database extends GiveawaysDatabaseManager { set(data: Giveaway): Promise; /** * Deletes an existing giveaway from the database. - * @param data The id of the giveaway to delete. + * @param id The id of the giveaway to delete. * @returns */ delete(id: Snowflake): Promise; diff --git a/dist/structures/Database.js b/dist/structures/Database.js index 6c9862f..3e31dd4 100644 --- a/dist/structures/Database.js +++ b/dist/structures/Database.js @@ -53,7 +53,7 @@ class Database extends managers_1.GiveawaysDatabaseManager { } /** * Deletes an existing giveaway from the database. - * @param data The id of the giveaway to delete. + * @param id The id of the giveaway to delete. * @returns */ async delete(id) { diff --git a/dist/structures/Giveaway.d.ts.map b/dist/structures/Giveaway.d.ts.map index 878ffe5..fdb660b 100644 --- a/dist/structures/Giveaway.d.ts.map +++ b/dist/structures/Giveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAaD,qBACa,QAAS,YAAW,SAAS;IACtC;;OAEG;IAEI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IAEI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IAEI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IAEI,QAAQ,EAAE,OAAO,CAAA;IAExB;;OAEG;IAEI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IAEI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IAEI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IAEI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,EAAE,qBAAqB,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAc/D;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;IASnC;;;OAGG;IACI,KAAK;CAGf"} \ No newline at end of file +{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBACa,QAAS,YAAW,SAAS;IACtC;;OAEG;IAEI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IAEI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IAEI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IAEI,QAAQ,EAAE,OAAO,CAAA;IAExB;;OAEG;IAEI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IAEI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IAEI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IAEI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,EAAE,qBAAqB,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAc/D;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;IASnC;;;OAGG;IACI,KAAK;CAGf"} \ No newline at end of file diff --git a/dist/structures/Giveaway.js b/dist/structures/Giveaway.js index 58e3695..3fff93a 100644 --- a/dist/structures/Giveaway.js +++ b/dist/structures/Giveaway.js @@ -12,17 +12,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.Giveaway = void 0; const discord_js_1 = require("discord.js"); const typeorm_1 = require("typeorm"); -const transformer = { - to: (value) => JSON.stringify(value ?? []), - from: (value) => { - try { - return JSON.parse(value || "[]"); - } - catch { - return []; - } - } -}; let Giveaway = class Giveaway { /** * The id of this giveaway. @@ -171,15 +160,15 @@ __decorate([ __metadata("design:type", String) ], Giveaway.prototype, "channelID", void 0); __decorate([ - (0, typeorm_1.Column)({ type: "text", transformer }), + (0, typeorm_1.Column)("simple-array"), __metadata("design:type", Array) ], Giveaway.prototype, "entries", void 0); __decorate([ - (0, typeorm_1.Column)({ type: "text", transformer }), + (0, typeorm_1.Column)("simple-array"), __metadata("design:type", Array) ], Giveaway.prototype, "winners", void 0); __decorate([ - (0, typeorm_1.Column)({ nullable: true }), + (0, typeorm_1.Column)("simple-json", { nullable: true }), __metadata("design:type", Object) ], Giveaway.prototype, "requirements", void 0); __decorate([ diff --git a/dist/structures/Giveaway.js.map b/dist/structures/Giveaway.js.map index 9811b1d..01799c9 100644 --- a/dist/structures/Giveaway.js.map +++ b/dist/structures/Giveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index fad9438..0c8c515 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 2ab9162..9943384 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/src/structures/Database.ts b/src/structures/Database.ts index 809e620..490a222 100644 --- a/src/structures/Database.ts +++ b/src/structures/Database.ts @@ -61,7 +61,7 @@ export class Database extends GiveawaysDatabaseManager { /** * Deletes an existing giveaway from the database. - * @param data The id of the giveaway to delete. + * @param id The id of the giveaway to delete. * @returns */ public async delete(id: Snowflake) { diff --git a/src/structures/Giveaway.ts b/src/structures/Giveaway.ts index d606218..7a54425 100644 --- a/src/structures/Giveaway.ts +++ b/src/structures/Giveaway.ts @@ -10,17 +10,6 @@ export interface IGiveaway extends IGiveawayStartOptions { winners: Snowflake[] } -const transformer = { - to: (value: unknown[]) => JSON.stringify(value ?? []), - from: (value: string) => { - try { - return JSON.parse(value || "[]") - } catch { - return [] - } - } -} - @Entity() export class Giveaway implements IGiveaway { /** @@ -74,19 +63,19 @@ export class Giveaway implements IGiveaway { /** * The user entries for this giveaway. */ - @Column({ type: "text", transformer }) + @Column("simple-array") public entries: Snowflake[] /** * The randomly selected winners of this giveaway. */ - @Column({ type: "text", transformer }) + @Column("simple-array") public winners: Snowflake[] /** * The requirements all participants have to meet for entering this giveaway. */ - @Column({ nullable: true }) + @Column("simple-json", { nullable: true }) public requirements?: IGiveawayStartOptions["requirements"] /** From 2bfaf859d2615d5aa282d457ea26890d150b68fd Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 15:07:10 +0200 Subject: [PATCH 33/87] Handle id being undefined --- dist/structures/Giveaway.js | 2 +- dist/structures/Giveaway.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/structures/Giveaway.ts | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dist/structures/Giveaway.js b/dist/structures/Giveaway.js index 3fff93a..4c2cb89 100644 --- a/dist/structures/Giveaway.js +++ b/dist/structures/Giveaway.js @@ -62,7 +62,7 @@ let Giveaway = class Giveaway { */ messageID; constructor(options) { - this.id = options.id ?? discord_js_1.SnowflakeUtil.generate().toString(); + this.id = options?.id ?? discord_js_1.SnowflakeUtil.generate().toString(); this.prize = options.prize; this.duration = options.duration; this.winnersCount = options.winnersCount; diff --git a/dist/structures/Giveaway.js.map b/dist/structures/Giveaway.js.map index 01799c9..862c33c 100644 --- a/dist/structures/Giveaway.js.map +++ b/dist/structures/Giveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 0c8c515..c10b2ed 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 9943384..67fe6b5 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/src/structures/Giveaway.ts b/src/structures/Giveaway.ts index 7a54425..5527f40 100644 --- a/src/structures/Giveaway.ts +++ b/src/structures/Giveaway.ts @@ -85,7 +85,7 @@ export class Giveaway implements IGiveaway { public messageID?: Snowflake constructor(options: IGiveawayStartOptions & { id?: Snowflake }) { - this.id = options.id ?? SnowflakeUtil.generate().toString() + this.id = options?.id ?? SnowflakeUtil.generate().toString() this.prize = options.prize this.duration = options.duration this.winnersCount = options.winnersCount From b51f62382ae30f98355efbc1f4c9ce47bb26a04a Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 15:16:51 +0200 Subject: [PATCH 34/87] Make everything partial --- dist/structures/Giveaway.d.ts | 2 +- dist/structures/Giveaway.d.ts.map | 2 +- dist/structures/Giveaway.js | 14 +++++++------- dist/structures/Giveaway.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/structures/Giveaway.ts | 16 ++++++++-------- 7 files changed, 23 insertions(+), 23 deletions(-) diff --git a/dist/structures/Giveaway.d.ts b/dist/structures/Giveaway.d.ts index d553c8d..cbfceb9 100644 --- a/dist/structures/Giveaway.d.ts +++ b/dist/structures/Giveaway.d.ts @@ -56,7 +56,7 @@ export declare class Giveaway implements IGiveaway { * The id of the message this giveaway is associated with. */ messageID?: Snowflake; - constructor(options: IGiveawayStartOptions & { + constructor(options?: Partial & { id?: Snowflake; }); /** diff --git a/dist/structures/Giveaway.d.ts.map b/dist/structures/Giveaway.d.ts.map index fdb660b..4d0a08c 100644 --- a/dist/structures/Giveaway.d.ts.map +++ b/dist/structures/Giveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBACa,QAAS,YAAW,SAAS;IACtC;;OAEG;IAEI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IAEI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IAEI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IAEI,QAAQ,EAAE,OAAO,CAAA;IAExB;;OAEG;IAEI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IAEI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IAEI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IAEI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,EAAE,qBAAqB,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAc/D;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;IASnC;;;OAGG;IACI,KAAK;CAGf"} \ No newline at end of file +{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBACa,QAAS,YAAW,SAAS;IACtC;;OAEG;IAEI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IAEI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IAEI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IAEI,QAAQ,EAAE,OAAO,CAAA;IAExB;;OAEG;IAEI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IAEI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IAEI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IAEI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAczE;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;IASnC;;;OAGG;IACI,KAAK;CAGf"} \ No newline at end of file diff --git a/dist/structures/Giveaway.js b/dist/structures/Giveaway.js index 4c2cb89..25e906c 100644 --- a/dist/structures/Giveaway.js +++ b/dist/structures/Giveaway.js @@ -63,13 +63,13 @@ let Giveaway = class Giveaway { messageID; constructor(options) { this.id = options?.id ?? discord_js_1.SnowflakeUtil.generate().toString(); - this.prize = options.prize; - this.duration = options.duration; - this.winnersCount = options.winnersCount; - this.hostID = options.hostID; - this.guildID = options.guildID; - this.channelID = options.channelID; - this.requirements = options.requirements; + this.prize = options?.prize ?? ""; + this.duration = options?.duration ?? 0; + this.winnersCount = options?.winnersCount ?? 1; + this.hostID = options?.hostID ?? ""; + this.guildID = options?.guildID ?? ""; + this.channelID = options?.channelID ?? ""; + this.requirements = options?.requirements; this.hasEnded = false; this.entries = []; this.winners = []; diff --git a/dist/structures/Giveaway.js.map b/dist/structures/Giveaway.js.map index 862c33c..4900306 100644 --- a/dist/structures/Giveaway.js.map +++ b/dist/structures/Giveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index c10b2ed..3c298b2 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 67fe6b5..a9a24dc 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/src/structures/Giveaway.ts b/src/structures/Giveaway.ts index 5527f40..d93e799 100644 --- a/src/structures/Giveaway.ts +++ b/src/structures/Giveaway.ts @@ -84,15 +84,15 @@ export class Giveaway implements IGiveaway { @Column({ nullable: true }) public messageID?: Snowflake - constructor(options: IGiveawayStartOptions & { id?: Snowflake }) { + constructor(options?: Partial & { id?: Snowflake }) { this.id = options?.id ?? SnowflakeUtil.generate().toString() - this.prize = options.prize - this.duration = options.duration - this.winnersCount = options.winnersCount - this.hostID = options.hostID - this.guildID = options.guildID - this.channelID = options.channelID - this.requirements = options.requirements + this.prize = options?.prize ?? "" + this.duration = options?.duration ?? 0 + this.winnersCount = options?.winnersCount ?? 1 + this.hostID = options?.hostID ?? "" + this.guildID = options?.guildID ?? "" + this.channelID = options?.channelID ?? "" + this.requirements = options?.requirements this.hasEnded = false this.entries = [] this.winners = [] From d91f4fb109ddd1f038f6c66edbf556e8e8f7207b Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 15:25:08 +0200 Subject: [PATCH 35/87] Fix not saving entries --- dist/managers/GiveawaysInteractionManager.d.ts.map | 2 +- dist/managers/GiveawaysInteractionManager.js | 2 ++ dist/managers/GiveawaysInteractionManager.js.map | 2 +- dist/structures/Giveaway.js | 4 ++-- dist/structures/Giveaway.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/managers/GiveawaysInteractionManager.ts | 2 ++ src/structures/Giveaway.ts | 4 ++-- 9 files changed, 16 insertions(+), 12 deletions(-) diff --git a/dist/managers/GiveawaysInteractionManager.d.ts.map b/dist/managers/GiveawaysInteractionManager.d.ts.map index 21bdfb5..cfde07d 100644 --- a/dist/managers/GiveawaysInteractionManager.d.ts.map +++ b/dist/managers/GiveawaysInteractionManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAInD,qBAAa,2BAA2B;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;YAIzC,SAAS;CA6B1B"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAInD,qBAAa,2BAA2B;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;YAIzC,SAAS;CA+B1B"} \ No newline at end of file diff --git a/dist/managers/GiveawaysInteractionManager.js b/dist/managers/GiveawaysInteractionManager.js index 844c7a6..ffba4ce 100644 --- a/dist/managers/GiveawaysInteractionManager.js +++ b/dist/managers/GiveawaysInteractionManager.js @@ -25,10 +25,12 @@ class GiveawaysInteractionManager { const entered = giveaway.hasEntered(member.id); if (entered) { giveaway.removeEntry(member.id); + client.database.set(giveaway); client.emitter.emit("giveawayEntryRemove", oldGiveaway, giveaway); } else { giveaway.addEntry(member.id); + client.database.set(giveaway); client.emitter.emit("giveawayEntryAdd", oldGiveaway, giveaway); } interaction.reply({ diff --git a/dist/managers/GiveawaysInteractionManager.js.map b/dist/managers/GiveawaysInteractionManager.js.map index 1b725f2..a816ae2 100644 --- a/dist/managers/GiveawaysInteractionManager.js.map +++ b/dist/managers/GiveawaysInteractionManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AACtD,0BAAmC;AAEnC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAM;YACzF,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC9C,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM,YAAY,wBAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAM;YAEzE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE9C,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC/B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClE,CAAC;YAED,WAAW,CAAC,KAAK,CAAC;gBACd,OAAO,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB;gBAC9E,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAlCD,kEAkCC"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AACtD,0BAAmC;AAEnC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAM;YACzF,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC9C,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM,YAAY,wBAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAM;YAEzE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE9C,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC/B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC5B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClE,CAAC;YAED,WAAW,CAAC,KAAK,CAAC;gBACd,OAAO,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB;gBAC9E,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AApCD,kEAoCC"} \ No newline at end of file diff --git a/dist/structures/Giveaway.js b/dist/structures/Giveaway.js index 25e906c..8df4ab1 100644 --- a/dist/structures/Giveaway.js +++ b/dist/structures/Giveaway.js @@ -168,11 +168,11 @@ __decorate([ __metadata("design:type", Array) ], Giveaway.prototype, "winners", void 0); __decorate([ - (0, typeorm_1.Column)("simple-json", { nullable: true }), + (0, typeorm_1.Column)("simple-json"), __metadata("design:type", Object) ], Giveaway.prototype, "requirements", void 0); __decorate([ - (0, typeorm_1.Column)({ nullable: true }), + (0, typeorm_1.Column)(), __metadata("design:type", String) ], Giveaway.prototype, "messageID", void 0); exports.Giveaway = Giveaway = __decorate([ diff --git a/dist/structures/Giveaway.js.map b/dist/structures/Giveaway.js.map index 4900306..b8f2167 100644 --- a/dist/structures/Giveaway.js.map +++ b/dist/structures/Giveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 3c298b2..e8e6c7a 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index a9a24dc..539753a 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/src/managers/GiveawaysInteractionManager.ts b/src/managers/GiveawaysInteractionManager.ts index 9603f2b..5762daf 100644 --- a/src/managers/GiveawaysInteractionManager.ts +++ b/src/managers/GiveawaysInteractionManager.ts @@ -24,9 +24,11 @@ export class GiveawaysInteractionManager { if (entered) { giveaway.removeEntry(member.id) + client.database.set(giveaway) client.emitter.emit("giveawayEntryRemove", oldGiveaway, giveaway) } else { giveaway.addEntry(member.id) + client.database.set(giveaway) client.emitter.emit("giveawayEntryAdd", oldGiveaway, giveaway) } diff --git a/src/structures/Giveaway.ts b/src/structures/Giveaway.ts index d93e799..3a96e5e 100644 --- a/src/structures/Giveaway.ts +++ b/src/structures/Giveaway.ts @@ -75,13 +75,13 @@ export class Giveaway implements IGiveaway { /** * The requirements all participants have to meet for entering this giveaway. */ - @Column("simple-json", { nullable: true }) + @Column("simple-json") public requirements?: IGiveawayStartOptions["requirements"] /** * The id of the message this giveaway is associated with. */ - @Column({ nullable: true }) + @Column() public messageID?: Snowflake constructor(options?: Partial & { id?: Snowflake }) { From 54ad5b59c6dfe1732670bec6e08155b640145c12 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 15:27:59 +0200 Subject: [PATCH 36/87] Add nullable back -_- --- dist/structures/Giveaway.js | 4 ++-- dist/structures/Giveaway.js.map | 2 +- docs/classes/ForgeGiveaways.html | 6 +++--- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/structures/Giveaway.ts | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/dist/structures/Giveaway.js b/dist/structures/Giveaway.js index 8df4ab1..25e906c 100644 --- a/dist/structures/Giveaway.js +++ b/dist/structures/Giveaway.js @@ -168,11 +168,11 @@ __decorate([ __metadata("design:type", Array) ], Giveaway.prototype, "winners", void 0); __decorate([ - (0, typeorm_1.Column)("simple-json"), + (0, typeorm_1.Column)("simple-json", { nullable: true }), __metadata("design:type", Object) ], Giveaway.prototype, "requirements", void 0); __decorate([ - (0, typeorm_1.Column)(), + (0, typeorm_1.Column)({ nullable: true }), __metadata("design:type", String) ], Giveaway.prototype, "messageID", void 0); exports.Giveaway = Giveaway = __decorate([ diff --git a/dist/structures/Giveaway.js.map b/dist/structures/Giveaway.js.map index b8f2167..4900306 100644 --- a/dist/structures/Giveaway.js.map +++ b/dist/structures/Giveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index e8e6c7a..fd6a07e 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

+

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 539753a..1d3f9e8 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/src/structures/Giveaway.ts b/src/structures/Giveaway.ts index 3a96e5e..d93e799 100644 --- a/src/structures/Giveaway.ts +++ b/src/structures/Giveaway.ts @@ -75,13 +75,13 @@ export class Giveaway implements IGiveaway { /** * The requirements all participants have to meet for entering this giveaway. */ - @Column("simple-json") + @Column("simple-json", { nullable: true }) public requirements?: IGiveawayStartOptions["requirements"] /** * The id of the message this giveaway is associated with. */ - @Column() + @Column({ nullable: true }) public messageID?: Snowflake constructor(options?: Partial & { id?: Snowflake }) { From 39476f17c76d3cf5d9d8c6f9b2219078f0e81e75 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 20:25:58 +0200 Subject: [PATCH 37/87] Restructured whole database class --- dist/functions/getGiveaway.d.ts | 3 -- dist/functions/getGiveaway.d.ts.map | 1 - dist/functions/getGiveaway.js | 8 --- dist/functions/getGiveaway.js.map | 1 - dist/index.d.ts | 3 +- dist/index.d.ts.map | 2 +- dist/index.js | 5 +- dist/index.js.map | 2 +- .../GiveawaysInteractionManager.d.ts.map | 2 +- dist/managers/GiveawaysInteractionManager.js | 7 +-- .../GiveawaysInteractionManager.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 12 +---- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 36 ++++++------- dist/managers/GiveawaysManager.js.map | 2 +- dist/native/giveawayChannelID.js | 7 +-- dist/native/giveawayChannelID.js.map | 2 +- dist/native/giveawayDuration.js | 7 +-- dist/native/giveawayDuration.js.map | 2 +- dist/native/giveawayEntries.js | 4 +- dist/native/giveawayEntries.js.map | 2 +- dist/native/giveawayExists.d.ts | 10 ++++ dist/native/giveawayExists.d.ts.map | 1 + dist/native/giveawayExists.js | 24 +++++++++ dist/native/giveawayExists.js.map | 1 + dist/native/giveawayGuildID.js | 7 +-- dist/native/giveawayGuildID.js.map | 2 +- dist/native/giveawayHasEnded.js | 7 +-- dist/native/giveawayHasEnded.js.map | 2 +- dist/native/giveawayHostID.js | 7 +-- dist/native/giveawayHostID.js.map | 2 +- dist/native/giveawayMessageID.js | 7 +-- dist/native/giveawayMessageID.js.map | 2 +- dist/native/giveawayPrize.js | 7 +-- dist/native/giveawayPrize.js.map | 2 +- dist/native/giveawayRequiredRoles.js | 4 +- dist/native/giveawayRequiredRoles.js.map | 2 +- dist/native/giveawayRestrictedMembers.js | 4 +- dist/native/giveawayRestrictedMembers.js.map | 2 +- dist/native/giveawayRestrictedRoles.js | 4 +- dist/native/giveawayRestrictedRoles.js.map | 2 +- dist/native/giveawayTimestamp.d.ts | 10 ++++ dist/native/giveawayTimestamp.d.ts.map | 1 + dist/native/giveawayTimestamp.js | 25 +++++++++ dist/native/giveawayTimestamp.js.map | 1 + dist/native/giveawayWinners.js | 4 +- dist/native/giveawayWinners.js.map | 2 +- dist/native/giveawayWinnersCount.js | 7 +-- dist/native/giveawayWinnersCount.js.map | 2 +- dist/structures/Database.d.ts | 22 ++++---- dist/structures/Database.d.ts.map | 2 +- dist/structures/Database.js | 44 +++++++++------ dist/structures/Database.js.map | 2 +- dist/structures/Giveaway.d.ts | 13 ++++- dist/structures/Giveaway.d.ts.map | 2 +- dist/structures/Giveaway.js | 27 +++++++++- dist/structures/Giveaway.js.map | 2 +- docs/assets/search.js | 2 +- docs/classes/ForgeGiveaways.html | 11 ++-- docs/interfaces/IForgeGiveawaysOptions.html | 4 +- metadata/functions.json | 2 +- src/functions/getGiveaway.ts | 6 --- src/index.ts | 6 +-- src/managers/GiveawaysInteractionManager.ts | 7 +-- src/managers/GiveawaysManager.ts | 42 +++++++-------- src/native/giveawayChannelID.ts | 4 +- src/native/giveawayDuration.ts | 4 +- src/native/giveawayEntries.ts | 4 +- src/native/giveawayExists.ts | 23 ++++++++ src/native/giveawayGuildID.ts | 4 +- src/native/giveawayHasEnded.ts | 4 +- src/native/giveawayHostID.ts | 4 +- src/native/giveawayMessageID.ts | 4 +- src/native/giveawayPrize.ts | 4 +- src/native/giveawayRequiredRoles.ts | 4 +- src/native/giveawayRestrictedMembers.ts | 4 +- src/native/giveawayRestrictedRoles.ts | 4 +- src/native/giveawayTimestamp.ts | 24 +++++++++ src/native/giveawayWinners.ts | 4 +- src/native/giveawayWinnersCount.ts | 4 +- src/structures/Database.ts | 53 ++++++++++++------- src/structures/Giveaway.ts | 21 +++++++- 82 files changed, 383 insertions(+), 247 deletions(-) delete mode 100644 dist/functions/getGiveaway.d.ts delete mode 100644 dist/functions/getGiveaway.d.ts.map delete mode 100644 dist/functions/getGiveaway.js delete mode 100644 dist/functions/getGiveaway.js.map create mode 100644 dist/native/giveawayExists.d.ts create mode 100644 dist/native/giveawayExists.d.ts.map create mode 100644 dist/native/giveawayExists.js create mode 100644 dist/native/giveawayExists.js.map create mode 100644 dist/native/giveawayTimestamp.d.ts create mode 100644 dist/native/giveawayTimestamp.d.ts.map create mode 100644 dist/native/giveawayTimestamp.js create mode 100644 dist/native/giveawayTimestamp.js.map delete mode 100644 src/functions/getGiveaway.ts create mode 100644 src/native/giveawayExists.ts create mode 100644 src/native/giveawayTimestamp.ts diff --git a/dist/functions/getGiveaway.d.ts b/dist/functions/getGiveaway.d.ts deleted file mode 100644 index 02d4c5d..0000000 --- a/dist/functions/getGiveaway.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Context } from "@tryforge/forgescript"; -export default function (ctx: Context, id: string): Promise; -//# sourceMappingURL=getGiveaway.d.ts.map \ No newline at end of file diff --git a/dist/functions/getGiveaway.d.ts.map b/dist/functions/getGiveaway.d.ts.map deleted file mode 100644 index c09e8e2..0000000 --- a/dist/functions/getGiveaway.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getGiveaway.d.ts","sourceRoot":"","sources":["../../src/functions/getGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG/C,yBAA8B,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,gEAErD"} \ No newline at end of file diff --git a/dist/functions/getGiveaway.js b/dist/functions/getGiveaway.js deleted file mode 100644 index 31f945b..0000000 --- a/dist/functions/getGiveaway.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = default_1; -const __1 = require(".."); -async function default_1(ctx, id) { - return await ctx.client.getExtension(__1.ForgeGiveaways, true).database.get(id); -} -//# sourceMappingURL=getGiveaway.js.map \ No newline at end of file diff --git a/dist/functions/getGiveaway.js.map b/dist/functions/getGiveaway.js.map deleted file mode 100644 index 0d987f7..0000000 --- a/dist/functions/getGiveaway.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getGiveaway.js","sourceRoot":"","sources":["../../src/functions/getGiveaway.ts"],"names":[],"mappings":";;AAGA,4BAEC;AAJD,0BAAmC;AAEpB,KAAK,oBAAU,GAAY,EAAE,EAAU;IAClD,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAC/E,CAAC"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index 4904112..810426a 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -2,7 +2,6 @@ import { ForgeClient, ForgeExtension } from "@tryforge/forgescript"; import { IGiveawayEvents, GiveawaysCommandManager, GiveawaysManager } from "./managers"; import { TypedEmitter } from "tiny-typed-emitter"; import { TransformEvents } from "@tryforge/forge.db"; -import { Database } from "./structures"; export interface IForgeGiveawaysOptions { events?: keyof IGiveawayEvents; messages?: { @@ -16,9 +15,9 @@ export declare class ForgeGiveaways extends ForgeExtension { name: string; description: string; version: any; + requireExtensions: string[]; emitter: TypedEmitter>; readonly giveawaysManager: GiveawaysManager; - readonly database: Database; commands: GiveawaysCommandManager | null; constructor(options?: IForgeGiveawaysOptions | undefined); init(client: ForgeClient): Promise; diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index af9dafc..18b0f13 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,CAAC,EAAE,sBAAsB;IAVpE,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAErC,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,SAAgB,QAAQ,EAAE,QAAQ,CAAA;IAClC,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAMvD,IAAI,CAAC,MAAM,EAAE,WAAW;CAcxC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,CAAC,EAAE,sBAAsB;IAVpE,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAc;IAExB,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAKvD,IAAI,CAAC,MAAM,EAAE,WAAW;CAaxC"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 2ef6a34..b9c38c1 100644 --- a/dist/index.js +++ b/dist/index.js @@ -10,25 +10,24 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { name = "ForgeGiveaways"; description = ""; version = require("../package.json").version; + requireExtensions = ["ForgeDB"]; emitter = new tiny_typed_emitter_1.TypedEmitter(); giveawaysManager = new managers_1.GiveawaysManager(this, this.emitter); - database; commands; constructor(options) { super(); this.options = options; this.commands = null; - this.database = new structures_1.Database(this.emitter); } async init(client) { this.commands = new managers_1.GiveawaysCommandManager(client); forgescript_1.EventManager.load("ForgeGiveawaysEvents", __dirname + "/events"); this.load(__dirname + "/native"); new managers_1.GiveawaysInteractionManager(client); + await new structures_1.Database(this.emitter).init(); if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); } - await this.database.init(); } } exports.ForgeGiveaways = ForgeGiveaways; diff --git a/dist/index.js.map b/dist/index.js.map index 0294c6a..3884d9c 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,gBAAgB,CAAA;IACvB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAErC,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3D,QAAQ,CAAU;IAClC,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC9B,CAAC;CACJ;AA/BD,wCA+BC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,gBAAgB,CAAA;IACvB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,SAAS,CAAC,CAAA;IAExB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QACvC,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AA7BD,wCA6BC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysInteractionManager.d.ts.map b/dist/managers/GiveawaysInteractionManager.d.ts.map index cfde07d..2e1d93c 100644 --- a/dist/managers/GiveawaysInteractionManager.d.ts.map +++ b/dist/managers/GiveawaysInteractionManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAInD,qBAAa,2BAA2B;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;YAIzC,SAAS;CA+B1B"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAKnD,qBAAa,2BAA2B;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;YAIzC,SAAS;CA+B1B"} \ No newline at end of file diff --git a/dist/managers/GiveawaysInteractionManager.js b/dist/managers/GiveawaysInteractionManager.js index ffba4ce..cf71bd3 100644 --- a/dist/managers/GiveawaysInteractionManager.js +++ b/dist/managers/GiveawaysInteractionManager.js @@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.GiveawaysInteractionManager = void 0; const discord_js_1 = require("discord.js"); const __1 = require(".."); +const structures_1 = require("../structures"); class GiveawaysInteractionManager { client; constructor(client) { @@ -15,7 +16,7 @@ class GiveawaysInteractionManager { return; const [, id] = interaction.customId.split("-"); const client = this.client.getExtension(__1.ForgeGiveaways, true); - const giveaway = await client.database.get(id); + const giveaway = await structures_1.Database.get(id); if (!giveaway) return; const member = interaction.member; @@ -25,12 +26,12 @@ class GiveawaysInteractionManager { const entered = giveaway.hasEntered(member.id); if (entered) { giveaway.removeEntry(member.id); - client.database.set(giveaway); + await structures_1.Database.set(giveaway); client.emitter.emit("giveawayEntryRemove", oldGiveaway, giveaway); } else { giveaway.addEntry(member.id); - client.database.set(giveaway); + await structures_1.Database.set(giveaway); client.emitter.emit("giveawayEntryAdd", oldGiveaway, giveaway); } interaction.reply({ diff --git a/dist/managers/GiveawaysInteractionManager.js.map b/dist/managers/GiveawaysInteractionManager.js.map index a816ae2..478aa60 100644 --- a/dist/managers/GiveawaysInteractionManager.js.map +++ b/dist/managers/GiveawaysInteractionManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AACtD,0BAAmC;AAEnC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAM;YACzF,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC9C,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM,YAAY,wBAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAM;YAEzE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE9C,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC/B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC5B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClE,CAAC;YAED,WAAW,CAAC,KAAK,CAAC;gBACd,OAAO,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB;gBAC9E,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AApCD,kEAoCC"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AACtD,0BAAmC;AACnC,8CAAwC;AAExC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAM;YACzF,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM,YAAY,wBAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAM;YAEzE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE9C,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC/B,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC5B,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClE,CAAC;YAED,WAAW,CAAC,KAAK,CAAC;gBACd,OAAO,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB;gBAC9E,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AApCD,kEAoCC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index 096c889..12cd525 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -18,17 +18,6 @@ export declare class GiveawaysManager { private readonly client; private emitter; constructor(client: ForgeGiveaways, emitter: TypedEmitter>); - /** - * Gets an existing giveaway. - * @param id The id of the giveaway to get. - * @returns - */ - get(id: Snowflake): Promise; - /** - * Gets all existing giveaways. - * @returns - */ - getAll(): Promise; /** * Starts a new giveaway on a guild. * @param ctx The current context. @@ -51,5 +40,6 @@ export declare class GiveawaysManager { */ reroll(ctx: Context, id: Snowflake): Promise; private _pickWinners; + private _restoreGiveaways; } //# sourceMappingURL=GiveawaysManager.d.ts.map \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index b716327..711d42d 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBADE,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAI9B;;;OAGG;IACU,MAAM;IAInB;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA+C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAuD5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAsB/C,OAAO,CAAC,YAAY;CAIvB"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBADE,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAKnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA+C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAuD5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAsB/C,OAAO,CAAC,YAAY;YAKN,iBAAiB;CAUlC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index fe62d24..c291f6e 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -10,21 +10,7 @@ class GiveawaysManager { constructor(client, emitter) { this.client = client; this.emitter = emitter; - } - /** - * Gets an existing giveaway. - * @param id The id of the giveaway to get. - * @returns - */ - async get(id) { - return await this.client.database.get(id); - } - /** - * Gets all existing giveaways. - * @returns - */ - async getAll() { - return this.client.database.getAll(); + this._restoreGiveaways(); } /** * Starts a new giveaway on a guild. @@ -62,7 +48,7 @@ class GiveawaysManager { }).catch(ctx.noop); giveaway.messageID = msg?.id; } - await this.client.database.set(giveaway); + await structures_1.Database.set(giveaway).catch(ctx.noop); this.emitter.emit("giveawayStart", giveaway); setTimeout(() => this.end(ctx, giveaway.id), giveaway.duration); return giveaway; @@ -74,7 +60,7 @@ class GiveawaysManager { * @returns */ async end(ctx, id) { - const giveaway = await this.get(id); + const giveaway = await structures_1.Database.get(id); if (!giveaway || giveaway.hasEnded) return null; giveaway.hasEnded = true; @@ -118,7 +104,7 @@ class GiveawaysManager { }).catch(ctx.noop); } } - await this.client.database.set(giveaway); + await structures_1.Database.set(giveaway).catch(ctx.noop); this.emitter.emit("giveawayEnd", giveaway); return giveaway; } @@ -129,7 +115,7 @@ class GiveawaysManager { * @returns */ async reroll(ctx, id) { - const giveaway = await this.get(id); + const giveaway = await structures_1.Database.get(id); if (!giveaway || !giveaway.hasEnded) return null; const oldGiveaway = giveaway.clone(); @@ -142,7 +128,7 @@ class GiveawaysManager { data: forgescript_1.Compiler.compile(this.client.options?.messages?.reroll), doNotSend: true, }); - await this.client.database.set(giveaway); + await structures_1.Database.set(giveaway).catch(ctx.noop); this.emitter.emit("giveawayReroll", oldGiveaway, giveaway); return giveaway; } @@ -150,6 +136,16 @@ class GiveawaysManager { const shuffled = entries.sort(() => Math.random() - 0.5); return shuffled.slice(0, amount); } + async _restoreGiveaways() { + const giveaways = await structures_1.Database.getAll(); + if (!giveaways) + return; + for (const giveaway of giveaways) { + if (Date.now() > (giveaway.timestamp + giveaway.duration)) { + // some stuff + } + } + } } exports.GiveawaysManager = GiveawaysManager; //# sourceMappingURL=GiveawaysManager.js.map \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 90528af..7386026 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/native/giveawayChannelID.js b/dist/native/giveawayChannelID.js index 1517043..6625926 100644 --- a/dist/native/giveawayChannelID.js +++ b/dist/native/giveawayChannelID.js @@ -1,10 +1,7 @@ "use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const structures_1 = require("../structures"); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayChannelID", version: "1.0.0", @@ -22,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Channel, async execute(ctx, [id]) { - const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; return this.success(giveaway?.channelID); } }); diff --git a/dist/native/giveawayChannelID.js.map b/dist/native/giveawayChannelID.js.map index f214025..ceb078b 100644 --- a/dist/native/giveawayChannelID.js.map +++ b/dist/native/giveawayChannelID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayChannelID.js","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayChannelID.js","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayDuration.js b/dist/native/giveawayDuration.js index 8e8865a..bf733bb 100644 --- a/dist/native/giveawayDuration.js +++ b/dist/native/giveawayDuration.js @@ -1,10 +1,7 @@ "use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const structures_1 = require("../structures"); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayDuration", version: "1.0.0", @@ -22,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Number, async execute(ctx, [id]) { - const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; return this.success(giveaway?.duration); } }); diff --git a/dist/native/giveawayDuration.js.map b/dist/native/giveawayDuration.js.map index 0acaeeb..257ae52 100644 --- a/dist/native/giveawayDuration.js.map +++ b/dist/native/giveawayDuration.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayDuration.js","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,0CAA0C;IACvD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayDuration.js","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,0CAA0C;IACvD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayEntries.js b/dist/native/giveawayEntries.js index 4d4900d..91a25e9 100644 --- a/dist/native/giveawayEntries.js +++ b/dist/native/giveawayEntries.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const structures_1 = require("../structures"); const array_1 = __importDefault(require("../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayEntries", @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), async execute(ctx, [id, sep]) { - const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; return this.success(giveaway?.entries.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayEntries.js.map b/dist/native/giveawayEntries.js.map index b1106d1..6ef1e34 100644 --- a/dist/native/giveawayEntries.js.map +++ b/dist/native/giveawayEntries.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntries.js","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntries.js","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayExists.d.ts b/dist/native/giveawayExists.d.ts new file mode 100644 index 0000000..a35124b --- /dev/null +++ b/dist/native/giveawayExists.d.ts @@ -0,0 +1,10 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=giveawayExists.d.ts.map \ No newline at end of file diff --git a/dist/native/giveawayExists.d.ts.map b/dist/native/giveawayExists.d.ts.map new file mode 100644 index 0000000..548140d --- /dev/null +++ b/dist/native/giveawayExists.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayExists.d.ts","sourceRoot":"","sources":["../../src/native/giveawayExists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAkBE"} \ No newline at end of file diff --git a/dist/native/giveawayExists.js b/dist/native/giveawayExists.js new file mode 100644 index 0000000..ed47df7 --- /dev/null +++ b/dist/native/giveawayExists.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const structures_1 = require("../structures"); +exports.default = new forgescript_1.NativeFunction({ + name: "$giveawayExists", + description: "Returns whether a giveaway exists", + unwrap: true, + brackets: true, + args: [ + { + name: "giveaway ID", + description: "The id of the giveaway to check for", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + ], + output: forgescript_1.ArgType.Boolean, + async execute(ctx, [id]) { + return this.success(!!(await structures_1.Database.get(id))); + } +}); +//# sourceMappingURL=giveawayExists.js.map \ No newline at end of file diff --git a/dist/native/giveawayExists.js.map b/dist/native/giveawayExists.js.map new file mode 100644 index 0000000..1dfc71e --- /dev/null +++ b/dist/native/giveawayExists.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayExists.js","sourceRoot":"","sources":["../../src/native/giveawayExists.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayGuildID.js b/dist/native/giveawayGuildID.js index 1fbce17..20071ce 100644 --- a/dist/native/giveawayGuildID.js +++ b/dist/native/giveawayGuildID.js @@ -1,10 +1,7 @@ "use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const structures_1 = require("../structures"); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayGuildID", version: "1.0.0", @@ -22,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Guild, async execute(ctx, [id]) { - const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; return this.success(giveaway?.guildID); } }); diff --git a/dist/native/giveawayGuildID.js.map b/dist/native/giveawayGuildID.js.map index 5f8234f..9202c83 100644 --- a/dist/native/giveawayGuildID.js.map +++ b/dist/native/giveawayGuildID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayGuildID.js","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,KAAK;IACrB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayGuildID.js","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,KAAK;IACrB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayHasEnded.js b/dist/native/giveawayHasEnded.js index cfeae72..86558dd 100644 --- a/dist/native/giveawayHasEnded.js +++ b/dist/native/giveawayHasEnded.js @@ -1,10 +1,7 @@ "use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const structures_1 = require("../structures"); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayHasEnded", version: "1.0.0", @@ -22,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Boolean, async execute(ctx, [id]) { - const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; return this.success(giveaway?.hasEnded); } }); diff --git a/dist/native/giveawayHasEnded.js.map b/dist/native/giveawayHasEnded.js.map index 6f4877a..7d41a11 100644 --- a/dist/native/giveawayHasEnded.js.map +++ b/dist/native/giveawayHasEnded.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayHasEnded.js","sourceRoot":"","sources":["../../src/native/giveawayHasEnded.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayHasEnded.js","sourceRoot":"","sources":["../../src/native/giveawayHasEnded.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayHostID.js b/dist/native/giveawayHostID.js index 3ce62fa..e0c28c1 100644 --- a/dist/native/giveawayHostID.js +++ b/dist/native/giveawayHostID.js @@ -1,10 +1,7 @@ "use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const structures_1 = require("../structures"); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayHostID", version: "1.0.0", @@ -22,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.User, async execute(ctx, [id]) { - const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; return this.success(giveaway?.hostID); } }); diff --git a/dist/native/giveawayHostID.js.map b/dist/native/giveawayHostID.js.map index 784f763..a754627 100644 --- a/dist/native/giveawayHostID.js.map +++ b/dist/native/giveawayHostID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayHostID.js","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayHostID.js","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayMessageID.js b/dist/native/giveawayMessageID.js index 29bbf24..f9b5b83 100644 --- a/dist/native/giveawayMessageID.js +++ b/dist/native/giveawayMessageID.js @@ -1,10 +1,7 @@ "use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const structures_1 = require("../structures"); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayMessageID", version: "1.0.0", @@ -22,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Message, async execute(ctx, [id]) { - const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; return this.success(giveaway?.messageID); } }); diff --git a/dist/native/giveawayMessageID.js.map b/dist/native/giveawayMessageID.js.map index 12310e3..40b2e9b 100644 --- a/dist/native/giveawayMessageID.js.map +++ b/dist/native/giveawayMessageID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayMessageID.js","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayMessageID.js","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayPrize.js b/dist/native/giveawayPrize.js index b6ad6f3..725570a 100644 --- a/dist/native/giveawayPrize.js +++ b/dist/native/giveawayPrize.js @@ -1,10 +1,7 @@ "use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const structures_1 = require("../structures"); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayPrize", version: "1.0.0", @@ -22,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.String, async execute(ctx, [id]) { - const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; return this.success(giveaway?.prize); } }); diff --git a/dist/native/giveawayPrize.js.map b/dist/native/giveawayPrize.js.map index 05c13e5..abb3595 100644 --- a/dist/native/giveawayPrize.js.map +++ b/dist/native/giveawayPrize.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayPrize.js","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,iCAAiC;IAC9C,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayPrize.js","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,iCAAiC;IAC9C,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRequiredRoles.js b/dist/native/giveawayRequiredRoles.js index 6b99187..fadadf8 100644 --- a/dist/native/giveawayRequiredRoles.js +++ b/dist/native/giveawayRequiredRoles.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const structures_1 = require("../structures"); const array_1 = __importDefault(require("../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayRequiredRoles", @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), async execute(ctx, [id, sep]) { - const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; return this.success(giveaway?.requirements?.requiredRoles?.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayRequiredRoles.js.map b/dist/native/giveawayRequiredRoles.js.map index a55922c..cc39775 100644 --- a/dist/native/giveawayRequiredRoles.js.map +++ b/dist/native/giveawayRequiredRoles.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRequiredRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACjF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRequiredRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACjF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedMembers.js b/dist/native/giveawayRestrictedMembers.js index c8c65f8..afe86e7 100644 --- a/dist/native/giveawayRestrictedMembers.js +++ b/dist/native/giveawayRestrictedMembers.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const structures_1 = require("../structures"); const array_1 = __importDefault(require("../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayRestrictedMembers", @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), async execute(ctx, [id, sep]) { - const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; return this.success(giveaway?.requirements?.restrictedMembers?.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayRestrictedMembers.js.map b/dist/native/giveawayRestrictedMembers.js.map index 59779ef..cbad6b0 100644 --- a/dist/native/giveawayRestrictedMembers.js.map +++ b/dist/native/giveawayRestrictedMembers.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRestrictedMembers.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAkB;IAC/B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRestrictedMembers.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAkB;IAC/B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedRoles.js b/dist/native/giveawayRestrictedRoles.js index 2a2954d..b578374 100644 --- a/dist/native/giveawayRestrictedRoles.js +++ b/dist/native/giveawayRestrictedRoles.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const structures_1 = require("../structures"); const array_1 = __importDefault(require("../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayRestrictedRoles", @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), async execute(ctx, [id, sep]) { - const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; return this.success(giveaway?.requirements?.restrictedRoles?.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayRestrictedRoles.js.map b/dist/native/giveawayRestrictedRoles.js.map index 2c94745..7ebdba2 100644 --- a/dist/native/giveawayRestrictedRoles.js.map +++ b/dist/native/giveawayRestrictedRoles.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRestrictedRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACnF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRestrictedRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACnF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayTimestamp.d.ts b/dist/native/giveawayTimestamp.d.ts new file mode 100644 index 0000000..f654224 --- /dev/null +++ b/dist/native/giveawayTimestamp.d.ts @@ -0,0 +1,10 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=giveawayTimestamp.d.ts.map \ No newline at end of file diff --git a/dist/native/giveawayTimestamp.d.ts.map b/dist/native/giveawayTimestamp.d.ts.map new file mode 100644 index 0000000..ddd09fb --- /dev/null +++ b/dist/native/giveawayTimestamp.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayTimestamp.d.ts","sourceRoot":"","sources":["../../src/native/giveawayTimestamp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file diff --git a/dist/native/giveawayTimestamp.js b/dist/native/giveawayTimestamp.js new file mode 100644 index 0000000..647dccb --- /dev/null +++ b/dist/native/giveawayTimestamp.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const structures_1 = require("../structures"); +exports.default = new forgescript_1.NativeFunction({ + name: "$giveawayTimestamp", + description: "Returns the created timestamp of a giveaway in ms", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + ], + output: forgescript_1.ArgType.Number, + async execute(ctx, [id]) { + const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; + return this.success(giveaway?.timestamp); + } +}); +//# sourceMappingURL=giveawayTimestamp.js.map \ No newline at end of file diff --git a/dist/native/giveawayTimestamp.js.map b/dist/native/giveawayTimestamp.js.map new file mode 100644 index 0000000..9de1f57 --- /dev/null +++ b/dist/native/giveawayTimestamp.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayTimestamp.js","sourceRoot":"","sources":["../../src/native/giveawayTimestamp.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,mDAAmD;IAChE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinners.js b/dist/native/giveawayWinners.js index 1bd43f0..036452c 100644 --- a/dist/native/giveawayWinners.js +++ b/dist/native/giveawayWinners.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const structures_1 = require("../structures"); const array_1 = __importDefault(require("../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayWinners", @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), async execute(ctx, [id, sep]) { - const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; return this.success(giveaway?.winners.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayWinners.js.map b/dist/native/giveawayWinners.js.map index 608a7b1..cd6d9a5 100644 --- a/dist/native/giveawayWinners.js.map +++ b/dist/native/giveawayWinners.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayWinners.js","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAClD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayWinners.js","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinnersCount.js b/dist/native/giveawayWinnersCount.js index 2ae2be4..accecf5 100644 --- a/dist/native/giveawayWinnersCount.js +++ b/dist/native/giveawayWinnersCount.js @@ -1,10 +1,7 @@ "use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const getGiveaway_1 = __importDefault(require("../functions/getGiveaway")); +const structures_1 = require("../structures"); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayWinnersCount", version: "1.0.0", @@ -22,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Number, async execute(ctx, [id]) { - const giveaway = await (0, getGiveaway_1.default)(ctx, id) ?? ctx.giveaway; + const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; return this.success(giveaway?.winnersCount); } }); diff --git a/dist/native/giveawayWinnersCount.js.map b/dist/native/giveawayWinnersCount.js.map index 54640bb..1edc2cf 100644 --- a/dist/native/giveawayWinnersCount.js.map +++ b/dist/native/giveawayWinnersCount.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayWinnersCount.js","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,2EAAkD;AAElD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayWinnersCount.js","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/structures/Database.d.ts b/dist/structures/Database.d.ts index 961d425..9259e12 100644 --- a/dist/structures/Database.d.ts +++ b/dist/structures/Database.d.ts @@ -2,18 +2,22 @@ import { GiveawaysDatabaseManager, IGiveawayEvents } from "../managers"; import { TypedEmitter } from "tiny-typed-emitter"; import { TransformEvents } from "@tryforge/forge.db"; import { Snowflake } from "discord.js"; -import { Giveaway } from "./Giveaway"; +import { Giveaway, MongoGiveaway } from "./Giveaway"; +export type AnyGiveaway = typeof Giveaway | typeof MongoGiveaway; export declare class Database extends GiveawaysDatabaseManager { private readonly emitter; database: string; entityManager: { sqlite: (typeof Giveaway)[]; - mongodb: (typeof Giveaway)[]; + mongodb: (typeof MongoGiveaway)[]; mysql: (typeof Giveaway)[]; postgres: (typeof Giveaway)[]; }; - private db?; - private repo?; + private static entities; + private db; + private static db; + private static repo; + private static emitter; constructor(emitter: TypedEmitter>); init(): Promise; /** @@ -21,27 +25,27 @@ export declare class Database extends GiveawaysDatabaseManager { * @param id The id of the giveaway to get. * @returns */ - get(id: Snowflake): Promise; + static get(id: Snowflake): Promise; /** * Gets all existing giveaways. * @returns */ - getAll(): Promise; + static getAll(): Promise; /** * Saves a giveaway in the database. * @param data The giveaway data to save. */ - set(data: Giveaway): Promise; + static set(data: Giveaway): Promise; /** * Deletes an existing giveaway from the database. * @param id The id of the giveaway to delete. * @returns */ - delete(id: Snowflake): Promise; + static delete(id: Snowflake): Promise; /** * Wipes the entire database. * @returns */ - wipe(): Promise; + static wipe(): Promise; } //# sourceMappingURL=Database.d.ts.map \ No newline at end of file diff --git a/dist/structures/Database.d.ts.map b/dist/structures/Database.d.ts.map index 9ba311d..6399c04 100644 --- a/dist/structures/Database.d.ts.map +++ b/dist/structures/Database.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,qBAAa,QAAS,SAAQ,wBAAwB;IAatC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ7B,QAAQ,SAAgB;IAExB,aAAa;;;;;MAKnB;IAED,OAAO,CAAC,EAAE,CAAC,CAAY;IACvB,OAAO,CAAC,IAAI,CAAC,CAAsB;gBAEN,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAIvE,IAAI;IAMjB;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAI9B;;;OAGG;IACU,MAAM;IAInB;;;OAGG;IACU,GAAG,CAAC,IAAI,EAAE,QAAQ;IAU/B;;;;OAIG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS;IAIjC;;;OAGG;IACU,IAAI;CAGpB"} \ No newline at end of file +{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;AAEhE,qBAAa,QAAS,SAAQ,wBAAwB;IAmBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlB7B,QAAQ,SAAgB;IAExB,aAAa;;;;;MAKnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAEtB;IAED,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAsB;IACzC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAgD;gBAEzC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IASvE,IAAI;IAOjB;;;;OAIG;WACiB,GAAG,CAAC,EAAE,EAAE,SAAS;IAIrC;;;OAGG;WACiB,MAAM;IAI1B;;;OAGG;WACiB,GAAG,CAAC,IAAI,EAAE,QAAQ;IAWtC;;;;OAIG;WACiB,MAAM,CAAC,EAAE,EAAE,SAAS;IAIxC;;;OAGG;WACiB,IAAI;CAG3B"} \ No newline at end of file diff --git a/dist/structures/Database.js b/dist/structures/Database.js index 3e31dd4..aef714c 100644 --- a/dist/structures/Database.js +++ b/dist/structures/Database.js @@ -8,47 +8,57 @@ class Database extends managers_1.GiveawaysDatabaseManager { database = "giveaway.db"; entityManager = { sqlite: [Giveaway_1.Giveaway], - mongodb: [Giveaway_1.Giveaway], + mongodb: [Giveaway_1.MongoGiveaway], mysql: [Giveaway_1.Giveaway], postgres: [Giveaway_1.Giveaway], }; + static entities; db; - repo; + static db; + static repo; + static emitter; constructor(emitter) { super(); this.emitter = emitter; + this.type ??= "sqlite"; + this.db = this.getDB(); + Database.entities = { + Giveaway: this.entityManager[this.type === "better-sqlite3" ? "sqlite" : this.type][0], + }; } async init() { - this.db = await this.getDB(); - this.repo = this.db.getRepository(Giveaway_1.Giveaway); - this.emitter.emit("databaseConnect"); + Database.emitter = this.emitter; + Database.db = await this.getDB(); + Database.repo = Database.db.getRepository(Database.entities.Giveaway); + Database.emitter.emit("databaseConnect"); } /** * Gets an existing giveaway. * @param id The id of the giveaway to get. * @returns */ - async get(id) { - return await this.repo?.findOneBy({ id }); + static async get(id) { + return await this.repo.findOneBy({ id }); } /** * Gets all existing giveaways. * @returns */ - async getAll() { - return await this.repo?.find(); + static async getAll() { + return await this.repo.find(); } /** * Saves a giveaway in the database. * @param data The giveaway data to save. */ - async set(data) { - const oldData = await this.repo?.findOneBy({ id: data.id }); + static async set(data) { + const newData = new this.entities.Giveaway(data); + const oldData = await this.repo.findOneBy({ id: data.id }); if (oldData && this.type === "mongodb") { - await this.repo?.update(oldData.id, data); + await this.repo.update(oldData.id, data); } else { - await this.repo?.save(data); + await this.repo.save(data); } } /** @@ -56,15 +66,15 @@ class Database extends managers_1.GiveawaysDatabaseManager { * @param id The id of the giveaway to delete. * @returns */ - async delete(id) { - return await this.repo?.delete({ id }); + static async delete(id) { + return await this.repo.delete({ id }); } /** * Wipes the entire database. * @returns */ - async wipe() { - return await this.repo?.clear(); + static async wipe() { + return await this.repo.clear(); } } exports.Database = Database; diff --git a/dist/structures/Database.js.map b/dist/structures/Database.js.map index 6b56d9d..add3673 100644 --- a/dist/structures/Database.js.map +++ b/dist/structures/Database.js.map @@ -1 +1 @@ -{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":";;;AAAA,0CAAuE;AAKvE,yCAAqC;AAErC,MAAa,QAAS,SAAQ,mCAAwB;IAarB;IAZtB,QAAQ,GAAG,aAAa,CAAA;IAExB,aAAa,GAAG;QACnB,MAAM,EAAE,CAAC,mBAAQ,CAAC;QAClB,OAAO,EAAE,CAAC,mBAAQ,CAAC;QACnB,KAAK,EAAE,CAAC,mBAAQ,CAAC;QACjB,QAAQ,EAAE,CAAC,mBAAQ,CAAC;KACvB,CAAA;IAEO,EAAE,CAAa;IACf,IAAI,CAAuB;IAEnC,YAA6B,OAAuD;QAChF,KAAK,EAAE,CAAA;QADkB,YAAO,GAAP,OAAO,CAAgD;IAEpF,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,IAAI,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAA;QAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG,CAAC,EAAa;QAC1B,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM;QACf,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAA;IAClC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,GAAG,CAAC,IAAc;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QAE3D,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAC7C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CAAC,EAAa;QAC7B,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,IAAI;QACb,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;IACnC,CAAC;CACJ;AAtED,4BAsEC"} \ No newline at end of file +{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":";;;AAAA,0CAAuE;AAKvE,yCAAoD;AAIpD,MAAa,QAAS,SAAQ,mCAAwB;IAmBrB;IAlBtB,QAAQ,GAAG,aAAa,CAAA;IAExB,aAAa,GAAG;QACnB,MAAM,EAAE,CAAC,mBAAQ,CAAC;QAClB,OAAO,EAAE,CAAC,wBAAa,CAAC;QACxB,KAAK,EAAE,CAAC,mBAAQ,CAAC;QACjB,QAAQ,EAAE,CAAC,mBAAQ,CAAC;KACvB,CAAA;IAEO,MAAM,CAAC,QAAQ,CAEtB;IAEO,EAAE,CAAqB;IACvB,MAAM,CAAC,EAAE,CAAY;IACrB,MAAM,CAAC,IAAI,CAAsB;IACjC,MAAM,CAAC,OAAO,CAAgD;IAEtE,YAA6B,OAAuD;QAChF,KAAK,EAAE,CAAA;QADkB,YAAO,GAAP,OAAO,CAAgD;QAEhF,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAA;QACtB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACtB,QAAQ,CAAC,QAAQ,GAAG;YAChB,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzF,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC/B,QAAQ,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAChC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACrE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC5C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAa;QACjC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC5C,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM;QACtB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACjC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAc;QAClC,MAAM,OAAO,GAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QAE1D,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAC5C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAa;QACpC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACzC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI;QACpB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAClC,CAAC;CACJ;AAnFD,4BAmFC"} \ No newline at end of file diff --git a/dist/structures/Giveaway.d.ts b/dist/structures/Giveaway.d.ts index cbfceb9..49742b5 100644 --- a/dist/structures/Giveaway.d.ts +++ b/dist/structures/Giveaway.d.ts @@ -2,6 +2,7 @@ import { GuildMember, Snowflake } from "discord.js"; import { IGiveawayStartOptions } from "../managers/GiveawaysManager"; export interface IGiveaway extends IGiveawayStartOptions { id: Snowflake; + timestamp: number; hasEnded: boolean; messageID?: Snowflake; entries: Snowflake[]; @@ -17,9 +18,13 @@ export declare class Giveaway implements IGiveaway { */ prize: string; /** - * The duration of the giveaway in ms. + * The duration of this giveaway in ms. */ duration: number; + /** + * The timestamp this giveaway has been created at. + */ + timestamp: number; /** * The max amount of winners for this giveaway. */ @@ -89,4 +94,10 @@ export declare class Giveaway implements IGiveaway { */ clone(): this; } +export declare class MongoGiveaway extends Giveaway { + /** + * The object id for MongoDB. + */ + mongoId?: string; +} //# sourceMappingURL=Giveaway.d.ts.map \ No newline at end of file diff --git a/dist/structures/Giveaway.d.ts.map b/dist/structures/Giveaway.d.ts.map index 4d0a08c..838f82d 100644 --- a/dist/structures/Giveaway.d.ts.map +++ b/dist/structures/Giveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBACa,QAAS,YAAW,SAAS;IACtC;;OAEG;IAEI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IAEI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IAEI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IAEI,QAAQ,EAAE,OAAO,CAAA;IAExB;;OAEG;IAEI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IAEI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IAEI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IAEI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAczE;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;IASnC;;;OAGG;IACI,KAAK;CAGf"} \ No newline at end of file +{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBACa,QAAS,YAAW,SAAS;IACtC;;OAEG;IAEI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IAEI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IAEI,SAAS,EAAE,MAAM,CAAA;IAExB;;OAEG;IAEI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IAEI,QAAQ,EAAE,OAAO,CAAA;IAExB;;OAEG;IAEI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IAEI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IAEI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IAEI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAezE;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;IASnC;;;OAGG;IACI,KAAK;CAGf;AAED,qBACa,aAAc,SAAQ,QAAQ;IACvC;;OAEG;IAEI,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B"} \ No newline at end of file diff --git a/dist/structures/Giveaway.js b/dist/structures/Giveaway.js index 25e906c..b35a86f 100644 --- a/dist/structures/Giveaway.js +++ b/dist/structures/Giveaway.js @@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.Giveaway = void 0; +exports.MongoGiveaway = exports.Giveaway = void 0; const discord_js_1 = require("discord.js"); const typeorm_1 = require("typeorm"); let Giveaway = class Giveaway { @@ -22,9 +22,13 @@ let Giveaway = class Giveaway { */ prize; /** - * The duration of the giveaway in ms. + * The duration of this giveaway in ms. */ duration; + /** + * The timestamp this giveaway has been created at. + */ + timestamp; /** * The max amount of winners for this giveaway. */ @@ -70,6 +74,7 @@ let Giveaway = class Giveaway { this.guildID = options?.guildID ?? ""; this.channelID = options?.channelID ?? ""; this.requirements = options?.requirements; + this.timestamp = (discord_js_1.SnowflakeUtil.timestampFrom(this.id) * 1000); this.hasEnded = false; this.entries = []; this.winners = []; @@ -139,6 +144,10 @@ __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", Number) ], Giveaway.prototype, "duration", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", Number) +], Giveaway.prototype, "timestamp", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", Number) @@ -179,4 +188,18 @@ exports.Giveaway = Giveaway = __decorate([ (0, typeorm_1.Entity)(), __metadata("design:paramtypes", [Object]) ], Giveaway); +let MongoGiveaway = class MongoGiveaway extends Giveaway { + /** + * The object id for MongoDB. + */ + mongoId; +}; +exports.MongoGiveaway = MongoGiveaway; +__decorate([ + (0, typeorm_1.ObjectIdColumn)(), + __metadata("design:type", String) +], MongoGiveaway.prototype, "mongoId", void 0); +exports.MongoGiveaway = MongoGiveaway = __decorate([ + (0, typeorm_1.Entity)() +], MongoGiveaway); //# sourceMappingURL=Giveaway.js.map \ No newline at end of file diff --git a/dist/structures/Giveaway.js.map b/dist/structures/Giveaway.js.map index 4900306..22bcffa 100644 --- a/dist/structures/Giveaway.js.map +++ b/dist/structures/Giveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 82a8fbb..b95a663 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7VXW2+bMBT+L6evFs3hlsAP2NSHaW97saKKgZuhcYnATVeh/PfJBLBdO5UTtqdW5HwX25+P7QG69q2HlA7wu2wKSP0oJtBkNYMUnr603YF9LU8se8ve++9HXrZNDwReuwpSKBvOupcsZ/2jvdL7xesKCORV1veshxTgTGYh3PjhosROrOG3Mj8sKEWAwDHrWMOv279ioWZ9nx3YzSYU3J024igK5KQ/P/P3I7vXhbfAbzHjLYO4Mjk9zzq+0pM3k9zlbB7YtQA1xVp7F4r/Ya5jXVtVa/0tLP/Kor9bHOrYxemk9Kj//Om2jtBfWPO26Xn3mvO2c6F80Ovtw/zg9MqMj39cJKfCNVoF6/OuHKfbSVKvX6N8Yl3vqipr1yiyuuScua2mrF2jeJgLvmVNdnCUtoBWrXDGs59Z75YopXiNZt7WddYUTnvxQSleo9l+OOA/k5S1Nyr6m1D2nbIpuZPcVOimtSdQNgX7A+mw7JEUfC/wEiDwUrKqEFeeuUuI2RNEBIo2fx3/3U9lP5hoRqL4Uv24AUI3xI+8INnvCZ2x4/fxw0whv4w4BELRgkMDhxrOB0J9C843cL6GC4DQwIILDFyg4UIgNLTgQgMXargICI0suMjARRouBkJjCy42cLGG2wKhWwtua+C2Gm4HhO4suJ2B22m4BAhNLLjEwCX6uosYoC0xaEYGP2RmDI01NZbY6LlBEQe0JQfN6KCeHRSRQFt60IwP6vlBEQu0JQjNCKGeIRTRQFuK0IwR6jlCEQ+0JQnNKKGeJRQRQVua0IzT9GlsMSfWcVY8XVoNpcvVfYDnqf8Ec6cbIIB0OJ9lt0mHs9JwxG+z8qWTSxKMJAtGjjTKTUoy7STRzolHHmaKnVCxE7rRqFcehWmjMG2cmJZLhcLiKyy+G4u46ksGZX7dpnd+eComFA9OFC/izDrIG7ek2kqqrRPVwlLPtx3Fl5JAdItgqVtbDnpJqiyb26pdTm/FlTJGdBukfGZLGmXh3db9cuBLgkQSJE4ElsnAWBlL7MQyv+QkicLhRjG9pSWDsind9uTyIFCGoqbYIcZ7AsfyyKqyYZDS/fn8F5qZ/kBOEgAA"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7VXW2+bMBT+L6evVprDLcD7NvVh2tterKhC4GbWEsiMk7aK8t8nCGC7diKnbE+tyPkuPnwc2ycQzWsLOT3Bb15XkAdxQqAudgxyePraiA37xo+seC3e2x97yZu6BQIHsYUceC2ZeClK1j66Kxe/5G4LBMpt0bashRzgTEYhXAbRpMSOrJb3Mj9MKE2AwL4QrJbX7V+xsGNtW2zY3SY03CdtJHEcqqY/P8v3Pfusi8UEv8fMYlrElea0shBypqfFSPIpZ+PCrgWorubau1D8D3OCiWa7netvYvlXFoN0cmhiJ6eD0qP5883POsZgYi2bupXiUMpG+FA+mPXuZX5weqXj/R8fyaFwjlbF2lLwvt1ekmb9HOUjE62vqqqdoyjYnwMX7MubZHVrbAa3tF2oOS7YjkvJ/DKlaucobsaC70VdbDylHaA5Hspmtyvqyq/lWvEczebDln9LUtXeqRgsIzWJeM2ll9xQ6Ke1JsDrir1Bfpq+mhyCRbjIgMALZ9uqOwSNc6PrXkdEoGrKQ//veij7ybrx1BVfqh+XQOiSBPEizNZrQkds/7x/MFKoJz0OgVB04NDCoYELgNDAgQssXGDgQiA0dOBCCxcauAgIjRy4yMJFBi4GQmMHLrZwsYFLgNDEgUssXGLgVkDoyoFbWbiVgUuB0NSBSy1cauAyIDRz4DILl5nvvYsBuhKDdmTwQ2b60DhT44iNmRvs4oCu5KAdHTSzg10k0JUetOODZn6wiwW6EoR2hNDMEHbRQFeK0I4RmjnCLh7oShLaUUIzS9hFBF1pQjtOw6N+xByZkKx6uowaSqfD/Ameh/kTjpPuBCHkp/NZTZv8dNYGTvfbqHyZ5IoEY8WCsSeNdrZSTKkiSr14jNOL5mipOVp6MU07s8aidQf92tOf2hWD1hi/vox3SM2E5sGL4qXbbDbq8KyoVopq5UU1sezGI4PmK9KMRV503LQ27dCKVHttfm/tsu1qrrQ1ot8i1Y1Z0QSKJfAiuezUiiBTBJkXgaMZmGhrSbxYhqMt0462Gp+2KvRb1njJUySaJz9LwzVbMWi58YvNdFfQlqJ/FR6fxZrAnu/ZltcMcro+n/8CRwhFdWkSAAA="; \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index fd6a07e..cdd0b98 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,18 +1,17 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions?: string[]

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 1d3f9e8..374f220 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/metadata/functions.json b/metadata/functions.json index 72b9a9d..03b2814 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$setRequiredRoles","version":"1.0.0","description":"Sets the required roles for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$setRestrictedMembers","version":"1.0.0","description":"Sets the restricted members for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$setRestrictedRoles","version":"1.0.0","description":"Sets the restricted roles for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file +[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayExists","description":"Returns whether a giveaway exists","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The id of the giveaway to check for","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"version":"1.0.0"},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayTimestamp","description":"Returns the created timestamp of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"],"version":"1.0.0"},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$setRequiredRoles","version":"1.0.0","description":"Sets the required roles for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$setRestrictedMembers","version":"1.0.0","description":"Sets the restricted members for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$setRestrictedRoles","version":"1.0.0","description":"Sets the restricted roles for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file diff --git a/src/functions/getGiveaway.ts b/src/functions/getGiveaway.ts deleted file mode 100644 index 2ccdc92..0000000 --- a/src/functions/getGiveaway.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Context } from "@tryforge/forgescript" -import { ForgeGiveaways } from ".." - -export default async function(ctx: Context, id: string) { - return await ctx.client.getExtension(ForgeGiveaways, true).database.get(id) -} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 92bf4fd..10966b2 100644 --- a/src/index.ts +++ b/src/index.ts @@ -17,17 +17,16 @@ export class ForgeGiveaways extends ForgeExtension { name = "ForgeGiveaways" description = "" version = require("../package.json").version + requireExtensions = ["ForgeDB"] public emitter = new TypedEmitter>() public readonly giveawaysManager = new GiveawaysManager(this, this.emitter) - public readonly database: Database commands: GiveawaysCommandManager | null public constructor (public readonly options?: IForgeGiveawaysOptions) { super() this.commands = null - this.database = new Database(this.emitter) } public async init(client: ForgeClient) { @@ -37,11 +36,10 @@ export class ForgeGiveaways extends ForgeExtension { this.load(__dirname + "/native") new GiveawaysInteractionManager(client) + await new Database(this.emitter).init() if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events) } - - await this.database.init() } } \ No newline at end of file diff --git a/src/managers/GiveawaysInteractionManager.ts b/src/managers/GiveawaysInteractionManager.ts index 5762daf..db72463 100644 --- a/src/managers/GiveawaysInteractionManager.ts +++ b/src/managers/GiveawaysInteractionManager.ts @@ -1,6 +1,7 @@ import { ForgeClient } from "@tryforge/forgescript" import { GuildMember, MessageFlags } from "discord.js" import { ForgeGiveaways } from ".." +import { Database } from "../structures" export class GiveawaysInteractionManager { public constructor(private readonly client: ForgeClient) { @@ -13,7 +14,7 @@ export class GiveawaysInteractionManager { const [, id] = interaction.customId.split("-") const client = this.client.getExtension(ForgeGiveaways, true) - const giveaway = await client.database.get(id) + const giveaway = await Database.get(id) if (!giveaway) return const member = interaction.member @@ -24,11 +25,11 @@ export class GiveawaysInteractionManager { if (entered) { giveaway.removeEntry(member.id) - client.database.set(giveaway) + await Database.set(giveaway) client.emitter.emit("giveawayEntryRemove", oldGiveaway, giveaway) } else { giveaway.addEntry(member.id) - client.database.set(giveaway) + await Database.set(giveaway) client.emitter.emit("giveawayEntryAdd", oldGiveaway, giveaway) } diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 01c8760..0536cc1 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -2,7 +2,7 @@ import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, Snowflake, import { Compiler, Context, Interpreter } from "@tryforge/forgescript" import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" -import { Giveaway, IGiveawayRequirements } from "../structures" +import { Database, Giveaway, IGiveawayRequirements } from "../structures" import { IGiveawayEvents } from "./GiveawaysEventManager" import { ForgeGiveaways } from ".." @@ -20,23 +20,8 @@ export class GiveawaysManager { public constructor( private readonly client: ForgeGiveaways, private emitter: TypedEmitter> - ) {} - - /** - * Gets an existing giveaway. - * @param id The id of the giveaway to get. - * @returns - */ - public async get(id: Snowflake) { - return await this.client.database.get(id) - } - - /** - * Gets all existing giveaways. - * @returns - */ - public async getAll() { - return this.client.database.getAll() + ) { + this._restoreGiveaways() } /** @@ -85,7 +70,7 @@ export class GiveawaysManager { giveaway.messageID = msg?.id } - await this.client.database.set(giveaway) + await Database.set(giveaway).catch(ctx.noop) this.emitter.emit("giveawayStart", giveaway) setTimeout(() => this.end(ctx, giveaway.id), giveaway.duration) @@ -99,7 +84,7 @@ export class GiveawaysManager { * @returns */ public async end(ctx: Context, id: Snowflake) { - const giveaway = await this.get(id) + const giveaway = await Database.get(id) if (!giveaway || giveaway.hasEnded) return null giveaway.hasEnded = true @@ -147,7 +132,7 @@ export class GiveawaysManager { } } - await this.client.database.set(giveaway) + await Database.set(giveaway).catch(ctx.noop) this.emitter.emit("giveawayEnd", giveaway) return giveaway @@ -160,7 +145,7 @@ export class GiveawaysManager { * @returns */ public async reroll(ctx: Context, id: Snowflake) { - const giveaway = await this.get(id) + const giveaway = await Database.get(id) if (!giveaway || !giveaway.hasEnded) return null const oldGiveaway = giveaway.clone() @@ -175,7 +160,7 @@ export class GiveawaysManager { doNotSend: true, }) - await this.client.database.set(giveaway) + await Database.set(giveaway).catch(ctx.noop) this.emitter.emit("giveawayReroll", oldGiveaway, giveaway) return giveaway @@ -185,4 +170,15 @@ export class GiveawaysManager { const shuffled = entries.sort(() => Math.random() - 0.5) return shuffled.slice(0, amount) } + + private async _restoreGiveaways() { + const giveaways = await Database.getAll() + if (!giveaways) return + + for (const giveaway of giveaways) { + if (Date.now() > (giveaway.timestamp + giveaway.duration)) { + // some stuff + } + } + } } diff --git a/src/native/giveawayChannelID.ts b/src/native/giveawayChannelID.ts index 0660663..99734c4 100644 --- a/src/native/giveawayChannelID.ts +++ b/src/native/giveawayChannelID.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import getGiveaway from "../functions/getGiveaway" +import { Database } from "../structures" export default new NativeFunction({ name: "$giveawayChannelID", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Channel, async execute(ctx, [id]) { - const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway + const giveaway = await Database.get(id) ?? ctx.giveaway return this.success(giveaway?.channelID) } }) \ No newline at end of file diff --git a/src/native/giveawayDuration.ts b/src/native/giveawayDuration.ts index ea0667c..f80e170 100644 --- a/src/native/giveawayDuration.ts +++ b/src/native/giveawayDuration.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import getGiveaway from "../functions/getGiveaway" +import { Database } from "../structures" export default new NativeFunction({ name: "$giveawayDuration", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Number, async execute(ctx, [id]) { - const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway + const giveaway = await Database.get(id) ?? ctx.giveaway return this.success(giveaway?.duration) } }) \ No newline at end of file diff --git a/src/native/giveawayEntries.ts b/src/native/giveawayEntries.ts index 1cf8fc4..47f2c7e 100644 --- a/src/native/giveawayEntries.ts +++ b/src/native/giveawayEntries.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import getGiveaway from "../functions/getGiveaway" +import { Database } from "../structures" import array from "../functions/array" export default new NativeFunction({ @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), async execute(ctx, [id, sep]) { - const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway + const giveaway = await Database.get(id) ?? ctx.giveaway return this.success(giveaway?.entries.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayExists.ts b/src/native/giveawayExists.ts new file mode 100644 index 0000000..7aa8b5f --- /dev/null +++ b/src/native/giveawayExists.ts @@ -0,0 +1,23 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import { Database } from "../structures" + +export default new NativeFunction({ + name: "$giveawayExists", + version: "1.0.0", + description: "Returns whether a giveaway exists", + unwrap: true, + brackets: true, + args: [ + { + name: "giveaway ID", + description: "The id of the giveaway to check for", + rest: false, + required: true, + type: ArgType.String, + }, + ], + output: ArgType.Boolean, + async execute(ctx, [id]) { + return this.success(!!(await Database.get(id))) + } +}) \ No newline at end of file diff --git a/src/native/giveawayGuildID.ts b/src/native/giveawayGuildID.ts index 833a3a3..fa28030 100644 --- a/src/native/giveawayGuildID.ts +++ b/src/native/giveawayGuildID.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import getGiveaway from "../functions/getGiveaway" +import { Database } from "../structures" export default new NativeFunction({ name: "$giveawayGuildID", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Guild, async execute(ctx, [id]) { - const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway + const giveaway = await Database.get(id) ?? ctx.giveaway return this.success(giveaway?.guildID) } }) \ No newline at end of file diff --git a/src/native/giveawayHasEnded.ts b/src/native/giveawayHasEnded.ts index 8c749ae..2999e6c 100644 --- a/src/native/giveawayHasEnded.ts +++ b/src/native/giveawayHasEnded.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import getGiveaway from "../functions/getGiveaway" +import { Database } from "../structures" export default new NativeFunction({ name: "$giveawayHasEnded", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Boolean, async execute(ctx, [id]) { - const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway + const giveaway = await Database.get(id) ?? ctx.giveaway return this.success(giveaway?.hasEnded) } }) \ No newline at end of file diff --git a/src/native/giveawayHostID.ts b/src/native/giveawayHostID.ts index ca3e77f..e01953a 100644 --- a/src/native/giveawayHostID.ts +++ b/src/native/giveawayHostID.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import getGiveaway from "../functions/getGiveaway" +import { Database } from "../structures" export default new NativeFunction({ name: "$giveawayHostID", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.User, async execute(ctx, [id]) { - const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway + const giveaway = await Database.get(id) ?? ctx.giveaway return this.success(giveaway?.hostID) } }) \ No newline at end of file diff --git a/src/native/giveawayMessageID.ts b/src/native/giveawayMessageID.ts index 7f87da4..93d752d 100644 --- a/src/native/giveawayMessageID.ts +++ b/src/native/giveawayMessageID.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import getGiveaway from "../functions/getGiveaway" +import { Database } from "../structures" export default new NativeFunction({ name: "$giveawayMessageID", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Message, async execute(ctx, [id]) { - const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway + const giveaway = await Database.get(id) ?? ctx.giveaway return this.success(giveaway?.messageID) } }) \ No newline at end of file diff --git a/src/native/giveawayPrize.ts b/src/native/giveawayPrize.ts index 43b1b94..11bd1e1 100644 --- a/src/native/giveawayPrize.ts +++ b/src/native/giveawayPrize.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import getGiveaway from "../functions/getGiveaway" +import { Database } from "../structures" export default new NativeFunction({ name: "$giveawayPrize", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.String, async execute(ctx, [id]) { - const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway + const giveaway = await Database.get(id) ?? ctx.giveaway return this.success(giveaway?.prize) } }) \ No newline at end of file diff --git a/src/native/giveawayRequiredRoles.ts b/src/native/giveawayRequiredRoles.ts index 89f4a05..ba2b504 100644 --- a/src/native/giveawayRequiredRoles.ts +++ b/src/native/giveawayRequiredRoles.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import getGiveaway from "../functions/getGiveaway" +import { Database } from "../structures" import array from "../functions/array" export default new NativeFunction({ @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), async execute(ctx, [id, sep]) { - const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway + const giveaway = await Database.get(id) ?? ctx.giveaway return this.success(giveaway?.requirements?.requiredRoles?.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayRestrictedMembers.ts b/src/native/giveawayRestrictedMembers.ts index c911a53..c765584 100644 --- a/src/native/giveawayRestrictedMembers.ts +++ b/src/native/giveawayRestrictedMembers.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import getGiveaway from "../functions/getGiveaway" +import { Database } from "../structures" import array from "../functions/array" export default new NativeFunction({ @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), async execute(ctx, [id, sep]) { - const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway + const giveaway = await Database.get(id) ?? ctx.giveaway return this.success(giveaway?.requirements?.restrictedMembers?.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayRestrictedRoles.ts b/src/native/giveawayRestrictedRoles.ts index 9058182..c55a240 100644 --- a/src/native/giveawayRestrictedRoles.ts +++ b/src/native/giveawayRestrictedRoles.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import getGiveaway from "../functions/getGiveaway" +import { Database } from "../structures" import array from "../functions/array" export default new NativeFunction({ @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), async execute(ctx, [id, sep]) { - const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway + const giveaway = await Database.get(id) ?? ctx.giveaway return this.success(giveaway?.requirements?.restrictedRoles?.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayTimestamp.ts b/src/native/giveawayTimestamp.ts new file mode 100644 index 0000000..db6602b --- /dev/null +++ b/src/native/giveawayTimestamp.ts @@ -0,0 +1,24 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import { Database } from "../structures" + +export default new NativeFunction({ + name: "$giveawayTimestamp", + version: "1.0.0", + description: "Returns the created timestamp of a giveaway in ms", + unwrap: true, + brackets: false, + args: [ + { + name: "giveaway ID", + description: "The giveaway to pull data from", + rest: false, + required: true, + type: ArgType.String, + }, + ], + output: ArgType.Number, + async execute(ctx, [id]) { + const giveaway = await Database.get(id) ?? ctx.giveaway + return this.success(giveaway?.timestamp) + } +}) \ No newline at end of file diff --git a/src/native/giveawayWinners.ts b/src/native/giveawayWinners.ts index 1439aa4..e3f33e0 100644 --- a/src/native/giveawayWinners.ts +++ b/src/native/giveawayWinners.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import getGiveaway from "../functions/getGiveaway" +import { Database } from "../structures" import array from "../functions/array" export default new NativeFunction({ @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), async execute(ctx, [id, sep]) { - const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway + const giveaway = await Database.get(id) ?? ctx.giveaway return this.success(giveaway?.winners.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayWinnersCount.ts b/src/native/giveawayWinnersCount.ts index 53733d2..2bf5e91 100644 --- a/src/native/giveawayWinnersCount.ts +++ b/src/native/giveawayWinnersCount.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import getGiveaway from "../functions/getGiveaway" +import { Database } from "../structures" export default new NativeFunction({ name: "$giveawayWinnersCount", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Number, async execute(ctx, [id]) { - const giveaway = await getGiveaway(ctx, id) ?? ctx.giveaway + const giveaway = await Database.get(id) ?? ctx.giveaway return this.success(giveaway?.winnersCount) } }) \ No newline at end of file diff --git a/src/structures/Database.ts b/src/structures/Database.ts index 490a222..626c7ea 100644 --- a/src/structures/Database.ts +++ b/src/structures/Database.ts @@ -3,29 +3,43 @@ import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" import { Snowflake } from "discord.js" import { DataSource, Repository } from "typeorm" -import { Giveaway } from "./Giveaway" +import { Giveaway, MongoGiveaway } from "./Giveaway" + +export type AnyGiveaway = typeof Giveaway | typeof MongoGiveaway export class Database extends GiveawaysDatabaseManager { public database = "giveaway.db" public entityManager = { sqlite: [Giveaway], - mongodb: [Giveaway], + mongodb: [MongoGiveaway], mysql: [Giveaway], postgres: [Giveaway], } - private db?: DataSource - private repo?: Repository + private static entities: { + Giveaway: AnyGiveaway + } + + private db: Promise + private static db: DataSource + private static repo: Repository + private static emitter: TypedEmitter> constructor(private readonly emitter: TypedEmitter>) { super() + this.type ??= "sqlite" + this.db = this.getDB() + Database.entities = { + Giveaway: this.entityManager[this.type === "better-sqlite3" ? "sqlite" : this.type][0], + } } public async init() { - this.db = await this.getDB() - this.repo = this.db.getRepository(Giveaway) - this.emitter.emit("databaseConnect") + Database.emitter = this.emitter + Database.db = await this.getDB() + Database.repo = Database.db.getRepository(Database.entities.Giveaway) + Database.emitter.emit("databaseConnect") } /** @@ -33,29 +47,30 @@ export class Database extends GiveawaysDatabaseManager { * @param id The id of the giveaway to get. * @returns */ - public async get(id: Snowflake) { - return await this.repo?.findOneBy({ id }) + public static async get(id: Snowflake) { + return await this.repo.findOneBy({ id }) } /** * Gets all existing giveaways. * @returns */ - public async getAll() { - return await this.repo?.find() + public static async getAll() { + return await this.repo.find() } /** * Saves a giveaway in the database. * @param data The giveaway data to save. */ - public async set(data: Giveaway) { - const oldData = await this.repo?.findOneBy({ id: data.id }) + public static async set(data: Giveaway) { + const newData =new this.entities.Giveaway(data) + const oldData = await this.repo.findOneBy({ id: data.id }) if (oldData && this.type === "mongodb") { - await this.repo?.update(oldData.id, data) + await this.repo.update(oldData.id, data) } else { - await this.repo?.save(data) + await this.repo.save(data) } } @@ -64,15 +79,15 @@ export class Database extends GiveawaysDatabaseManager { * @param id The id of the giveaway to delete. * @returns */ - public async delete(id: Snowflake) { - return await this.repo?.delete({ id }) + public static async delete(id: Snowflake) { + return await this.repo.delete({ id }) } /** * Wipes the entire database. * @returns */ - public async wipe() { - return await this.repo?.clear() + public static async wipe() { + return await this.repo.clear() } } \ No newline at end of file diff --git a/src/structures/Giveaway.ts b/src/structures/Giveaway.ts index d93e799..dc261e2 100644 --- a/src/structures/Giveaway.ts +++ b/src/structures/Giveaway.ts @@ -1,9 +1,10 @@ import { GuildMember, Snowflake, SnowflakeUtil } from "discord.js" import { IGiveawayStartOptions } from "../managers/GiveawaysManager" -import { Column, Entity, PrimaryColumn } from "typeorm" +import { Column, Entity, ObjectIdColumn, PrimaryColumn } from "typeorm" export interface IGiveaway extends IGiveawayStartOptions { id: Snowflake + timestamp: number hasEnded: boolean messageID?: Snowflake entries: Snowflake[] @@ -25,11 +26,17 @@ export class Giveaway implements IGiveaway { public prize: string /** - * The duration of the giveaway in ms. + * The duration of this giveaway in ms. */ @Column() public duration: number + /** + * The timestamp this giveaway has been created at. + */ + @Column() + public timestamp: number + /** * The max amount of winners for this giveaway. */ @@ -93,6 +100,7 @@ export class Giveaway implements IGiveaway { this.guildID = options?.guildID ?? "" this.channelID = options?.channelID ?? "" this.requirements = options?.requirements + this.timestamp = (SnowflakeUtil.timestampFrom(this.id) * 1000) this.hasEnded = false this.entries = [] this.winners = [] @@ -150,4 +158,13 @@ export class Giveaway implements IGiveaway { public clone() { return structuredClone(this) } +} + +@Entity() +export class MongoGiveaway extends Giveaway { + /** + * The object id for MongoDB. + */ + @ObjectIdColumn() + public mongoId?: string } \ No newline at end of file From 74c94d81390e945ead0c9548e0361bb5a739cb41 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 20:34:42 +0200 Subject: [PATCH 38/87] Fix incorrect extension names --- dist/index.d.ts.map | 2 +- dist/index.js | 4 ++-- dist/index.js.map | 2 +- dist/native/giveawayExists.d.ts.map | 2 +- dist/native/giveawayExists.js | 1 + dist/native/giveawayExists.js.map | 2 +- dist/native/giveawayTimestamp.d.ts.map | 2 +- dist/native/giveawayTimestamp.js | 1 + dist/native/giveawayTimestamp.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- metadata/functions.json | 2 +- src/index.ts | 4 ++-- 13 files changed, 19 insertions(+), 17 deletions(-) diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 18b0f13..9244cbd 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,CAAC,EAAE,sBAAsB;IAVpE,IAAI,SAAmB;IACvB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAc;IAExB,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAKvD,IAAI,CAAC,MAAM,EAAE,WAAW;CAaxC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,CAAC,EAAE,sBAAsB;IAVpE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAKvD,IAAI,CAAC,MAAM,EAAE,WAAW;CAaxC"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index b9c38c1..166482c 100644 --- a/dist/index.js +++ b/dist/index.js @@ -7,10 +7,10 @@ const tiny_typed_emitter_1 = require("tiny-typed-emitter"); const structures_1 = require("./structures"); class ForgeGiveaways extends forgescript_1.ForgeExtension { options; - name = "ForgeGiveaways"; + name = "forge.giveaways"; description = ""; version = require("../package.json").version; - requireExtensions = ["ForgeDB"]; + requireExtensions = ["forge.db"]; emitter = new tiny_typed_emitter_1.TypedEmitter(); giveawaysManager = new managers_1.GiveawaysManager(this, this.emitter); commands; diff --git a/dist/index.js.map b/dist/index.js.map index 3884d9c..72f6de5 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,gBAAgB,CAAA;IACvB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,SAAS,CAAC,CAAA;IAExB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QACvC,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AA7BD,wCA6BC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QACvC,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AA7BD,wCA6BC"} \ No newline at end of file diff --git a/dist/native/giveawayExists.d.ts.map b/dist/native/giveawayExists.d.ts.map index 548140d..a3a3b8d 100644 --- a/dist/native/giveawayExists.d.ts.map +++ b/dist/native/giveawayExists.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayExists.d.ts","sourceRoot":"","sources":["../../src/native/giveawayExists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAkBE"} \ No newline at end of file +{"version":3,"file":"giveawayExists.d.ts","sourceRoot":"","sources":["../../src/native/giveawayExists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file diff --git a/dist/native/giveawayExists.js b/dist/native/giveawayExists.js index ed47df7..cc84dbf 100644 --- a/dist/native/giveawayExists.js +++ b/dist/native/giveawayExists.js @@ -4,6 +4,7 @@ const forgescript_1 = require("@tryforge/forgescript"); const structures_1 = require("../structures"); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayExists", + version: "1.0.0", description: "Returns whether a giveaway exists", unwrap: true, brackets: true, diff --git a/dist/native/giveawayExists.js.map b/dist/native/giveawayExists.js.map index 1dfc71e..6917c5b 100644 --- a/dist/native/giveawayExists.js.map +++ b/dist/native/giveawayExists.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayExists.js","sourceRoot":"","sources":["../../src/native/giveawayExists.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayExists.js","sourceRoot":"","sources":["../../src/native/giveawayExists.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayTimestamp.d.ts.map b/dist/native/giveawayTimestamp.d.ts.map index ddd09fb..382b423 100644 --- a/dist/native/giveawayTimestamp.d.ts.map +++ b/dist/native/giveawayTimestamp.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayTimestamp.d.ts","sourceRoot":"","sources":["../../src/native/giveawayTimestamp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file +{"version":3,"file":"giveawayTimestamp.d.ts","sourceRoot":"","sources":["../../src/native/giveawayTimestamp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayTimestamp.js b/dist/native/giveawayTimestamp.js index 647dccb..790cadc 100644 --- a/dist/native/giveawayTimestamp.js +++ b/dist/native/giveawayTimestamp.js @@ -4,6 +4,7 @@ const forgescript_1 = require("@tryforge/forgescript"); const structures_1 = require("../structures"); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayTimestamp", + version: "1.0.0", description: "Returns the created timestamp of a giveaway in ms", unwrap: true, brackets: false, diff --git a/dist/native/giveawayTimestamp.js.map b/dist/native/giveawayTimestamp.js.map index 9de1f57..f9b006a 100644 --- a/dist/native/giveawayTimestamp.js.map +++ b/dist/native/giveawayTimestamp.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayTimestamp.js","sourceRoot":"","sources":["../../src/native/giveawayTimestamp.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,mDAAmD;IAChE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayTimestamp.js","sourceRoot":"","sources":["../../src/native/giveawayTimestamp.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mDAAmD;IAChE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index cdd0b98..9cbe318 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "ForgeGiveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 374f220..0e9a952 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/metadata/functions.json b/metadata/functions.json index 03b2814..7e42735 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayExists","description":"Returns whether a giveaway exists","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The id of the giveaway to check for","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"version":"1.0.0"},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayTimestamp","description":"Returns the created timestamp of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"],"version":"1.0.0"},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$setRequiredRoles","version":"1.0.0","description":"Sets the required roles for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$setRestrictedMembers","version":"1.0.0","description":"Sets the restricted members for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$setRestrictedRoles","version":"1.0.0","description":"Sets the restricted roles for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file +[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayExists","version":"1.0.0","description":"Returns whether a giveaway exists","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The id of the giveaway to check for","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayTimestamp","version":"1.0.0","description":"Returns the created timestamp of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$setRequiredRoles","version":"1.0.0","description":"Sets the required roles for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$setRestrictedMembers","version":"1.0.0","description":"Sets the restricted members for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$setRestrictedRoles","version":"1.0.0","description":"Sets the restricted roles for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 10966b2..3635f08 100644 --- a/src/index.ts +++ b/src/index.ts @@ -14,10 +14,10 @@ export interface IForgeGiveawaysOptions { } export class ForgeGiveaways extends ForgeExtension { - name = "ForgeGiveaways" + name = "forge.giveaways" description = "" version = require("../package.json").version - requireExtensions = ["ForgeDB"] + requireExtensions = ["forge.db"] public emitter = new TypedEmitter>() From c20415d6c3b018d0ca74dd8ec87fad25b549bc45 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 20:37:35 +0200 Subject: [PATCH 39/87] Prevent repo being undefined? --- dist/structures/Database.d.ts | 1 - dist/structures/Database.d.ts.map | 2 +- dist/structures/Database.js | 16 +++++++--------- dist/structures/Database.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/structures/Database.ts | 16 +++++++--------- 7 files changed, 22 insertions(+), 27 deletions(-) diff --git a/dist/structures/Database.d.ts b/dist/structures/Database.d.ts index 9259e12..13158d3 100644 --- a/dist/structures/Database.d.ts +++ b/dist/structures/Database.d.ts @@ -16,7 +16,6 @@ export declare class Database extends GiveawaysDatabaseManager { private static entities; private db; private static db; - private static repo; private static emitter; constructor(emitter: TypedEmitter>); init(): Promise; diff --git a/dist/structures/Database.d.ts.map b/dist/structures/Database.d.ts.map index 6399c04..37e4419 100644 --- a/dist/structures/Database.d.ts.map +++ b/dist/structures/Database.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;AAEhE,qBAAa,QAAS,SAAQ,wBAAwB;IAmBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlB7B,QAAQ,SAAgB;IAExB,aAAa;;;;;MAKnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAEtB;IAED,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAsB;IACzC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAgD;gBAEzC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IASvE,IAAI;IAOjB;;;;OAIG;WACiB,GAAG,CAAC,EAAE,EAAE,SAAS;IAIrC;;;OAGG;WACiB,MAAM;IAI1B;;;OAGG;WACiB,GAAG,CAAC,IAAI,EAAE,QAAQ;IAWtC;;;;OAIG;WACiB,MAAM,CAAC,EAAE,EAAE,SAAS;IAIxC;;;OAGG;WACiB,IAAI;CAG3B"} \ No newline at end of file +{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;AAEhE,qBAAa,QAAS,SAAQ,wBAAwB;IAkBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjB7B,QAAQ,SAAgB;IAExB,aAAa;;;;;MAKnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAEtB;IAED,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAgD;gBAEzC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IASvE,IAAI;IAMjB;;;;OAIG;WACiB,GAAG,CAAC,EAAE,EAAE,SAAS;IAIrC;;;OAGG;WACiB,MAAM;IAI1B;;;OAGG;WACiB,GAAG,CAAC,IAAI,EAAE,QAAQ;IAWtC;;;;OAIG;WACiB,MAAM,CAAC,EAAE,EAAE,SAAS;IAIxC;;;OAGG;WACiB,IAAI;CAG3B"} \ No newline at end of file diff --git a/dist/structures/Database.js b/dist/structures/Database.js index aef714c..c05ccbf 100644 --- a/dist/structures/Database.js +++ b/dist/structures/Database.js @@ -15,7 +15,6 @@ class Database extends managers_1.GiveawaysDatabaseManager { static entities; db; static db; - static repo; static emitter; constructor(emitter) { super(); @@ -29,7 +28,6 @@ class Database extends managers_1.GiveawaysDatabaseManager { async init() { Database.emitter = this.emitter; Database.db = await this.getDB(); - Database.repo = Database.db.getRepository(Database.entities.Giveaway); Database.emitter.emit("databaseConnect"); } /** @@ -38,14 +36,14 @@ class Database extends managers_1.GiveawaysDatabaseManager { * @returns */ static async get(id) { - return await this.repo.findOneBy({ id }); + return await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id }); } /** * Gets all existing giveaways. * @returns */ static async getAll() { - return await this.repo.find(); + return await this.db.getRepository(Database.entities.Giveaway).find(); } /** * Saves a giveaway in the database. @@ -53,12 +51,12 @@ class Database extends managers_1.GiveawaysDatabaseManager { */ static async set(data) { const newData = new this.entities.Giveaway(data); - const oldData = await this.repo.findOneBy({ id: data.id }); + const oldData = await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id: data.id }); if (oldData && this.type === "mongodb") { - await this.repo.update(oldData.id, data); + await this.db.getRepository(Database.entities.Giveaway).update(oldData.id, data); } else { - await this.repo.save(data); + await this.db.getRepository(Database.entities.Giveaway).save(data); } } /** @@ -67,14 +65,14 @@ class Database extends managers_1.GiveawaysDatabaseManager { * @returns */ static async delete(id) { - return await this.repo.delete({ id }); + return await this.db.getRepository(Database.entities.Giveaway).delete({ id }); } /** * Wipes the entire database. * @returns */ static async wipe() { - return await this.repo.clear(); + return await this.db.getRepository(Database.entities.Giveaway).clear(); } } exports.Database = Database; diff --git a/dist/structures/Database.js.map b/dist/structures/Database.js.map index add3673..5044db5 100644 --- a/dist/structures/Database.js.map +++ b/dist/structures/Database.js.map @@ -1 +1 @@ -{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":";;;AAAA,0CAAuE;AAKvE,yCAAoD;AAIpD,MAAa,QAAS,SAAQ,mCAAwB;IAmBrB;IAlBtB,QAAQ,GAAG,aAAa,CAAA;IAExB,aAAa,GAAG;QACnB,MAAM,EAAE,CAAC,mBAAQ,CAAC;QAClB,OAAO,EAAE,CAAC,wBAAa,CAAC;QACxB,KAAK,EAAE,CAAC,mBAAQ,CAAC;QACjB,QAAQ,EAAE,CAAC,mBAAQ,CAAC;KACvB,CAAA;IAEO,MAAM,CAAC,QAAQ,CAEtB;IAEO,EAAE,CAAqB;IACvB,MAAM,CAAC,EAAE,CAAY;IACrB,MAAM,CAAC,IAAI,CAAsB;IACjC,MAAM,CAAC,OAAO,CAAgD;IAEtE,YAA6B,OAAuD;QAChF,KAAK,EAAE,CAAA;QADkB,YAAO,GAAP,OAAO,CAAgD;QAEhF,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAA;QACtB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACtB,QAAQ,CAAC,QAAQ,GAAG;YAChB,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzF,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC/B,QAAQ,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAChC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACrE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC5C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAa;QACjC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC5C,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM;QACtB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACjC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAc;QAClC,MAAM,OAAO,GAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QAE1D,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAC5C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAa;QACpC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACzC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI;QACpB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAClC,CAAC;CACJ;AAnFD,4BAmFC"} \ No newline at end of file +{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 9cbe318..79f93d3 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 0e9a952..2f848fd 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/src/structures/Database.ts b/src/structures/Database.ts index 626c7ea..5bb7430 100644 --- a/src/structures/Database.ts +++ b/src/structures/Database.ts @@ -23,7 +23,6 @@ export class Database extends GiveawaysDatabaseManager { private db: Promise private static db: DataSource - private static repo: Repository private static emitter: TypedEmitter> constructor(private readonly emitter: TypedEmitter>) { @@ -38,7 +37,6 @@ export class Database extends GiveawaysDatabaseManager { public async init() { Database.emitter = this.emitter Database.db = await this.getDB() - Database.repo = Database.db.getRepository(Database.entities.Giveaway) Database.emitter.emit("databaseConnect") } @@ -48,7 +46,7 @@ export class Database extends GiveawaysDatabaseManager { * @returns */ public static async get(id: Snowflake) { - return await this.repo.findOneBy({ id }) + return await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id }) } /** @@ -56,7 +54,7 @@ export class Database extends GiveawaysDatabaseManager { * @returns */ public static async getAll() { - return await this.repo.find() + return await this.db.getRepository(Database.entities.Giveaway).find() } /** @@ -65,12 +63,12 @@ export class Database extends GiveawaysDatabaseManager { */ public static async set(data: Giveaway) { const newData =new this.entities.Giveaway(data) - const oldData = await this.repo.findOneBy({ id: data.id }) + const oldData = await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id: data.id }) if (oldData && this.type === "mongodb") { - await this.repo.update(oldData.id, data) + await this.db.getRepository(Database.entities.Giveaway).update(oldData.id, data) } else { - await this.repo.save(data) + await this.db.getRepository(Database.entities.Giveaway).save(data) } } @@ -80,7 +78,7 @@ export class Database extends GiveawaysDatabaseManager { * @returns */ public static async delete(id: Snowflake) { - return await this.repo.delete({ id }) + return await this.db.getRepository(Database.entities.Giveaway).delete({ id }) } /** @@ -88,6 +86,6 @@ export class Database extends GiveawaysDatabaseManager { * @returns */ public static async wipe() { - return await this.repo.clear() + return await this.db.getRepository(Database.entities.Giveaway).clear() } } \ No newline at end of file From 872f80501c0ef33c8c315dbcd5a062ed9aee40ab Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 20:40:04 +0200 Subject: [PATCH 40/87] Fix events not listening? --- dist/index.d.ts.map | 2 +- dist/index.js | 2 +- dist/index.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/index.ts | 3 ++- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 9244cbd..44452d9 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,CAAC,EAAE,sBAAsB;IAVpE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAKvD,IAAI,CAAC,MAAM,EAAE,WAAW;CAaxC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,CAAC,EAAE,sBAAsB;IAVpE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAKvD,IAAI,CAAC,MAAM,EAAE,WAAW;CAcxC"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 166482c..cd09c6a 100644 --- a/dist/index.js +++ b/dist/index.js @@ -24,10 +24,10 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { forgescript_1.EventManager.load("ForgeGiveawaysEvents", __dirname + "/events"); this.load(__dirname + "/native"); new managers_1.GiveawaysInteractionManager(client); - await new structures_1.Database(this.emitter).init(); if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); } + await new structures_1.Database(this.emitter).init(); } } exports.ForgeGiveaways = ForgeGiveaways; diff --git a/dist/index.js.map b/dist/index.js.map index 72f6de5..189e5a3 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QACvC,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AA7BD,wCA6BC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,CAAC;CACJ;AA9BD,wCA8BC"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 79f93d3..f0889e2 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 2f848fd..57d4fd2 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/src/index.ts b/src/index.ts index 3635f08..c540a69 100644 --- a/src/index.ts +++ b/src/index.ts @@ -36,10 +36,11 @@ export class ForgeGiveaways extends ForgeExtension { this.load(__dirname + "/native") new GiveawaysInteractionManager(client) - await new Database(this.emitter).init() if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events) } + + await new Database(this.emitter).init() } } \ No newline at end of file From a7a9f23aa3a859347e008912032527dbda7c30b4 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 20:41:12 +0200 Subject: [PATCH 41/87] Fix crash on startup? --- dist/index.d.ts | 2 +- dist/index.d.ts.map | 2 +- dist/index.js | 4 ++-- dist/index.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/index.ts | 5 ++--- 7 files changed, 13 insertions(+), 14 deletions(-) diff --git a/dist/index.d.ts b/dist/index.d.ts index 810426a..f8bdd06 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -20,6 +20,6 @@ export declare class ForgeGiveaways extends ForgeExtension { readonly giveawaysManager: GiveawaysManager; commands: GiveawaysCommandManager | null; constructor(options?: IForgeGiveawaysOptions | undefined); - init(client: ForgeClient): Promise; + init(client: ForgeClient): void; } //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 44452d9..fd39054 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,CAAC,EAAE,sBAAsB;IAVpE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAKvD,IAAI,CAAC,MAAM,EAAE,WAAW;CAcxC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,CAAC,EAAE,sBAAsB;IAVpE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAK7D,IAAI,CAAC,MAAM,EAAE,WAAW;CAalC"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index cd09c6a..c3c95a0 100644 --- a/dist/index.js +++ b/dist/index.js @@ -19,15 +19,15 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { this.options = options; this.commands = null; } - async init(client) { + init(client) { this.commands = new managers_1.GiveawaysCommandManager(client); forgescript_1.EventManager.load("ForgeGiveawaysEvents", __dirname + "/events"); this.load(__dirname + "/native"); new managers_1.GiveawaysInteractionManager(client); + new structures_1.Database(this.emitter).init(); if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); } - await new structures_1.Database(this.emitter).init(); } } exports.ForgeGiveaways = ForgeGiveaways; diff --git a/dist/index.js.map b/dist/index.js.map index 189e5a3..2c2b76f 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,CAAC;CACJ;AA9BD,wCA8BC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,IAAI,CAAC,MAAmB;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAEjC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AA7BD,wCA6BC"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index f0889e2..9f8cf7a 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 57d4fd2..a39e96f 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/src/index.ts b/src/index.ts index c540a69..4672624 100644 --- a/src/index.ts +++ b/src/index.ts @@ -29,18 +29,17 @@ export class ForgeGiveaways extends ForgeExtension { this.commands = null } - public async init(client: ForgeClient) { + public init(client: ForgeClient) { this.commands = new GiveawaysCommandManager(client) EventManager.load("ForgeGiveawaysEvents", __dirname + "/events") this.load(__dirname + "/native") new GiveawaysInteractionManager(client) + new Database(this.emitter).init() if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events) } - - await new Database(this.emitter).init() } } \ No newline at end of file From 6e707be743d9b9bc96f831051440b94126abfe9f Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 20:44:19 +0200 Subject: [PATCH 42/87] Oopsies --- dist/structures/Database.js | 2 +- dist/structures/Database.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/structures/Database.ts | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/dist/structures/Database.js b/dist/structures/Database.js index c05ccbf..a6aeead 100644 --- a/dist/structures/Database.js +++ b/dist/structures/Database.js @@ -27,7 +27,7 @@ class Database extends managers_1.GiveawaysDatabaseManager { } async init() { Database.emitter = this.emitter; - Database.db = await this.getDB(); + Database.db = await this.db; Database.emitter.emit("databaseConnect"); } /** diff --git a/dist/structures/Database.js.map b/dist/structures/Database.js.map index 5044db5..8b0567e 100644 --- a/dist/structures/Database.js.map +++ b/dist/structures/Database.js.map @@ -1 +1 @@ -{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 9f8cf7a..7acaf4b 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index a39e96f..ad82c9d 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/src/structures/Database.ts b/src/structures/Database.ts index 5bb7430..ad47020 100644 --- a/src/structures/Database.ts +++ b/src/structures/Database.ts @@ -2,7 +2,7 @@ import { GiveawaysDatabaseManager, IGiveawayEvents } from "../managers" import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" import { Snowflake } from "discord.js" -import { DataSource, Repository } from "typeorm" +import { DataSource } from "typeorm" import { Giveaway, MongoGiveaway } from "./Giveaway" export type AnyGiveaway = typeof Giveaway | typeof MongoGiveaway @@ -36,7 +36,7 @@ export class Database extends GiveawaysDatabaseManager { public async init() { Database.emitter = this.emitter - Database.db = await this.getDB() + Database.db = await this.db Database.emitter.emit("databaseConnect") } From fbb00cfcd36e1634c0fda835f2956bec587243da Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 20:46:23 +0200 Subject: [PATCH 43/87] Desperate --- dist/index.d.ts.map | 2 +- dist/index.js | 1 + dist/index.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/index.ts | 1 + 6 files changed, 10 insertions(+), 8 deletions(-) diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index fd39054..f4b1f5b 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,CAAC,EAAE,sBAAsB;IAVpE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAK7D,IAAI,CAAC,MAAM,EAAE,WAAW;CAalC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,CAAC,EAAE,sBAAsB;IAVpE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAK7D,IAAI,CAAC,MAAM,EAAE,WAAW;CAclC"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index c3c95a0..e2d38cc 100644 --- a/dist/index.js +++ b/dist/index.js @@ -25,6 +25,7 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { this.load(__dirname + "/native"); new managers_1.GiveawaysInteractionManager(client); new structures_1.Database(this.emitter).init(); + client.db = structures_1.Database; if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); } diff --git a/dist/index.js.map b/dist/index.js.map index 2c2b76f..dd8eee0 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,IAAI,CAAC,MAAmB;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAEjC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AA7BD,wCA6BC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,IAAI,CAAC,MAAmB;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACjC,MAAM,CAAC,EAAE,GAAG,qBAAQ,CAAA;QAEpB,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AA9BD,wCA8BC"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 7acaf4b..8d0ccc6 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index ad82c9d..e2d2394 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/src/index.ts b/src/index.ts index 4672624..5694466 100644 --- a/src/index.ts +++ b/src/index.ts @@ -37,6 +37,7 @@ export class ForgeGiveaways extends ForgeExtension { new GiveawaysInteractionManager(client) new Database(this.emitter).init() + client.db = Database if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events) From 31a7ff989797b08b6609195293b5cb8e2468d9d2 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 20:48:38 +0200 Subject: [PATCH 44/87] Another attempt --- dist/index.d.ts | 2 +- dist/index.d.ts.map | 2 +- dist/index.js | 5 ++--- dist/index.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/index.ts | 6 +++--- 7 files changed, 14 insertions(+), 15 deletions(-) diff --git a/dist/index.d.ts b/dist/index.d.ts index f8bdd06..810426a 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -20,6 +20,6 @@ export declare class ForgeGiveaways extends ForgeExtension { readonly giveawaysManager: GiveawaysManager; commands: GiveawaysCommandManager | null; constructor(options?: IForgeGiveawaysOptions | undefined); - init(client: ForgeClient): void; + init(client: ForgeClient): Promise; } //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index f4b1f5b..44452d9 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,CAAC,EAAE,sBAAsB;IAVpE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAK7D,IAAI,CAAC,MAAM,EAAE,WAAW;CAclC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,CAAC,EAAE,sBAAsB;IAVpE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAKvD,IAAI,CAAC,MAAM,EAAE,WAAW;CAcxC"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index e2d38cc..cd09c6a 100644 --- a/dist/index.js +++ b/dist/index.js @@ -19,16 +19,15 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { this.options = options; this.commands = null; } - init(client) { + async init(client) { this.commands = new managers_1.GiveawaysCommandManager(client); forgescript_1.EventManager.load("ForgeGiveawaysEvents", __dirname + "/events"); this.load(__dirname + "/native"); new managers_1.GiveawaysInteractionManager(client); - new structures_1.Database(this.emitter).init(); - client.db = structures_1.Database; if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); } + await new structures_1.Database(this.emitter).init(); } } exports.ForgeGiveaways = ForgeGiveaways; diff --git a/dist/index.js.map b/dist/index.js.map index dd8eee0..189e5a3 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,IAAI,CAAC,MAAmB;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACjC,MAAM,CAAC,EAAE,GAAG,qBAAQ,CAAA;QAEpB,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AA9BD,wCA8BC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,CAAC;CACJ;AA9BD,wCA8BC"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 8d0ccc6..e8894f2 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index e2d2394..3b72396 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/src/index.ts b/src/index.ts index 5694466..c540a69 100644 --- a/src/index.ts +++ b/src/index.ts @@ -29,18 +29,18 @@ export class ForgeGiveaways extends ForgeExtension { this.commands = null } - public init(client: ForgeClient) { + public async init(client: ForgeClient) { this.commands = new GiveawaysCommandManager(client) EventManager.load("ForgeGiveawaysEvents", __dirname + "/events") this.load(__dirname + "/native") new GiveawaysInteractionManager(client) - new Database(this.emitter).init() - client.db = Database if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events) } + + await new Database(this.emitter).init() } } \ No newline at end of file From c86dada36fdbd0c6becfcf0a7f7d0d6312c82393 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 20:57:38 +0200 Subject: [PATCH 45/87] Test --- dist/index.d.ts | 2 ++ dist/index.d.ts.map | 2 +- dist/index.js | 4 +++- dist/index.js.map | 2 +- docs/assets/search.js | 2 +- docs/classes/ForgeGiveaways.html | 9 +++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/index.ts | 4 +++- 8 files changed, 18 insertions(+), 11 deletions(-) diff --git a/dist/index.d.ts b/dist/index.d.ts index 810426a..547886b 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -2,6 +2,7 @@ import { ForgeClient, ForgeExtension } from "@tryforge/forgescript"; import { IGiveawayEvents, GiveawaysCommandManager, GiveawaysManager } from "./managers"; import { TypedEmitter } from "tiny-typed-emitter"; import { TransformEvents } from "@tryforge/forge.db"; +import { Database } from "./structures"; export interface IForgeGiveawaysOptions { events?: keyof IGiveawayEvents; messages?: { @@ -17,6 +18,7 @@ export declare class ForgeGiveaways extends ForgeExtension { version: any; requireExtensions: string[]; emitter: TypedEmitter>; + readonly database: Database; readonly giveawaysManager: GiveawaysManager; commands: GiveawaysCommandManager | null; constructor(options?: IForgeGiveawaysOptions | undefined); diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 44452d9..720c220 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,CAAC,EAAE,sBAAsB;IAVpE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAKvD,IAAI,CAAC,MAAM,EAAE,WAAW;CAcxC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAYV,OAAO,CAAC,EAAE,sBAAsB;IAXpE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAErE,SAAgB,QAAQ,EAAE,QAAQ,CAAA;IAClC,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAMvD,IAAI,CAAC,MAAM,EAAE,WAAW;CAcxC"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index cd09c6a..7e4c122 100644 --- a/dist/index.js +++ b/dist/index.js @@ -12,12 +12,14 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { version = require("../package.json").version; requireExtensions = ["forge.db"]; emitter = new tiny_typed_emitter_1.TypedEmitter(); + database; giveawaysManager = new managers_1.GiveawaysManager(this, this.emitter); commands; constructor(options) { super(); this.options = options; this.commands = null; + this.database = new structures_1.Database(this.emitter); } async init(client) { this.commands = new managers_1.GiveawaysCommandManager(client); @@ -27,7 +29,7 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); } - await new structures_1.Database(this.emitter).init(); + await this.database.init(); } } exports.ForgeGiveaways = ForgeGiveaways; diff --git a/dist/index.js.map b/dist/index.js.map index 189e5a3..131c7a6 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,CAAC;CACJ;AA9BD,wCA8BC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAYV;IAXpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,QAAQ,CAAU;IAClB,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC9B,CAAC;CACJ;AAhCD,wCAgCC"} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index b95a663..5bbbbe4 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7VXW2+bMBT+L6evVprDLcD7NvVh2tterKhC4GbWEsiMk7aK8t8nCGC7diKnbE+tyPkuPnwc2ycQzWsLOT3Bb15XkAdxQqAudgxyePraiA37xo+seC3e2x97yZu6BQIHsYUceC2ZeClK1j66Kxe/5G4LBMpt0bashRzgTEYhXAbRpMSOrJb3Mj9MKE2AwL4QrJbX7V+xsGNtW2zY3SY03CdtJHEcqqY/P8v3Pfusi8UEv8fMYlrElea0shBypqfFSPIpZ+PCrgWorubau1D8D3OCiWa7netvYvlXFoN0cmhiJ6eD0qP5883POsZgYi2bupXiUMpG+FA+mPXuZX5weqXj/R8fyaFwjlbF2lLwvt1ekmb9HOUjE62vqqqdoyjYnwMX7MubZHVrbAa3tF2oOS7YjkvJ/DKlaucobsaC70VdbDylHaA5Hspmtyvqyq/lWvEczebDln9LUtXeqRgsIzWJeM2ll9xQ6Ke1JsDrir1Bfpq+mhyCRbjIgMALZ9uqOwSNc6PrXkdEoGrKQ//veij7ybrx1BVfqh+XQOiSBPEizNZrQkds/7x/MFKoJz0OgVB04NDCoYELgNDAgQssXGDgQiA0dOBCCxcauAgIjRy4yMJFBi4GQmMHLrZwsYFLgNDEgUssXGLgVkDoyoFbWbiVgUuB0NSBSy1cauAyIDRz4DILl5nvvYsBuhKDdmTwQ2b60DhT44iNmRvs4oCu5KAdHTSzg10k0JUetOODZn6wiwW6EoR2hNDMEHbRQFeK0I4RmjnCLh7oShLaUUIzS9hFBF1pQjtOw6N+xByZkKx6uowaSqfD/Ameh/kTjpPuBCHkp/NZTZv8dNYGTvfbqHyZ5IoEY8WCsSeNdrZSTKkiSr14jNOL5mipOVp6MU07s8aidQf92tOf2hWD1hi/vox3SM2E5sGL4qXbbDbq8KyoVopq5UU1sezGI4PmK9KMRV503LQ27dCKVHttfm/tsu1qrrQ1ot8i1Y1Z0QSKJfAiuezUiiBTBJkXgaMZmGhrSbxYhqMt0462Gp+2KvRb1njJUySaJz9LwzVbMWi58YvNdFfQlqJ/FR6fxZrAnu/ZltcMcro+n/8CRwhFdWkSAAA="; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7VYy27bMBD8l82VcLx62dK9LXIoeuuFMALVYhyhtuSStJPA8L8XlCWRDOmAjtpTAmlndpYcrpY+AW9fBBT0BL/rpoIiSjMCTbljUMDD15Zv2Lf6yMqX8k382Mu6bQQQOPAtFFA3kvGncs3EvT9y9ix3WyCw3pZCMAEFwJkMiXAeJWMmdmSNvJX5bkQZCQjsS84aeV3+FQk7JkS5YTeLMHCflJGlaawX/fFRvu3ZZ1XMRvgtYmZjEVcWR8iSy4maZgPJp5QNhV0zUFNNlXeh+B/iOOPtdjtV38jyryRGy1GhjR2V9pnu7dcfHusUo5F13TZC8sNatjyE8s6O95f5TumVFe/+hKTsA6fkqphY87pb7qCUdvyUzEfGRWhWHTslI2d/DjVnX14la4T1Mfgotw81RQXb1VKyME/p2El7XMryVynCPGUET8m5GQK+l025CSzXA5qiYd3udmVThW2zETwlZ/tuzPgopY69MWM0T3T3q5taBqXrA8NyrQjUTcVeoTiNJ7WAaBbPciDwVLNtpQavoVep1VNEBKp2fej+XfVhP5lqiSr4En0/B0LnJEpn+TxerQgdwN2L7sHAoZ90QARC0QdEB4gWMAJCIx8wcoCRBYyB0NgHjB1gbAETIDTxARMHmFjAFAhNfcDUAaYWMANCMx8wc4CZBVwAoQsfcOEAFxZwCYQufcClA1xawBwIzX3A3AHmtgGUH9DrHXTNg+/c09nH7x+PgWwHofIFej2EronQdhEqb6DXR+gaCW0nofIHer2ErpnQdhMqj6DXT+gaCm1HofIJej2FrqnQdhUqr6DXV+gaC21nofILer2Frrn6R13HOjIuWfVw6VyUjveREzz27SweGucJYihO57NuXsXpbPQv9W7IfPkwaBLMNAtmgTTGeKiZlppoGcSjv8+GnMSQk4TRmHOcwTQ3mOZBTOOMYrAYi4xhq9zdXzRDqgnSMHx/mzZEGBqCKJ7UJ3CjrxGaaqGpFkFUI8tuGGQMXUZtGFZcbUsb5wZNamxb2K5dhgFDlWFEDHOi/u1A00SaJQoiucwPmiDXBHkQgWcx0NgvDNuwfshnxpBv8BlVYVhZw3VXkxgdI6xh9D84aAbjkIed8fHWZJRinoqAY7EisK/3bFs3DAq6Op//AmN2UwpzEwAA"; \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index e8894f2..577b47a 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,5 +1,6 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 3b72396..062ef8c 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/src/index.ts b/src/index.ts index c540a69..0e3ae29 100644 --- a/src/index.ts +++ b/src/index.ts @@ -21,12 +21,14 @@ export class ForgeGiveaways extends ForgeExtension { public emitter = new TypedEmitter>() + public readonly database: Database public readonly giveawaysManager = new GiveawaysManager(this, this.emitter) commands: GiveawaysCommandManager | null public constructor (public readonly options?: IForgeGiveawaysOptions) { super() this.commands = null + this.database = new Database(this.emitter) } public async init(client: ForgeClient) { @@ -41,6 +43,6 @@ export class ForgeGiveaways extends ForgeExtension { client.events.load("ForgeGiveawaysEvents", this.options.events) } - await new Database(this.emitter).init() + await this.database.init() } } \ No newline at end of file From 65876479ec0fbe8e9fd7c24f2b8519f981811232 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 21:00:32 +0200 Subject: [PATCH 46/87] Mark database as possible undefined --- dist/index.d.ts | 2 -- dist/index.d.ts.map | 2 +- dist/index.js | 4 +--- dist/index.js.map | 2 +- dist/structures/Database.d.ts | 10 +++++----- dist/structures/Database.d.ts.map | 2 +- dist/structures/Database.js | 14 +++++++------- dist/structures/Database.js.map | 2 +- docs/assets/search.js | 2 +- docs/classes/ForgeGiveaways.html | 9 ++++----- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/index.ts | 4 +--- src/structures/Database.ts | 16 ++++++++-------- 13 files changed, 33 insertions(+), 40 deletions(-) diff --git a/dist/index.d.ts b/dist/index.d.ts index 547886b..810426a 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -2,7 +2,6 @@ import { ForgeClient, ForgeExtension } from "@tryforge/forgescript"; import { IGiveawayEvents, GiveawaysCommandManager, GiveawaysManager } from "./managers"; import { TypedEmitter } from "tiny-typed-emitter"; import { TransformEvents } from "@tryforge/forge.db"; -import { Database } from "./structures"; export interface IForgeGiveawaysOptions { events?: keyof IGiveawayEvents; messages?: { @@ -18,7 +17,6 @@ export declare class ForgeGiveaways extends ForgeExtension { version: any; requireExtensions: string[]; emitter: TypedEmitter>; - readonly database: Database; readonly giveawaysManager: GiveawaysManager; commands: GiveawaysCommandManager | null; constructor(options?: IForgeGiveawaysOptions | undefined); diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 720c220..44452d9 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAYV,OAAO,CAAC,EAAE,sBAAsB;IAXpE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAErE,SAAgB,QAAQ,EAAE,QAAQ,CAAA;IAClC,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAMvD,IAAI,CAAC,MAAM,EAAE,WAAW;CAcxC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,CAAC,EAAE,sBAAsB;IAVpE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAKvD,IAAI,CAAC,MAAM,EAAE,WAAW;CAcxC"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 7e4c122..cd09c6a 100644 --- a/dist/index.js +++ b/dist/index.js @@ -12,14 +12,12 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { version = require("../package.json").version; requireExtensions = ["forge.db"]; emitter = new tiny_typed_emitter_1.TypedEmitter(); - database; giveawaysManager = new managers_1.GiveawaysManager(this, this.emitter); commands; constructor(options) { super(); this.options = options; this.commands = null; - this.database = new structures_1.Database(this.emitter); } async init(client) { this.commands = new managers_1.GiveawaysCommandManager(client); @@ -29,7 +27,7 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { if (this.options?.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); } - await this.database.init(); + await new structures_1.Database(this.emitter).init(); } } exports.ForgeGiveaways = ForgeGiveaways; diff --git a/dist/index.js.map b/dist/index.js.map index 131c7a6..189e5a3 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAYV;IAXpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,QAAQ,CAAU;IAClB,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC9B,CAAC;CACJ;AAhCD,wCAgCC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,CAAC;CACJ;AA9BD,wCA8BC"} \ No newline at end of file diff --git a/dist/structures/Database.d.ts b/dist/structures/Database.d.ts index 13158d3..c60c31b 100644 --- a/dist/structures/Database.d.ts +++ b/dist/structures/Database.d.ts @@ -15,7 +15,7 @@ export declare class Database extends GiveawaysDatabaseManager { }; private static entities; private db; - private static db; + private static db?; private static emitter; constructor(emitter: TypedEmitter>); init(): Promise; @@ -24,12 +24,12 @@ export declare class Database extends GiveawaysDatabaseManager { * @param id The id of the giveaway to get. * @returns */ - static get(id: Snowflake): Promise; + static get(id: Snowflake): Promise; /** * Gets all existing giveaways. * @returns */ - static getAll(): Promise; + static getAll(): Promise; /** * Saves a giveaway in the database. * @param data The giveaway data to save. @@ -40,11 +40,11 @@ export declare class Database extends GiveawaysDatabaseManager { * @param id The id of the giveaway to delete. * @returns */ - static delete(id: Snowflake): Promise; + static delete(id: Snowflake): Promise; /** * Wipes the entire database. * @returns */ - static wipe(): Promise; + static wipe(): Promise; } //# sourceMappingURL=Database.d.ts.map \ No newline at end of file diff --git a/dist/structures/Database.d.ts.map b/dist/structures/Database.d.ts.map index 37e4419..239f14d 100644 --- a/dist/structures/Database.d.ts.map +++ b/dist/structures/Database.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;AAEhE,qBAAa,QAAS,SAAQ,wBAAwB;IAkBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjB7B,QAAQ,SAAgB;IAExB,aAAa;;;;;MAKnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAEtB;IAED,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAgD;gBAEzC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IASvE,IAAI;IAMjB;;;;OAIG;WACiB,GAAG,CAAC,EAAE,EAAE,SAAS;IAIrC;;;OAGG;WACiB,MAAM;IAI1B;;;OAGG;WACiB,GAAG,CAAC,IAAI,EAAE,QAAQ;IAWtC;;;;OAIG;WACiB,MAAM,CAAC,EAAE,EAAE,SAAS;IAIxC;;;OAGG;WACiB,IAAI;CAG3B"} \ No newline at end of file +{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;AAEhE,qBAAa,QAAS,SAAQ,wBAAwB;IAkBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjB7B,QAAQ,SAAgB;IAExB,aAAa;;;;;MAKnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAEtB;IAED,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAY;IAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAgD;gBAEzC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IASvE,IAAI;IAMjB;;;;OAIG;WACiB,GAAG,CAAC,EAAE,EAAE,SAAS;IAIrC;;;OAGG;WACiB,MAAM;IAI1B;;;OAGG;WACiB,GAAG,CAAC,IAAI,EAAE,QAAQ;IAWtC;;;;OAIG;WACiB,MAAM,CAAC,EAAE,EAAE,SAAS;IAIxC;;;OAGG;WACiB,IAAI;CAG3B"} \ No newline at end of file diff --git a/dist/structures/Database.js b/dist/structures/Database.js index a6aeead..95865c3 100644 --- a/dist/structures/Database.js +++ b/dist/structures/Database.js @@ -36,14 +36,14 @@ class Database extends managers_1.GiveawaysDatabaseManager { * @returns */ static async get(id) { - return await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id }); + return await this.db?.getRepository(Database.entities.Giveaway).findOneBy({ id }); } /** * Gets all existing giveaways. * @returns */ static async getAll() { - return await this.db.getRepository(Database.entities.Giveaway).find(); + return await this.db?.getRepository(Database.entities.Giveaway).find(); } /** * Saves a giveaway in the database. @@ -51,12 +51,12 @@ class Database extends managers_1.GiveawaysDatabaseManager { */ static async set(data) { const newData = new this.entities.Giveaway(data); - const oldData = await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id: data.id }); + const oldData = await this.db?.getRepository(Database.entities.Giveaway).findOneBy({ id: data.id }); if (oldData && this.type === "mongodb") { - await this.db.getRepository(Database.entities.Giveaway).update(oldData.id, data); + await this.db?.getRepository(Database.entities.Giveaway).update(oldData.id, data); } else { - await this.db.getRepository(Database.entities.Giveaway).save(data); + await this.db?.getRepository(Database.entities.Giveaway).save(data); } } /** @@ -65,14 +65,14 @@ class Database extends managers_1.GiveawaysDatabaseManager { * @returns */ static async delete(id) { - return await this.db.getRepository(Database.entities.Giveaway).delete({ id }); + return await this.db?.getRepository(Database.entities.Giveaway).delete({ id }); } /** * Wipes the entire database. * @returns */ static async wipe() { - return await this.db.getRepository(Database.entities.Giveaway).clear(); + return await this.db?.getRepository(Database.entities.Giveaway).clear(); } } exports.Database = Database; diff --git a/dist/structures/Database.js.map b/dist/structures/Database.js.map index 8b0567e..cae229c 100644 --- a/dist/structures/Database.js.map +++ b/dist/structures/Database.js.map @@ -1 +1 @@ -{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 5bbbbe4..b95a663 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7VYy27bMBD8l82VcLx62dK9LXIoeuuFMALVYhyhtuSStJPA8L8XlCWRDOmAjtpTAmlndpYcrpY+AW9fBBT0BL/rpoIiSjMCTbljUMDD15Zv2Lf6yMqX8k382Mu6bQQQOPAtFFA3kvGncs3EvT9y9ix3WyCw3pZCMAEFwJkMiXAeJWMmdmSNvJX5bkQZCQjsS84aeV3+FQk7JkS5YTeLMHCflJGlaawX/fFRvu3ZZ1XMRvgtYmZjEVcWR8iSy4maZgPJp5QNhV0zUFNNlXeh+B/iOOPtdjtV38jyryRGy1GhjR2V9pnu7dcfHusUo5F13TZC8sNatjyE8s6O95f5TumVFe/+hKTsA6fkqphY87pb7qCUdvyUzEfGRWhWHTslI2d/DjVnX14la4T1Mfgotw81RQXb1VKyME/p2El7XMryVynCPGUET8m5GQK+l025CSzXA5qiYd3udmVThW2zETwlZ/tuzPgopY69MWM0T3T3q5taBqXrA8NyrQjUTcVeoTiNJ7WAaBbPciDwVLNtpQavoVep1VNEBKp2fej+XfVhP5lqiSr4En0/B0LnJEpn+TxerQgdwN2L7sHAoZ90QARC0QdEB4gWMAJCIx8wcoCRBYyB0NgHjB1gbAETIDTxARMHmFjAFAhNfcDUAaYWMANCMx8wc4CZBVwAoQsfcOEAFxZwCYQufcClA1xawBwIzX3A3AHmtgGUH9DrHXTNg+/c09nH7x+PgWwHofIFej2EronQdhEqb6DXR+gaCW0nofIHer2ErpnQdhMqj6DXT+gaCm1HofIJej2FrqnQdhUqr6DXV+gaC21nofILer2Frrn6R13HOjIuWfVw6VyUjveREzz27SweGucJYihO57NuXsXpbPQv9W7IfPkwaBLMNAtmgTTGeKiZlppoGcSjv8+GnMSQk4TRmHOcwTQ3mOZBTOOMYrAYi4xhq9zdXzRDqgnSMHx/mzZEGBqCKJ7UJ3CjrxGaaqGpFkFUI8tuGGQMXUZtGFZcbUsb5wZNamxb2K5dhgFDlWFEDHOi/u1A00SaJQoiucwPmiDXBHkQgWcx0NgvDNuwfshnxpBv8BlVYVhZw3VXkxgdI6xh9D84aAbjkIed8fHWZJRinoqAY7EisK/3bFs3DAq6Op//AmN2UwpzEwAA"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7VXW2+bMBT+L6evVprDLcD7NvVh2tterKhC4GbWEsiMk7aK8t8nCGC7diKnbE+tyPkuPnwc2ycQzWsLOT3Bb15XkAdxQqAudgxyePraiA37xo+seC3e2x97yZu6BQIHsYUceC2ZeClK1j66Kxe/5G4LBMpt0bashRzgTEYhXAbRpMSOrJb3Mj9MKE2AwL4QrJbX7V+xsGNtW2zY3SY03CdtJHEcqqY/P8v3Pfusi8UEv8fMYlrElea0shBypqfFSPIpZ+PCrgWorubau1D8D3OCiWa7netvYvlXFoN0cmhiJ6eD0qP5883POsZgYi2bupXiUMpG+FA+mPXuZX5weqXj/R8fyaFwjlbF2lLwvt1ekmb9HOUjE62vqqqdoyjYnwMX7MubZHVrbAa3tF2oOS7YjkvJ/DKlaucobsaC70VdbDylHaA5Hspmtyvqyq/lWvEczebDln9LUtXeqRgsIzWJeM2ll9xQ6Ke1JsDrir1Bfpq+mhyCRbjIgMALZ9uqOwSNc6PrXkdEoGrKQ//veij7ybrx1BVfqh+XQOiSBPEizNZrQkds/7x/MFKoJz0OgVB04NDCoYELgNDAgQssXGDgQiA0dOBCCxcauAgIjRy4yMJFBi4GQmMHLrZwsYFLgNDEgUssXGLgVkDoyoFbWbiVgUuB0NSBSy1cauAyIDRz4DILl5nvvYsBuhKDdmTwQ2b60DhT44iNmRvs4oCu5KAdHTSzg10k0JUetOODZn6wiwW6EoR2hNDMEHbRQFeK0I4RmjnCLh7oShLaUUIzS9hFBF1pQjtOw6N+xByZkKx6uowaSqfD/Ameh/kTjpPuBCHkp/NZTZv8dNYGTvfbqHyZ5IoEY8WCsSeNdrZSTKkiSr14jNOL5mipOVp6MU07s8aidQf92tOf2hWD1hi/vox3SM2E5sGL4qXbbDbq8KyoVopq5UU1sezGI4PmK9KMRV503LQ27dCKVHttfm/tsu1qrrQ1ot8i1Y1Z0QSKJfAiuezUiiBTBJkXgaMZmGhrSbxYhqMt0462Gp+2KvRb1njJUySaJz9LwzVbMWi58YvNdFfQlqJ/FR6fxZrAnu/ZltcMcro+n/8CRwhFdWkSAAA="; \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 577b47a..bc11590 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,6 +1,5 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

commands: null | GiveawaysCommandManager
database: Database
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 062ef8c..45c2397 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/src/index.ts b/src/index.ts index 0e3ae29..c540a69 100644 --- a/src/index.ts +++ b/src/index.ts @@ -21,14 +21,12 @@ export class ForgeGiveaways extends ForgeExtension { public emitter = new TypedEmitter>() - public readonly database: Database public readonly giveawaysManager = new GiveawaysManager(this, this.emitter) commands: GiveawaysCommandManager | null public constructor (public readonly options?: IForgeGiveawaysOptions) { super() this.commands = null - this.database = new Database(this.emitter) } public async init(client: ForgeClient) { @@ -43,6 +41,6 @@ export class ForgeGiveaways extends ForgeExtension { client.events.load("ForgeGiveawaysEvents", this.options.events) } - await this.database.init() + await new Database(this.emitter).init() } } \ No newline at end of file diff --git a/src/structures/Database.ts b/src/structures/Database.ts index ad47020..9c07d24 100644 --- a/src/structures/Database.ts +++ b/src/structures/Database.ts @@ -22,7 +22,7 @@ export class Database extends GiveawaysDatabaseManager { } private db: Promise - private static db: DataSource + private static db?: DataSource private static emitter: TypedEmitter> constructor(private readonly emitter: TypedEmitter>) { @@ -46,7 +46,7 @@ export class Database extends GiveawaysDatabaseManager { * @returns */ public static async get(id: Snowflake) { - return await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id }) + return await this.db?.getRepository(Database.entities.Giveaway).findOneBy({ id }) } /** @@ -54,7 +54,7 @@ export class Database extends GiveawaysDatabaseManager { * @returns */ public static async getAll() { - return await this.db.getRepository(Database.entities.Giveaway).find() + return await this.db?.getRepository(Database.entities.Giveaway).find() } /** @@ -63,12 +63,12 @@ export class Database extends GiveawaysDatabaseManager { */ public static async set(data: Giveaway) { const newData =new this.entities.Giveaway(data) - const oldData = await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id: data.id }) + const oldData = await this.db?.getRepository(Database.entities.Giveaway).findOneBy({ id: data.id }) if (oldData && this.type === "mongodb") { - await this.db.getRepository(Database.entities.Giveaway).update(oldData.id, data) + await this.db?.getRepository(Database.entities.Giveaway).update(oldData.id, data) } else { - await this.db.getRepository(Database.entities.Giveaway).save(data) + await this.db?.getRepository(Database.entities.Giveaway).save(data) } } @@ -78,7 +78,7 @@ export class Database extends GiveawaysDatabaseManager { * @returns */ public static async delete(id: Snowflake) { - return await this.db.getRepository(Database.entities.Giveaway).delete({ id }) + return await this.db?.getRepository(Database.entities.Giveaway).delete({ id }) } /** @@ -86,6 +86,6 @@ export class Database extends GiveawaysDatabaseManager { * @returns */ public static async wipe() { - return await this.db.getRepository(Database.entities.Giveaway).clear() + return await this.db?.getRepository(Database.entities.Giveaway).clear() } } \ No newline at end of file From 53227a3b4fc7366cd2647392360ceb7b5f88b94d Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sat, 18 Oct 2025 21:13:26 +0200 Subject: [PATCH 47/87] Fix incorrect timestamp --- dist/structures/Giveaway.js | 2 +- dist/structures/Giveaway.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/structures/Giveaway.ts | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/dist/structures/Giveaway.js b/dist/structures/Giveaway.js index b35a86f..90bd7cf 100644 --- a/dist/structures/Giveaway.js +++ b/dist/structures/Giveaway.js @@ -74,7 +74,7 @@ let Giveaway = class Giveaway { this.guildID = options?.guildID ?? ""; this.channelID = options?.channelID ?? ""; this.requirements = options?.requirements; - this.timestamp = (discord_js_1.SnowflakeUtil.timestampFrom(this.id) * 1000); + this.timestamp = discord_js_1.SnowflakeUtil.timestampFrom(this.id); this.hasEnded = false; this.entries = []; this.winners = []; diff --git a/dist/structures/Giveaway.js.map b/dist/structures/Giveaway.js.map index 22bcffa..687d7f3 100644 --- a/dist/structures/Giveaway.js.map +++ b/dist/structures/Giveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAkE;AAElE,qCAAuE;AAYhE,IAAM,QAAQ,GAAd,MAAM,QAAQ;IACjB;;OAEG;IAEI,EAAE,CAAW;IAEpB;;OAEG;IAEI,KAAK,CAAQ;IAEpB;;OAEG;IAEI,QAAQ,CAAQ;IAEvB;;OAEG;IAEI,SAAS,CAAQ;IAExB;;OAEG;IAEI,YAAY,CAAQ;IAE3B;;OAEG;IAEI,QAAQ,CAAS;IAExB;;OAEG;IAEI,MAAM,CAAW;IAExB;;OAEG;IAEI,OAAO,CAAW;IAEzB;;OAEG;IAEI,SAAS,CAAW;IAE3B;;OAEG;IAEI,OAAO,CAAa;IAE3B;;OAEG;IAEI,OAAO,CAAa;IAE3B;;OAEG;IAEI,YAAY,CAAwC;IAE3D;;OAEG;IAEI,SAAS,CAAY;IAE5B,YAAY,OAA6D;QACrE,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,IAAI,0BAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAA;QAC5D,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,CAAC,CAAA;QAC9C,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,EAAE,CAAA;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE,CAAA;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,EAAE,CAAA;QACzC,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE,YAAY,CAAA;QACzC,IAAI,CAAC,SAAS,GAAG,CAAC,0BAAa,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QAC9D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IACrB,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,MAAiB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,MAAiB;QAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAA;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzB,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,MAAiB;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAA;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;QACvD,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,MAAmB;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAA;QAC7B,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QACrB,MAAM,gBAAgB,GAAG,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QACzF,MAAM,iBAAiB,GAAG,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QAC7F,MAAM,mBAAmB,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACvE,OAAO,gBAAgB,IAAI,iBAAiB,IAAI,mBAAmB,CAAA;IACvE,CAAC;IAED;;;OAGG;IACI,KAAK;QACR,OAAO,eAAe,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACJ,CAAA;AAlJY,4BAAQ;AAKV;IADN,IAAA,uBAAa,GAAE;;oCACI;AAMb;IADN,IAAA,gBAAM,GAAE;;uCACW;AAMb;IADN,IAAA,gBAAM,GAAE;;0CACc;AAMhB;IADN,IAAA,gBAAM,GAAE;;2CACe;AAMjB;IADN,IAAA,gBAAM,GAAE;;8CACkB;AAMpB;IADN,IAAA,gBAAM,GAAE;;0CACe;AAMjB;IADN,IAAA,gBAAM,GAAE;;wCACe;AAMjB;IADN,IAAA,gBAAM,GAAE;;yCACgB;AAMlB;IADN,IAAA,gBAAM,GAAE;;2CACkB;AAMpB;IADN,IAAA,gBAAM,EAAC,cAAc,CAAC;;yCACI;AAMpB;IADN,IAAA,gBAAM,EAAC,cAAc,CAAC;;yCACI;AAMpB;IADN,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACiB;AAMpD;IADN,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACC;mBA7EnB,QAAQ;IADpB,IAAA,gBAAM,GAAE;;GACI,QAAQ,CAkJpB;AAGM,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,QAAQ;IACvC;;OAEG;IAEI,OAAO,CAAS;CAC1B,CAAA;AANY,sCAAa;AAKf;IADN,IAAA,wBAAc,GAAE;;8CACM;wBALd,aAAa;IADzB,IAAA,gBAAM,GAAE;GACI,aAAa,CAMzB"} \ No newline at end of file +{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index bc11590..44d12f2 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 45c2397..81a6141 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,3 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
diff --git a/src/structures/Giveaway.ts b/src/structures/Giveaway.ts index dc261e2..d61c851 100644 --- a/src/structures/Giveaway.ts +++ b/src/structures/Giveaway.ts @@ -100,7 +100,7 @@ export class Giveaway implements IGiveaway { this.guildID = options?.guildID ?? "" this.channelID = options?.channelID ?? "" this.requirements = options?.requirements - this.timestamp = (SnowflakeUtil.timestampFrom(this.id) * 1000) + this.timestamp = SnowflakeUtil.timestampFrom(this.id) this.hasEnded = false this.entries = [] this.winners = [] From ce5cc9cf7e7f3414c3dd3261a109b7e7c9be97e9 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 00:56:03 +0200 Subject: [PATCH 48/87] Improve current sytems --- dist/events/giveawayStart.d.ts.map | 2 +- dist/events/giveawayStart.js | 20 +++++++++++++--- dist/events/giveawayStart.js.map | 2 +- dist/functions/error.d.ts | 11 +++++++++ dist/functions/error.d.ts.map | 1 + dist/functions/error.js | 19 +++++++++++++++ dist/functions/error.js.map | 1 + dist/index.d.ts | 5 ++-- dist/index.d.ts.map | 2 +- dist/index.js | 5 ++-- dist/index.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 2 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 19 ++++++--------- dist/managers/GiveawaysManager.js.map | 2 +- ...quiredRoles.d.ts => addRequiredRoles.d.ts} | 2 +- dist/native/manage/addRequiredRoles.d.ts.map | 1 + ...etRequiredRoles.js => addRequiredRoles.js} | 12 ++++++---- dist/native/manage/addRequiredRoles.js.map | 1 + ...Members.d.ts => addRestrictedMembers.d.ts} | 2 +- .../manage/addRestrictedMembers.d.ts.map | 1 + ...ctedMembers.js => addRestrictedMembers.js} | 12 ++++++---- .../native/manage/addRestrictedMembers.js.map | 1 + ...ctedRoles.d.ts => addRestrictedRoles.d.ts} | 2 +- .../native/manage/addRestrictedRoles.d.ts.map | 1 + ...strictedRoles.js => addRestrictedRoles.js} | 12 ++++++---- dist/native/manage/addRestrictedRoles.js.map | 1 + dist/native/manage/setRequiredRoles.d.ts.map | 1 - dist/native/manage/setRequiredRoles.js.map | 1 - .../manage/setRestrictedMembers.d.ts.map | 1 - .../native/manage/setRestrictedMembers.js.map | 1 - .../native/manage/setRestrictedRoles.d.ts.map | 1 - dist/native/manage/setRestrictedRoles.js.map | 1 - dist/native/manage/startGiveaway.js | 2 +- dist/native/manage/startGiveaway.js.map | 2 +- dist/properties/giveaway.d.ts | 1 + dist/properties/giveaway.d.ts.map | 2 +- dist/properties/giveaway.js | 2 ++ dist/properties/giveaway.js.map | 2 +- dist/structures/Database.d.ts.map | 2 +- dist/structures/Database.js | 2 +- dist/structures/Database.js.map | 2 +- docs/assets/search.js | 2 +- docs/classes/ForgeGiveaways.html | 10 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 5 ++-- metadata/enums.json | 2 +- metadata/functions.json | 2 +- src/events/giveawayStart.ts | 24 ++++++++++++++++--- src/functions/error.ts | 16 +++++++++++++ src/index.ts | 6 +++-- src/managers/GiveawaysManager.ts | 20 +++++++--------- ...etRequiredRoles.ts => addRequiredRoles.ts} | 11 ++++++--- ...ctedMembers.ts => addRestrictedMembers.ts} | 11 ++++++--- ...strictedRoles.ts => addRestrictedRoles.ts} | 11 ++++++--- src/native/manage/startGiveaway.ts | 2 +- src/properties/giveaway.ts | 2 ++ src/structures/Database.ts | 2 +- 57 files changed, 200 insertions(+), 92 deletions(-) create mode 100644 dist/functions/error.d.ts create mode 100644 dist/functions/error.d.ts.map create mode 100644 dist/functions/error.js create mode 100644 dist/functions/error.js.map rename dist/native/manage/{setRequiredRoles.d.ts => addRequiredRoles.d.ts} (84%) create mode 100644 dist/native/manage/addRequiredRoles.d.ts.map rename dist/native/manage/{setRequiredRoles.js => addRequiredRoles.js} (62%) create mode 100644 dist/native/manage/addRequiredRoles.js.map rename dist/native/manage/{setRestrictedMembers.d.ts => addRestrictedMembers.d.ts} (83%) create mode 100644 dist/native/manage/addRestrictedMembers.d.ts.map rename dist/native/manage/{setRestrictedMembers.js => addRestrictedMembers.js} (60%) create mode 100644 dist/native/manage/addRestrictedMembers.js.map rename dist/native/manage/{setRestrictedRoles.d.ts => addRestrictedRoles.d.ts} (83%) create mode 100644 dist/native/manage/addRestrictedRoles.d.ts.map rename dist/native/manage/{setRestrictedRoles.js => addRestrictedRoles.js} (61%) create mode 100644 dist/native/manage/addRestrictedRoles.js.map delete mode 100644 dist/native/manage/setRequiredRoles.d.ts.map delete mode 100644 dist/native/manage/setRequiredRoles.js.map delete mode 100644 dist/native/manage/setRestrictedMembers.d.ts.map delete mode 100644 dist/native/manage/setRestrictedMembers.js.map delete mode 100644 dist/native/manage/setRestrictedRoles.d.ts.map delete mode 100644 dist/native/manage/setRestrictedRoles.js.map create mode 100644 src/functions/error.ts rename src/native/manage/{setRequiredRoles.ts => addRequiredRoles.ts} (62%) rename src/native/manage/{setRestrictedMembers.ts => addRestrictedMembers.ts} (59%) rename src/native/manage/{setRestrictedRoles.ts => addRestrictedRoles.ts} (60%) diff --git a/dist/events/giveawayStart.d.ts.map b/dist/events/giveawayStart.d.ts.map index 0ecb603..3db4072 100644 --- a/dist/events/giveawayStart.d.ts.map +++ b/dist/events/giveawayStart.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAyBE"} \ No newline at end of file +{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAMzE,wBAyCE"} \ No newline at end of file diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index 51aecc8..47798b0 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -2,14 +2,16 @@ Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); -const __1 = require(".."); +const error_1 = require("../functions/error"); const structures_1 = require("../structures"); +const __1 = require(".."); exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ name: "giveawayStart", version: "1.0.0", description: "This event is fired when a giveaway started", listener: async function (gw) { - const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayStart"); + const client = this.getExtension(__1.ForgeGiveaways, true); + const commands = client.commands?.get("giveawayStart"); if (commands?.length) { for (const command of commands) { const ctx = new structures_1.Context({ @@ -23,7 +25,19 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ }, data: command.compiled.code, }); - forgescript_1.Interpreter.run(ctx); + const result = await forgescript_1.Interpreter.run(ctx); + if (client.options.useDefault === false) { + const res = result?.trim(); + const chan = this.channels.cache.get(gw.channelID); + const msg = res ? chan?.messages.cache.get(res) : undefined; + if (!res || !msg) { + (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotFound, gw.id); + await structures_1.Database.delete(gw.id); + continue; + } + gw.messageID = msg.id; + await structures_1.Database.set(gw); + } } } }, diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index 1e4630e..701226d 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEvF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,8CAA4E;AAC5E,8CAAiD;AACjD,0BAAmC;AAGnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEtD,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;oBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAA;oBAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;oBAE3D,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACf,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC9D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC5B,SAAQ;oBACZ,CAAC;oBAED,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/functions/error.d.ts b/dist/functions/error.d.ts new file mode 100644 index 0000000..b8e23fa --- /dev/null +++ b/dist/functions/error.d.ts @@ -0,0 +1,11 @@ +import { Snowflake } from "discord.js"; +export declare enum GiveawaysErrorType { + MessageNotFound = "Could not determine the messageID for giveaway with ID \"$1\", giveaway terminated" +} +/** + * Throws a giveaways error in the console. + * @param type The error type to log. + * @param id The id of the referenced giveaway. + */ +export declare function throwGiveawaysError(type: GiveawaysErrorType, id: Snowflake): void; +//# sourceMappingURL=error.d.ts.map \ No newline at end of file diff --git a/dist/functions/error.d.ts.map b/dist/functions/error.d.ts.map new file mode 100644 index 0000000..d08194f --- /dev/null +++ b/dist/functions/error.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,oBAAY,kBAAkB;IAC1B,eAAe,uFAAqF;CACvG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,QAG1E"} \ No newline at end of file diff --git a/dist/functions/error.js b/dist/functions/error.js new file mode 100644 index 0000000..e98d3bb --- /dev/null +++ b/dist/functions/error.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GiveawaysErrorType = void 0; +exports.throwGiveawaysError = throwGiveawaysError; +const forgescript_1 = require("@tryforge/forgescript"); +var GiveawaysErrorType; +(function (GiveawaysErrorType) { + GiveawaysErrorType["MessageNotFound"] = "Could not determine the messageID for giveaway with ID \"$1\", giveaway terminated"; +})(GiveawaysErrorType || (exports.GiveawaysErrorType = GiveawaysErrorType = {})); +/** + * Throws a giveaways error in the console. + * @param type The error type to log. + * @param id The id of the referenced giveaway. + */ +function throwGiveawaysError(type, id) { + const message = type.replace(/\$(\d+)/g, () => id); + forgescript_1.Logger.error(message); +} +//# sourceMappingURL=error.js.map \ No newline at end of file diff --git a/dist/functions/error.js.map b/dist/functions/error.js.map new file mode 100644 index 0000000..e41ded7 --- /dev/null +++ b/dist/functions/error.js.map @@ -0,0 +1 @@ +{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":";;;AAYA,kDAGC;AAfD,uDAA8C;AAG9C,IAAY,kBAEX;AAFD,WAAY,kBAAkB;IAC1B,4HAAoG,CAAA;AACxG,CAAC,EAFW,kBAAkB,kCAAlB,kBAAkB,QAE7B;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAwB,EAAE,EAAa;IACvE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAClD,oBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AACzB,CAAC"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index 810426a..fe9ae26 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -4,6 +4,7 @@ import { TypedEmitter } from "tiny-typed-emitter"; import { TransformEvents } from "@tryforge/forge.db"; export interface IForgeGiveawaysOptions { events?: keyof IGiveawayEvents; + useDefault?: boolean; messages?: { start: string; end: string; @@ -11,7 +12,7 @@ export interface IForgeGiveawaysOptions { }; } export declare class ForgeGiveaways extends ForgeExtension { - readonly options?: IForgeGiveawaysOptions | undefined; + readonly options: IForgeGiveawaysOptions; name: string; description: string; version: any; @@ -19,7 +20,7 @@ export declare class ForgeGiveaways extends ForgeExtension { emitter: TypedEmitter>; readonly giveawaysManager: GiveawaysManager; commands: GiveawaysCommandManager | null; - constructor(options?: IForgeGiveawaysOptions | undefined); + constructor(options?: IForgeGiveawaysOptions); init(client: ForgeClient): Promise; } //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 44452d9..7b7deab 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,CAAC,EAAE,sBAAsB;IAVpE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,CAAC,EAAE,sBAAsB,YAAA;IAKvD,IAAI,CAAC,MAAM,EAAE,WAAW;CAcxC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,GAAE,sBAA2B;IAM3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAcxC"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index cd09c6a..5107c9f 100644 --- a/dist/index.js +++ b/dist/index.js @@ -14,17 +14,18 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { emitter = new tiny_typed_emitter_1.TypedEmitter(); giveawaysManager = new managers_1.GiveawaysManager(this, this.emitter); commands; - constructor(options) { + constructor(options = {}) { super(); this.options = options; this.commands = null; + this.options.useDefault ??= true; } async init(client) { this.commands = new managers_1.GiveawaysCommandManager(client); forgescript_1.EventManager.load("ForgeGiveawaysEvents", __dirname + "/events"); this.load(__dirname + "/native"); new managers_1.GiveawaysInteractionManager(client); - if (this.options?.events?.length) { + if (this.options.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); } await new structures_1.Database(this.emitter).init(); diff --git a/dist/index.js.map b/dist/index.js.map index 189e5a3..12d7322 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAWvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,OAAgC;QAChE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAAyB;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,CAAC;CACJ;AA9BD,wCA8BC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAYvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,CAAC;CACJ;AA/BD,wCA+BC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index 12cd525..ddd51bd 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -24,7 +24,7 @@ export declare class GiveawaysManager { * @param options The start options for the giveaway. * @returns */ - start(ctx: Context, options: IGiveawayStartOptions): Promise; + start(ctx: Context, options: IGiveawayStartOptions): Promise; /** * Ends an existing giveaway. * @param ctx The current context. diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 711d42d..56f025e 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBADE,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAKnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA+C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAuD5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAsB/C,OAAO,CAAC,YAAY;YAKN,iBAAiB;CAUlC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBADE,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAKnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA0C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAuD5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAsB/C,OAAO,CAAC,YAAY;YAKN,iBAAiB;CAUlC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index c291f6e..aa51237 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -4,6 +4,7 @@ exports.GiveawaysManager = void 0; const discord_js_1 = require("discord.js"); const forgescript_1 = require("@tryforge/forgescript"); const structures_1 = require("../structures"); +const error_1 = require("../functions/error"); class GiveawaysManager { client; emitter; @@ -21,17 +22,7 @@ class GiveawaysManager { async start(ctx, options) { const giveaway = new structures_1.Giveaway(options); const chan = ctx.client.channels.cache.get(giveaway.channelID); - if (this.client.options?.messages?.start) { - const result = await forgescript_1.Interpreter.run({ - ...ctx.runtime, - environment: { giveaway }, - data: forgescript_1.Compiler.compile(this.client.options?.messages?.start), - doNotSend: true, - }); - const res = result?.trim(); - giveaway.messageID = (res && chan?.messages.cache.get(res) ? res : undefined); - } - else { + if (this.client.options.useDefault) { const embed = new discord_js_1.EmbedBuilder() .setTitle("🎉 GIVEAWAY 🎉") .setDescription(`**Prize:** ${giveaway.prize}\n**Winners:** ${giveaway.winnersCount}`) @@ -46,7 +37,11 @@ class GiveawaysManager { embeds: [embed], components: [comps.toJSON()] }).catch(ctx.noop); - giveaway.messageID = msg?.id; + if (!msg) { + (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotFound, giveaway.id); + return; + } + giveaway.messageID = msg.id; } await structures_1.Database.set(giveaway).catch(ctx.noop); this.emitter.emit("giveawayStart", giveaway); diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 7386026..2b81e69 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/native/manage/setRequiredRoles.d.ts b/dist/native/manage/addRequiredRoles.d.ts similarity index 84% rename from dist/native/manage/setRequiredRoles.d.ts rename to dist/native/manage/addRequiredRoles.d.ts index 27fb3cd..5002259 100644 --- a/dist/native/manage/setRequiredRoles.d.ts +++ b/dist/native/manage/addRequiredRoles.d.ts @@ -7,4 +7,4 @@ declare const _default: NativeFunction<[{ type: ArgType.String; }], true>; export default _default; -//# sourceMappingURL=setRequiredRoles.d.ts.map \ No newline at end of file +//# sourceMappingURL=addRequiredRoles.d.ts.map \ No newline at end of file diff --git a/dist/native/manage/addRequiredRoles.d.ts.map b/dist/native/manage/addRequiredRoles.d.ts.map new file mode 100644 index 0000000..70d73c4 --- /dev/null +++ b/dist/native/manage/addRequiredRoles.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"addRequiredRoles.d.ts","sourceRoot":"","sources":["../../../src/native/manage/addRequiredRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAE/D,wBAyBE"} \ No newline at end of file diff --git a/dist/native/manage/setRequiredRoles.js b/dist/native/manage/addRequiredRoles.js similarity index 62% rename from dist/native/manage/setRequiredRoles.js rename to dist/native/manage/addRequiredRoles.js index c1b5f25..494916f 100644 --- a/dist/native/manage/setRequiredRoles.js +++ b/dist/native/manage/addRequiredRoles.js @@ -2,9 +2,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); exports.default = new forgescript_1.NativeFunction({ - name: "$setRequiredRoles", + name: "$addRequiredRoles", version: "1.0.0", - description: "Sets the required roles for current giveaway", + description: "Adds required roles to the current giveaway", + aliases: ["$addRequiredRole"], unwrap: true, brackets: true, args: [ @@ -18,8 +19,11 @@ exports.default = new forgescript_1.NativeFunction({ ], execute(ctx, [roles]) { ctx.requirements ??= {}; - ctx.requirements.requiredRoles = roles; + const set = new Set(ctx.requirements.requiredRoles); + for (const role of roles) + set.add(role); + ctx.requirements.requiredRoles = [...set]; return this.success(); } }); -//# sourceMappingURL=setRequiredRoles.js.map \ No newline at end of file +//# sourceMappingURL=addRequiredRoles.js.map \ No newline at end of file diff --git a/dist/native/manage/addRequiredRoles.js.map b/dist/native/manage/addRequiredRoles.js.map new file mode 100644 index 0000000..e24811f --- /dev/null +++ b/dist/native/manage/addRequiredRoles.js.map @@ -0,0 +1 @@ +{"version":3,"file":"addRequiredRoles.js","sourceRoot":"","sources":["../../../src/native/manage/addRequiredRoles.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,OAAO,EAAE,CAAC,kBAAkB,CAAC;IAC7B,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAChB,GAAG,CAAC,YAAY,KAAK,EAAE,CAAA;QAEvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;QACnD,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEvC,GAAG,CAAC,YAAY,CAAC,aAAa,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;QACzC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/setRestrictedMembers.d.ts b/dist/native/manage/addRestrictedMembers.d.ts similarity index 83% rename from dist/native/manage/setRestrictedMembers.d.ts rename to dist/native/manage/addRestrictedMembers.d.ts index 8b20c3e..c1edfa4 100644 --- a/dist/native/manage/setRestrictedMembers.d.ts +++ b/dist/native/manage/addRestrictedMembers.d.ts @@ -7,4 +7,4 @@ declare const _default: NativeFunction<[{ type: ArgType.User; }], true>; export default _default; -//# sourceMappingURL=setRestrictedMembers.d.ts.map \ No newline at end of file +//# sourceMappingURL=addRestrictedMembers.d.ts.map \ No newline at end of file diff --git a/dist/native/manage/addRestrictedMembers.d.ts.map b/dist/native/manage/addRestrictedMembers.d.ts.map new file mode 100644 index 0000000..10a4541 --- /dev/null +++ b/dist/native/manage/addRestrictedMembers.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"addRestrictedMembers.d.ts","sourceRoot":"","sources":["../../../src/native/manage/addRestrictedMembers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAE/D,wBAyBE"} \ No newline at end of file diff --git a/dist/native/manage/setRestrictedMembers.js b/dist/native/manage/addRestrictedMembers.js similarity index 60% rename from dist/native/manage/setRestrictedMembers.js rename to dist/native/manage/addRestrictedMembers.js index b48808b..eeb925a 100644 --- a/dist/native/manage/setRestrictedMembers.js +++ b/dist/native/manage/addRestrictedMembers.js @@ -2,9 +2,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); exports.default = new forgescript_1.NativeFunction({ - name: "$setRestrictedMembers", + name: "$addRestrictedMembers", version: "1.0.0", - description: "Sets the restricted members for current giveaway", + description: "Adds restricted members to the current giveaway", + aliases: ["$addRestrictedMember"], unwrap: true, brackets: true, args: [ @@ -18,8 +19,11 @@ exports.default = new forgescript_1.NativeFunction({ ], execute(ctx, [members]) { ctx.requirements ??= {}; - ctx.requirements.restrictedMembers = members.map((x) => x.id); + const set = new Set(ctx.requirements.restrictedMembers); + for (const member of members) + set.add(member.id); + ctx.requirements.restrictedMembers = [...set]; return this.success(); } }); -//# sourceMappingURL=setRestrictedMembers.js.map \ No newline at end of file +//# sourceMappingURL=addRestrictedMembers.js.map \ No newline at end of file diff --git a/dist/native/manage/addRestrictedMembers.js.map b/dist/native/manage/addRestrictedMembers.js.map new file mode 100644 index 0000000..86d7a2a --- /dev/null +++ b/dist/native/manage/addRestrictedMembers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"addRestrictedMembers.js","sourceRoot":"","sources":["../../../src/native/manage/addRestrictedMembers.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,iDAAiD;IAC9D,OAAO,EAAE,CAAC,sBAAsB,CAAC;IACjC,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,mCAAmC;YAChD,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;KACJ;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;QAClB,GAAG,CAAC,YAAY,KAAK,EAAE,CAAA;QAEvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;QACvD,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAEhD,GAAG,CAAC,YAAY,CAAC,iBAAiB,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/setRestrictedRoles.d.ts b/dist/native/manage/addRestrictedRoles.d.ts similarity index 83% rename from dist/native/manage/setRestrictedRoles.d.ts rename to dist/native/manage/addRestrictedRoles.d.ts index e42afb7..3593beb 100644 --- a/dist/native/manage/setRestrictedRoles.d.ts +++ b/dist/native/manage/addRestrictedRoles.d.ts @@ -7,4 +7,4 @@ declare const _default: NativeFunction<[{ type: ArgType.String; }], true>; export default _default; -//# sourceMappingURL=setRestrictedRoles.d.ts.map \ No newline at end of file +//# sourceMappingURL=addRestrictedRoles.d.ts.map \ No newline at end of file diff --git a/dist/native/manage/addRestrictedRoles.d.ts.map b/dist/native/manage/addRestrictedRoles.d.ts.map new file mode 100644 index 0000000..9314cb2 --- /dev/null +++ b/dist/native/manage/addRestrictedRoles.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"addRestrictedRoles.d.ts","sourceRoot":"","sources":["../../../src/native/manage/addRestrictedRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAE/D,wBAyBE"} \ No newline at end of file diff --git a/dist/native/manage/setRestrictedRoles.js b/dist/native/manage/addRestrictedRoles.js similarity index 61% rename from dist/native/manage/setRestrictedRoles.js rename to dist/native/manage/addRestrictedRoles.js index 49db603..0a5be6c 100644 --- a/dist/native/manage/setRestrictedRoles.js +++ b/dist/native/manage/addRestrictedRoles.js @@ -2,9 +2,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); exports.default = new forgescript_1.NativeFunction({ - name: "$setRestrictedRoles", + name: "$addRestrictedRoles", version: "1.0.0", - description: "Sets the restricted roles for current giveaway", + description: "Adds restricted roles to the current giveaway", + aliases: ["$addRestrictedRole"], unwrap: true, brackets: true, args: [ @@ -18,8 +19,11 @@ exports.default = new forgescript_1.NativeFunction({ ], execute(ctx, [roles]) { ctx.requirements ??= {}; - ctx.requirements.restrictedRoles = roles; + const set = new Set(ctx.requirements.restrictedRoles); + for (const role of roles) + set.add(role); + ctx.requirements.restrictedRoles = [...set]; return this.success(); } }); -//# sourceMappingURL=setRestrictedRoles.js.map \ No newline at end of file +//# sourceMappingURL=addRestrictedRoles.js.map \ No newline at end of file diff --git a/dist/native/manage/addRestrictedRoles.js.map b/dist/native/manage/addRestrictedRoles.js.map new file mode 100644 index 0000000..8c33ee9 --- /dev/null +++ b/dist/native/manage/addRestrictedRoles.js.map @@ -0,0 +1 @@ +{"version":3,"file":"addRestrictedRoles.js","sourceRoot":"","sources":["../../../src/native/manage/addRestrictedRoles.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,+CAA+C;IAC5D,OAAO,EAAE,CAAC,oBAAoB,CAAC;IAC/B,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAChB,GAAG,CAAC,YAAY,KAAK,EAAE,CAAA;QAEvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;QACrD,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEvC,GAAG,CAAC,YAAY,CAAC,eAAe,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/setRequiredRoles.d.ts.map b/dist/native/manage/setRequiredRoles.d.ts.map deleted file mode 100644 index 1a243b1..0000000 --- a/dist/native/manage/setRequiredRoles.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"setRequiredRoles.d.ts","sourceRoot":"","sources":["../../../src/native/manage/setRequiredRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAE/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/manage/setRequiredRoles.js.map b/dist/native/manage/setRequiredRoles.js.map deleted file mode 100644 index 96eb6c5..0000000 --- a/dist/native/manage/setRequiredRoles.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"setRequiredRoles.js","sourceRoot":"","sources":["../../../src/native/manage/setRequiredRoles.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,8CAA8C;IAC3D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAChB,GAAG,CAAC,YAAY,KAAK,EAAE,CAAA;QACvB,GAAG,CAAC,YAAY,CAAC,aAAa,GAAG,KAAK,CAAA;QACtC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/setRestrictedMembers.d.ts.map b/dist/native/manage/setRestrictedMembers.d.ts.map deleted file mode 100644 index 718b36b..0000000 --- a/dist/native/manage/setRestrictedMembers.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"setRestrictedMembers.d.ts","sourceRoot":"","sources":["../../../src/native/manage/setRestrictedMembers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAE/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/manage/setRestrictedMembers.js.map b/dist/native/manage/setRestrictedMembers.js.map deleted file mode 100644 index b327e6e..0000000 --- a/dist/native/manage/setRestrictedMembers.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"setRestrictedMembers.js","sourceRoot":"","sources":["../../../src/native/manage/setRestrictedMembers.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,mCAAmC;YAChD,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;KACJ;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;QAClB,GAAG,CAAC,YAAY,KAAK,EAAE,CAAA;QACvB,GAAG,CAAC,YAAY,CAAC,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/setRestrictedRoles.d.ts.map b/dist/native/manage/setRestrictedRoles.d.ts.map deleted file mode 100644 index 3c504a6..0000000 --- a/dist/native/manage/setRestrictedRoles.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"setRestrictedRoles.d.ts","sourceRoot":"","sources":["../../../src/native/manage/setRestrictedRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAE/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/manage/setRestrictedRoles.js.map b/dist/native/manage/setRestrictedRoles.js.map deleted file mode 100644 index 3de1d47..0000000 --- a/dist/native/manage/setRestrictedRoles.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"setRestrictedRoles.js","sourceRoot":"","sources":["../../../src/native/manage/setRestrictedRoles.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAChB,GAAG,CAAC,YAAY,KAAK,EAAE,CAAA;QACvB,GAAG,CAAC,YAAY,CAAC,eAAe,GAAG,KAAK,CAAA;QACxC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/startGiveaway.js b/dist/native/manage/startGiveaway.js index aaef3db..7738cf5 100644 --- a/dist/native/manage/startGiveaway.js +++ b/dist/native/manage/startGiveaway.js @@ -59,7 +59,7 @@ exports.default = new forgescript_1.NativeFunction({ winnersCount: winners || 1, requirements: ctx.requirements }); - return this.success(giveaway.id); + return this.success(giveaway?.id); } }); //# sourceMappingURL=startGiveaway.js.map \ No newline at end of file diff --git a/dist/native/manage/startGiveaway.js.map b/dist/native/manage/startGiveaway.js.map index 66a2fc4..5e21a36 100644 --- a/dist/native/manage/startGiveaway.js.map +++ b/dist/native/manage/startGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE;YACtD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ;YACR,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;SACjC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACpC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE;YACtD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ;YACR,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;SACjC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/properties/giveaway.d.ts b/dist/properties/giveaway.d.ts index b19a943..9591cf9 100644 --- a/dist/properties/giveaway.d.ts +++ b/dist/properties/giveaway.d.ts @@ -3,6 +3,7 @@ export declare enum GiveawayProperty { id = "id", prize = "prize", duration = "duration", + timestamp = "timestamp", winnersCount = "winnersCount", hasEnded = "hasEnded", hostID = "hostID", diff --git a/dist/properties/giveaway.d.ts.map b/dist/properties/giveaway.d.ts.map index f6b3c71..b9cd1b7 100644 --- a/dist/properties/giveaway.d.ts.map +++ b/dist/properties/giveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveaway.d.ts","sourceRoot":"","sources":["../../src/properties/giveaway.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,oBAAY,gBAAgB;IACxB,EAAE,OAAO;IACT,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;CAC1C;AAED,eAAO,MAAM,kBAAkB,uFAe7B,CAAA"} \ No newline at end of file +{"version":3,"file":"giveaway.d.ts","sourceRoot":"","sources":["../../src/properties/giveaway.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,oBAAY,gBAAgB;IACxB,EAAE,OAAO;IACT,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;CAC1C;AAED,eAAO,MAAM,kBAAkB,uFAgB7B,CAAA"} \ No newline at end of file diff --git a/dist/properties/giveaway.js b/dist/properties/giveaway.js index 2e031c6..02da4e2 100644 --- a/dist/properties/giveaway.js +++ b/dist/properties/giveaway.js @@ -10,6 +10,7 @@ var GiveawayProperty; GiveawayProperty["id"] = "id"; GiveawayProperty["prize"] = "prize"; GiveawayProperty["duration"] = "duration"; + GiveawayProperty["timestamp"] = "timestamp"; GiveawayProperty["winnersCount"] = "winnersCount"; GiveawayProperty["hasEnded"] = "hasEnded"; GiveawayProperty["hostID"] = "hostID"; @@ -26,6 +27,7 @@ exports.GiveawayProperties = (0, defineProperties_1.default)({ id: (i) => i?.id, prize: (i) => i?.prize, duration: (i) => i?.duration, + timestamp: (i) => i?.timestamp, winnersCount: (i) => i?.winnersCount, hasEnded: (i) => i?.hasEnded, hostID: (i) => i?.hostID, diff --git a/dist/properties/giveaway.js.map b/dist/properties/giveaway.js.map index 3a7c983..473cd96 100644 --- a/dist/properties/giveaway.js.map +++ b/dist/properties/giveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"giveaway.js","sourceRoot":"","sources":["../../src/properties/giveaway.ts"],"names":[],"mappings":";;;;;;AAAA,qFAA4D;AAG5D,IAAY,gBAeX;AAfD,WAAY,gBAAgB;IACxB,6BAAS,CAAA;IACT,mCAAe,CAAA;IACf,yCAAqB,CAAA;IACrB,iDAA6B,CAAA;IAC7B,yCAAqB,CAAA;IACrB,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,mDAA+B,CAAA;IAC/B,uDAAmC,CAAA;IACnC,2DAAuC,CAAA;AAC3C,CAAC,EAfW,gBAAgB,gCAAhB,gBAAgB,QAe3B;AAEY,QAAA,kBAAkB,GAAG,IAAA,0BAAgB,EAAoC;IAClF,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK;IACtB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ;IAC5B,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY;IACpC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ;IAC5B,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM;IACxB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO;IAC1B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS;IAC9B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS;IAC9B,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IACjD,aAAa,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IAC5E,eAAe,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IAChF,iBAAiB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;CACvF,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveaway.js","sourceRoot":"","sources":["../../src/properties/giveaway.ts"],"names":[],"mappings":";;;;;;AAAA,qFAA4D;AAG5D,IAAY,gBAgBX;AAhBD,WAAY,gBAAgB;IACxB,6BAAS,CAAA;IACT,mCAAe,CAAA;IACf,yCAAqB,CAAA;IACrB,2CAAuB,CAAA;IACvB,iDAA6B,CAAA;IAC7B,yCAAqB,CAAA;IACrB,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,mDAA+B,CAAA;IAC/B,uDAAmC,CAAA;IACnC,2DAAuC,CAAA;AAC3C,CAAC,EAhBW,gBAAgB,gCAAhB,gBAAgB,QAgB3B;AAEY,QAAA,kBAAkB,GAAG,IAAA,0BAAgB,EAAoC;IAClF,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK;IACtB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ;IAC5B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS;IAC9B,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY;IACpC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ;IAC5B,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM;IACxB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO;IAC1B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS;IAC9B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS;IAC9B,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IACjD,aAAa,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IAC5E,eAAe,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;IAChF,iBAAiB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;CACvF,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/structures/Database.d.ts.map b/dist/structures/Database.d.ts.map index 239f14d..04b0aa0 100644 --- a/dist/structures/Database.d.ts.map +++ b/dist/structures/Database.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;AAEhE,qBAAa,QAAS,SAAQ,wBAAwB;IAkBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjB7B,QAAQ,SAAgB;IAExB,aAAa;;;;;MAKnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAEtB;IAED,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAY;IAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAgD;gBAEzC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IASvE,IAAI;IAMjB;;;;OAIG;WACiB,GAAG,CAAC,EAAE,EAAE,SAAS;IAIrC;;;OAGG;WACiB,MAAM;IAI1B;;;OAGG;WACiB,GAAG,CAAC,IAAI,EAAE,QAAQ;IAWtC;;;;OAIG;WACiB,MAAM,CAAC,EAAE,EAAE,SAAS;IAIxC;;;OAGG;WACiB,IAAI;CAG3B"} \ No newline at end of file +{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;AAEhE,qBAAa,QAAS,SAAQ,wBAAwB;IAkBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjB7B,QAAQ,SAAiB;IAEzB,aAAa;;;;;MAKnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAEtB;IAED,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAY;IAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAgD;gBAEzC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IASvE,IAAI;IAMjB;;;;OAIG;WACiB,GAAG,CAAC,EAAE,EAAE,SAAS;IAIrC;;;OAGG;WACiB,MAAM;IAI1B;;;OAGG;WACiB,GAAG,CAAC,IAAI,EAAE,QAAQ;IAWtC;;;;OAIG;WACiB,MAAM,CAAC,EAAE,EAAE,SAAS;IAIxC;;;OAGG;WACiB,IAAI;CAG3B"} \ No newline at end of file diff --git a/dist/structures/Database.js b/dist/structures/Database.js index 95865c3..5ab142a 100644 --- a/dist/structures/Database.js +++ b/dist/structures/Database.js @@ -5,7 +5,7 @@ const managers_1 = require("../managers"); const Giveaway_1 = require("./Giveaway"); class Database extends managers_1.GiveawaysDatabaseManager { emitter; - database = "giveaway.db"; + database = "giveaways.db"; entityManager = { sqlite: [Giveaway_1.Giveaway], mongodb: [Giveaway_1.MongoGiveaway], diff --git a/dist/structures/Database.js.map b/dist/structures/Database.js.map index cae229c..7f5712b 100644 --- a/dist/structures/Database.js.map +++ b/dist/structures/Database.js.map @@ -1 +1 @@ -{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index b95a663..be16fd3 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7VXW2+bMBT+L6evVprDLcD7NvVh2tterKhC4GbWEsiMk7aK8t8nCGC7diKnbE+tyPkuPnwc2ycQzWsLOT3Bb15XkAdxQqAudgxyePraiA37xo+seC3e2x97yZu6BQIHsYUceC2ZeClK1j66Kxe/5G4LBMpt0bashRzgTEYhXAbRpMSOrJb3Mj9MKE2AwL4QrJbX7V+xsGNtW2zY3SY03CdtJHEcqqY/P8v3Pfusi8UEv8fMYlrElea0shBypqfFSPIpZ+PCrgWorubau1D8D3OCiWa7netvYvlXFoN0cmhiJ6eD0qP5883POsZgYi2bupXiUMpG+FA+mPXuZX5weqXj/R8fyaFwjlbF2lLwvt1ekmb9HOUjE62vqqqdoyjYnwMX7MubZHVrbAa3tF2oOS7YjkvJ/DKlaucobsaC70VdbDylHaA5Hspmtyvqyq/lWvEczebDln9LUtXeqRgsIzWJeM2ll9xQ6Ke1JsDrir1Bfpq+mhyCRbjIgMALZ9uqOwSNc6PrXkdEoGrKQ//veij7ybrx1BVfqh+XQOiSBPEizNZrQkds/7x/MFKoJz0OgVB04NDCoYELgNDAgQssXGDgQiA0dOBCCxcauAgIjRy4yMJFBi4GQmMHLrZwsYFLgNDEgUssXGLgVkDoyoFbWbiVgUuB0NSBSy1cauAyIDRz4DILl5nvvYsBuhKDdmTwQ2b60DhT44iNmRvs4oCu5KAdHTSzg10k0JUetOODZn6wiwW6EoR2hNDMEHbRQFeK0I4RmjnCLh7oShLaUUIzS9hFBF1pQjtOw6N+xByZkKx6uowaSqfD/Ameh/kTjpPuBCHkp/NZTZv8dNYGTvfbqHyZ5IoEY8WCsSeNdrZSTKkiSr14jNOL5mipOVp6MU07s8aidQf92tOf2hWD1hi/vox3SM2E5sGL4qXbbDbq8KyoVopq5UU1sezGI4PmK9KMRV503LQ27dCKVHttfm/tsu1qrrQ1ot8i1Y1Z0QSKJfAiuezUiiBTBJkXgaMZmGhrSbxYhqMt0462Gp+2KvRb1njJUySaJz9LwzVbMWi58YvNdFfQlqJ/FR6fxZrAnu/ZltcMcro+n/8CRwhFdWkSAAA="; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7VYS2/iMBD+L9OrRZmEBJLzPtTDam97iVAVkYGNNg82DrQV4r+vHJLYxqYyTfdElcz38PAxtnuCpn7hECcn+JNXGcReEDKo0pIghqdvdbOj7/mR0pf0jf/ct3ldcWBwaAqIIa9aarbphvijvXL2uy0LYLApUs6JQwxwZoMQzr3FqERHqtp7mR9GlCLAYJ82VLW37d+wcOD0hbbpoWjvtaEhP8NKSZynO7q7HwrugzbCIPDl9//83L7t6aMuZiP8HjOzcRE3msPbtLn7K7ryNBtIPuRsWNitLFfZVHsXiv9hrqGmLoqp/kaWz7LorUaHOnZ02is96q/fnTABeiPrpq542xw2bd24UD7o9fZlXjm90fHuw0WyL5yilRHfNHnXbidJvX6K8pEa7qoqa6coNvT3kDf09bWlimv70nvaNtQUF1TmbUtumZK1UxR3Q8GPtEp3jtIW0BQPm7os0ypza7lSPEWzvjp9vCcpa+9U9OYLOYnyKm+d5PpCN601g7zK6BXi0/iricGb+bMIGGxzKjJxHhvmhuieIGKQ1ZtD9+e6L/tFYjyJ4kv14xxYMmdeMIvm/nrNkgHcvegeDBzySQdEYAnagGgAUQN6wBLPBvQMoKcBfWCJbwP6BtDXgAtgycIGXBjAhQYMgCWBDRgYwEADhsCS0AYMDWCoAZfAkqUNuDSASw24ApasbMCVAVxpwAhYEtmAkQGM9ACIPKA1O2iGB6/S08XHnh9LgPQEocgFWjOEZohQTxGKbKA1R2gGCfUkocgHWrOEZphQTxOKjKA1T2gGCvVEocgJWjOFZqhQTxWKrKA1V2gGC/VkocgLWrOFZrj6R93EOlLTUvZ0mVxJMt4NTvDcj7NxVJ9gAfHpfJbDKz6dlfkl3g3Kl41BkmAoWTB0pFGOapIpkkSRE492GFIcoeIInZjGjV5hUbqDbu3pLgGSQWmMW1+G27FiQvHgRLEVe9dOnsUl1UpSrZyoRpZyOIEovgLFWOBEl+vWxg1fks4l59yNstvFFVfKGtFtkfICLml8yeI7kVw2fsWHshJ0W4qlHbhUWJZOLP1ZmZSzssKnrAvdFjbcGiWJ4snNUn9vlwxKctyCc+CUDf+skTSepPGcaMY7jNIRhQQdWNYM9vmeirwiiJP1+fwPwyA4hIwTAAA="; \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 44d12f2..7369fd8 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,10 +1,10 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 81a6141..39ba71a 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,3 +1,4 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
+useDefault? +

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
diff --git a/metadata/enums.json b/metadata/enums.json index 87d458e..7fb42a9 100644 --- a/metadata/enums.json +++ b/metadata/enums.json @@ -1 +1 @@ -{"GiveawayProperty":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"]} \ No newline at end of file +{"GiveawayProperty":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"]} \ No newline at end of file diff --git a/metadata/functions.json b/metadata/functions.json index 7e42735..d3d08db 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayExists","version":"1.0.0","description":"Returns whether a giveaway exists","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The id of the giveaway to check for","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayTimestamp","version":"1.0.0","description":"Returns the created timestamp of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$setRequiredRoles","version":"1.0.0","description":"Sets the required roles for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$setRestrictedMembers","version":"1.0.0","description":"Sets the restricted members for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$setRestrictedRoles","version":"1.0.0","description":"Sets the restricted roles for current giveaway","unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file +[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayExists","version":"1.0.0","description":"Returns whether a giveaway exists","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The id of the giveaway to check for","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayTimestamp","version":"1.0.0","description":"Returns the created timestamp of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$addRequiredRoles","version":"1.0.0","description":"Adds required roles to the current giveaway","aliases":["$addRequiredRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$addRestrictedMembers","version":"1.0.0","description":"Adds restricted members to the current giveaway","aliases":["$addRestrictedMember"],"unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$addRestrictedRoles","version":"1.0.0","description":"Adds restricted roles to the current giveaway","aliases":["$addRestrictedRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index 452af34..bfc0486 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -1,14 +1,17 @@ import { Interpreter } from "@tryforge/forgescript" import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { GiveawaysErrorType, throwGiveawaysError } from "../functions/error" +import { Context, Database } from "../structures" import { ForgeGiveaways } from ".." -import { Context } from "../structures" +import { TextChannel } from "discord.js" export default new GiveawaysEventHandler({ name: "giveawayStart", version: "1.0.0", description: "This event is fired when a giveaway started", listener: async function(gw) { - const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayStart") + const client = this.getExtension(ForgeGiveaways, true) + const commands = client.commands?.get("giveawayStart") if (commands?.length) { for (const command of commands) { @@ -24,7 +27,22 @@ export default new GiveawaysEventHandler({ data: command.compiled.code, }) - Interpreter.run(ctx) + const result = await Interpreter.run(ctx) + + if (client.options.useDefault === false) { + const res = result?.trim() + const chan = this.channels.cache.get(gw.channelID) as TextChannel | undefined + const msg = res ? chan?.messages.cache.get(res) : undefined + + if (!res || !msg) { + throwGiveawaysError(GiveawaysErrorType.MessageNotFound, gw.id) + await Database.delete(gw.id) + continue + } + + gw.messageID = msg.id + await Database.set(gw) + } } } }, diff --git a/src/functions/error.ts b/src/functions/error.ts new file mode 100644 index 0000000..bf2934d --- /dev/null +++ b/src/functions/error.ts @@ -0,0 +1,16 @@ +import { Logger } from "@tryforge/forgescript" +import { Snowflake } from "discord.js" + +export enum GiveawaysErrorType { + MessageNotFound = `Could not determine the messageID for giveaway with ID "$1", giveaway terminated`, +} + +/** + * Throws a giveaways error in the console. + * @param type The error type to log. + * @param id The id of the referenced giveaway. + */ +export function throwGiveawaysError(type: GiveawaysErrorType, id: Snowflake) { + const message = type.replace(/\$(\d+)/g, () => id) + Logger.error(message) +} diff --git a/src/index.ts b/src/index.ts index c540a69..8e9418a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -6,6 +6,7 @@ import { Database } from "./structures" export interface IForgeGiveawaysOptions { events?: keyof IGiveawayEvents + useDefault?: boolean messages?: { start: string end: string @@ -24,9 +25,10 @@ export class ForgeGiveaways extends ForgeExtension { public readonly giveawaysManager = new GiveawaysManager(this, this.emitter) commands: GiveawaysCommandManager | null - public constructor (public readonly options?: IForgeGiveawaysOptions) { + public constructor (public readonly options: IForgeGiveawaysOptions = {}) { super() this.commands = null + this.options.useDefault ??= true } public async init(client: ForgeClient) { @@ -37,7 +39,7 @@ export class ForgeGiveaways extends ForgeExtension { new GiveawaysInteractionManager(client) - if (this.options?.events?.length) { + if (this.options.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events) } diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 0536cc1..8167a05 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -3,6 +3,7 @@ import { Compiler, Context, Interpreter } from "@tryforge/forgescript" import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" import { Database, Giveaway, IGiveawayRequirements } from "../structures" +import { GiveawaysErrorType, throwGiveawaysError } from "../functions/error" import { IGiveawayEvents } from "./GiveawaysEventManager" import { ForgeGiveaways } from ".." @@ -34,17 +35,7 @@ export class GiveawaysManager { const giveaway = new Giveaway(options) const chan = ctx.client.channels.cache.get(giveaway.channelID) as TextChannel | undefined - if (this.client.options?.messages?.start) { - const result = await Interpreter.run({ - ...ctx.runtime, - environment: { giveaway }, - data: Compiler.compile(this.client.options?.messages?.start), - doNotSend: true, - }) - - const res = result?.trim() - giveaway.messageID = (res && chan?.messages.cache.get(res) ? res : undefined) - } else { + if (this.client.options.useDefault) { const embed = new EmbedBuilder() .setTitle("🎉 GIVEAWAY 🎉") .setDescription(`**Prize:** ${giveaway.prize}\n**Winners:** ${giveaway.winnersCount}`) @@ -67,7 +58,12 @@ export class GiveawaysManager { components: [comps.toJSON()] }).catch(ctx.noop) - giveaway.messageID = msg?.id + if (!msg) { + throwGiveawaysError(GiveawaysErrorType.MessageNotFound, giveaway.id) + return + } + + giveaway.messageID = msg.id } await Database.set(giveaway).catch(ctx.noop) diff --git a/src/native/manage/setRequiredRoles.ts b/src/native/manage/addRequiredRoles.ts similarity index 62% rename from src/native/manage/setRequiredRoles.ts rename to src/native/manage/addRequiredRoles.ts index 23be4cd..5f8f4ab 100644 --- a/src/native/manage/setRequiredRoles.ts +++ b/src/native/manage/addRequiredRoles.ts @@ -1,9 +1,10 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" export default new NativeFunction({ - name: "$setRequiredRoles", + name: "$addRequiredRoles", version: "1.0.0", - description: "Sets the required roles for current giveaway", + description: "Adds required roles to the current giveaway", + aliases: ["$addRequiredRole"], unwrap: true, brackets: true, args: [ @@ -17,7 +18,11 @@ export default new NativeFunction({ ], execute(ctx, [roles]) { ctx.requirements ??= {} - ctx.requirements.requiredRoles = roles + + const set = new Set(ctx.requirements.requiredRoles) + for (const role of roles) set.add(role) + + ctx.requirements.requiredRoles = [...set] return this.success() } }) \ No newline at end of file diff --git a/src/native/manage/setRestrictedMembers.ts b/src/native/manage/addRestrictedMembers.ts similarity index 59% rename from src/native/manage/setRestrictedMembers.ts rename to src/native/manage/addRestrictedMembers.ts index 2415969..953c310 100644 --- a/src/native/manage/setRestrictedMembers.ts +++ b/src/native/manage/addRestrictedMembers.ts @@ -1,9 +1,10 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" export default new NativeFunction({ - name: "$setRestrictedMembers", + name: "$addRestrictedMembers", version: "1.0.0", - description: "Sets the restricted members for current giveaway", + description: "Adds restricted members to the current giveaway", + aliases: ["$addRestrictedMember"], unwrap: true, brackets: true, args: [ @@ -17,7 +18,11 @@ export default new NativeFunction({ ], execute(ctx, [members]) { ctx.requirements ??= {} - ctx.requirements.restrictedMembers = members.map((x) => x.id) + + const set = new Set(ctx.requirements.restrictedMembers) + for (const member of members) set.add(member.id) + + ctx.requirements.restrictedMembers = [...set] return this.success() } }) \ No newline at end of file diff --git a/src/native/manage/setRestrictedRoles.ts b/src/native/manage/addRestrictedRoles.ts similarity index 60% rename from src/native/manage/setRestrictedRoles.ts rename to src/native/manage/addRestrictedRoles.ts index d86f44c..aecd3c8 100644 --- a/src/native/manage/setRestrictedRoles.ts +++ b/src/native/manage/addRestrictedRoles.ts @@ -1,9 +1,10 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" export default new NativeFunction({ - name: "$setRestrictedRoles", + name: "$addRestrictedRoles", version: "1.0.0", - description: "Sets the restricted roles for current giveaway", + description: "Adds restricted roles to the current giveaway", + aliases: ["$addRestrictedRole"], unwrap: true, brackets: true, args: [ @@ -17,7 +18,11 @@ export default new NativeFunction({ ], execute(ctx, [roles]) { ctx.requirements ??= {} - ctx.requirements.restrictedRoles = roles + + const set = new Set(ctx.requirements.restrictedRoles) + for (const role of roles) set.add(role) + + ctx.requirements.restrictedRoles = [...set] return this.success() } }) \ No newline at end of file diff --git a/src/native/manage/startGiveaway.ts b/src/native/manage/startGiveaway.ts index 43256c7..50a63e2 100644 --- a/src/native/manage/startGiveaway.ts +++ b/src/native/manage/startGiveaway.ts @@ -61,6 +61,6 @@ export default new NativeFunction({ requirements: ctx.requirements }) - return this.success(giveaway.id) + return this.success(giveaway?.id) } }) \ No newline at end of file diff --git a/src/properties/giveaway.ts b/src/properties/giveaway.ts index 7f54909..a12fb1d 100644 --- a/src/properties/giveaway.ts +++ b/src/properties/giveaway.ts @@ -5,6 +5,7 @@ export enum GiveawayProperty { id = "id", prize = "prize", duration = "duration", + timestamp = "timestamp", winnersCount = "winnersCount", hasEnded = "hasEnded", hostID = "hostID", @@ -22,6 +23,7 @@ export const GiveawayProperties = defineProperties i?.id, prize: (i) => i?.prize, duration: (i) => i?.duration, + timestamp: (i) => i?.timestamp, winnersCount: (i) => i?.winnersCount, hasEnded: (i) => i?.hasEnded, hostID: (i) => i?.hostID, diff --git a/src/structures/Database.ts b/src/structures/Database.ts index 9c07d24..98dc5f6 100644 --- a/src/structures/Database.ts +++ b/src/structures/Database.ts @@ -8,7 +8,7 @@ import { Giveaway, MongoGiveaway } from "./Giveaway" export type AnyGiveaway = typeof Giveaway | typeof MongoGiveaway export class Database extends GiveawaysDatabaseManager { - public database = "giveaway.db" + public database = "giveaways.db" public entityManager = { sqlite: [Giveaway], From 1c579e38325e467ff02a49015ab5cc57cd72e2f5 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 01:15:19 +0200 Subject: [PATCH 49/87] Better error messages --- dist/functions/error.d.ts.map | 2 +- dist/functions/error.js | 3 ++- dist/functions/error.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/functions/error.ts | 5 +++-- 6 files changed, 13 insertions(+), 11 deletions(-) diff --git a/dist/functions/error.d.ts.map b/dist/functions/error.d.ts.map index d08194f..95f0f45 100644 --- a/dist/functions/error.d.ts.map +++ b/dist/functions/error.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,oBAAY,kBAAkB;IAC1B,eAAe,uFAAqF;CACvG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,QAG1E"} \ No newline at end of file +{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,oBAAY,kBAAkB;IAC1B,eAAe,uFAAqF;CACvG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,QAI1E"} \ No newline at end of file diff --git a/dist/functions/error.js b/dist/functions/error.js index e98d3bb..96244c2 100644 --- a/dist/functions/error.js +++ b/dist/functions/error.js @@ -13,7 +13,8 @@ var GiveawaysErrorType; * @param id The id of the referenced giveaway. */ function throwGiveawaysError(type, id) { + const key = Object.keys(GiveawaysErrorType).find((x) => GiveawaysErrorType[x] === type); const message = type.replace(/\$(\d+)/g, () => id); - forgescript_1.Logger.error(message); + forgescript_1.Logger.error(`[ForgeGiveaways] ${key}: ${message}`); } //# sourceMappingURL=error.js.map \ No newline at end of file diff --git a/dist/functions/error.js.map b/dist/functions/error.js.map index e41ded7..5dad3c2 100644 --- a/dist/functions/error.js.map +++ b/dist/functions/error.js.map @@ -1 +1 @@ -{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":";;;AAYA,kDAGC;AAfD,uDAA8C;AAG9C,IAAY,kBAEX;AAFD,WAAY,kBAAkB;IAC1B,4HAAoG,CAAA;AACxG,CAAC,EAFW,kBAAkB,kCAAlB,kBAAkB,QAE7B;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAwB,EAAE,EAAa;IACvE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAClD,oBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AACzB,CAAC"} \ No newline at end of file +{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":";;;AAYA,kDAIC;AAhBD,uDAA8C;AAG9C,IAAY,kBAEX;AAFD,WAAY,kBAAkB;IAC1B,4HAAoG,CAAA;AACxG,CAAC,EAFW,kBAAkB,kCAAlB,kBAAkB,QAE7B;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAwB,EAAE,EAAa;IACvE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAoC,CAAC,KAAK,IAAI,CAAC,CAAA;IAC1H,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAClD,oBAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,OAAO,EAAE,CAAC,CAAA;AACvD,CAAC"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 7369fd8..001c3f5 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 39ba71a..c9870c6 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,4 +1,4 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
diff --git a/src/functions/error.ts b/src/functions/error.ts index bf2934d..7af5211 100644 --- a/src/functions/error.ts +++ b/src/functions/error.ts @@ -11,6 +11,7 @@ export enum GiveawaysErrorType { * @param id The id of the referenced giveaway. */ export function throwGiveawaysError(type: GiveawaysErrorType, id: Snowflake) { + const key = Object.keys(GiveawaysErrorType).find((x) => GiveawaysErrorType[x as keyof typeof GiveawaysErrorType] === type) const message = type.replace(/\$(\d+)/g, () => id) - Logger.error(message) -} + Logger.error(`[ForgeGiveaways] ${key}: ${message}`) +} \ No newline at end of file From b7697b8c080d0944535edc3a999e113862b46574 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 01:27:48 +0200 Subject: [PATCH 50/87] Possible fix --- dist/events/giveawayStart.d.ts.map | 2 +- dist/events/giveawayStart.js | 6 ++++-- dist/events/giveawayStart.js.map | 2 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 10 +--------- dist/managers/GiveawaysManager.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/events/giveawayStart.ts | 6 ++++-- src/managers/GiveawaysManager.ts | 9 +-------- 10 files changed, 20 insertions(+), 31 deletions(-) diff --git a/dist/events/giveawayStart.d.ts.map b/dist/events/giveawayStart.d.ts.map index 3db4072..a02d3b7 100644 --- a/dist/events/giveawayStart.d.ts.map +++ b/dist/events/giveawayStart.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAMzE,wBAyCE"} \ No newline at end of file +{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAMzE,wBA2CE"} \ No newline at end of file diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index 47798b0..55ef841 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -28,9 +28,11 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ const result = await forgescript_1.Interpreter.run(ctx); if (client.options.useDefault === false) { const res = result?.trim(); + console.log(res); const chan = this.channels.cache.get(gw.channelID); - const msg = res ? chan?.messages.cache.get(res) : undefined; - if (!res || !msg) { + const msg = res ? await chan?.messages.fetch(res).catch(ctx.noop) : undefined; + console.log(msg); + if (!msg) { (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotFound, gw.id); await structures_1.Database.delete(gw.id); continue; diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index 701226d..b1ce047 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,8CAA4E;AAC5E,8CAAiD;AACjD,0BAAmC;AAGnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEtD,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;oBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAA;oBAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;oBAE3D,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACf,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC9D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC5B,SAAQ;oBACZ,CAAC;oBAED,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,8CAA4E;AAC5E,8CAAiD;AACjD,0BAAmC;AAGnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEtD,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;oBAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAA;oBAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;oBAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAEhB,IAAI,CAAC,GAAG,EAAE,CAAC;wBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC9D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC5B,SAAQ;oBACZ,CAAC;oBAED,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 56f025e..2147e5c 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBADE,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAKnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA0C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAuD5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAsB/C,OAAO,CAAC,YAAY;YAKN,iBAAiB;CAUlC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBADE,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAKnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA0C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAgD5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAsB/C,OAAO,CAAC,YAAY;YAKN,iBAAiB;CAUlC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index aa51237..2125a1c 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -66,15 +66,7 @@ class GiveawaysManager { }); const winners = this._pickWinners(eligibleEntries, giveaway.winnersCount); giveaway.winners = winners; - if (this.client.options?.messages?.end) { - await forgescript_1.Interpreter.run({ - ...ctx.runtime, - environment: { giveaway }, - data: forgescript_1.Compiler.compile(this.client.options?.messages?.end), - doNotSend: true, - }); - } - else { + if (this.client.options.useDefault) { const chan = ctx.client.channels.cache.get(giveaway.channelID); const msg = giveaway.messageID ? await chan?.messages.fetch(giveaway.messageID).catch(ctx.noop) : undefined; if (msg) { diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 2b81e69..84ba09f 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 001c3f5..a0add44 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index c9870c6..695dbf1 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,4 +1,4 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index bfc0486..c98f725 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -31,10 +31,12 @@ export default new GiveawaysEventHandler({ if (client.options.useDefault === false) { const res = result?.trim() + console.log(res) const chan = this.channels.cache.get(gw.channelID) as TextChannel | undefined - const msg = res ? chan?.messages.cache.get(res) : undefined + const msg = res ? await chan?.messages.fetch(res).catch(ctx.noop) : undefined + console.log(msg) - if (!res || !msg) { + if (!msg) { throwGiveawaysError(GiveawaysErrorType.MessageNotFound, gw.id) await Database.delete(gw.id) continue diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 8167a05..78499e2 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -92,14 +92,7 @@ export class GiveawaysManager { const winners = this._pickWinners(eligibleEntries, giveaway.winnersCount) giveaway.winners = winners - if (this.client.options?.messages?.end) { - await Interpreter.run({ - ...ctx.runtime, - environment: { giveaway }, - data: Compiler.compile(this.client.options?.messages?.end), - doNotSend: true, - }) - } else { + if (this.client.options.useDefault) { const chan = ctx.client.channels.cache.get(giveaway.channelID) as TextChannel | undefined const msg = giveaway.messageID ? await chan?.messages.fetch(giveaway.messageID).catch(ctx.noop) : undefined From c6b8c85c5ffa3d7a4dd195d5e539bbad7c18676d Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 01:35:49 +0200 Subject: [PATCH 51/87] Test --- dist/events/giveawayStart.d.ts.map | 2 +- dist/events/giveawayStart.js | 1 + dist/events/giveawayStart.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/events/giveawayStart.ts | 1 + 6 files changed, 10 insertions(+), 8 deletions(-) diff --git a/dist/events/giveawayStart.d.ts.map b/dist/events/giveawayStart.d.ts.map index a02d3b7..323158b 100644 --- a/dist/events/giveawayStart.d.ts.map +++ b/dist/events/giveawayStart.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAMzE,wBA2CE"} \ No newline at end of file +{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAMzE,wBA4CE"} \ No newline at end of file diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index 55ef841..881ee7e 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -24,6 +24,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ } }, data: command.compiled.code, + doNotSend: true, }); const result = await forgescript_1.Interpreter.run(ctx); if (client.options.useDefault === false) { diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index b1ce047..f198620 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,8CAA4E;AAC5E,8CAAiD;AACjD,0BAAmC;AAGnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEtD,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;oBAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAA;oBAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;oBAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAEhB,IAAI,CAAC,GAAG,EAAE,CAAC;wBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC9D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC5B,SAAQ;oBACZ,CAAC;oBAED,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,8CAA4E;AAC5E,8CAAiD;AACjD,0BAAmC;AAGnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEtD,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC3B,SAAS,EAAE,IAAI;iBAClB,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;oBAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAA;oBAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;oBAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAEhB,IAAI,CAAC,GAAG,EAAE,CAAC;wBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC9D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC5B,SAAQ;oBACZ,CAAC;oBAED,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index a0add44..f444027 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 695dbf1..9e9b123 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,4 +1,4 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index c98f725..eff6975 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -25,6 +25,7 @@ export default new GiveawaysEventHandler({ } }, data: command.compiled.code, + doNotSend: true, }) const result = await Interpreter.run(ctx) From bef5b7181336ff53ca21708ccdf4a41ad1153e7b Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 01:40:05 +0200 Subject: [PATCH 52/87] Test --- dist/events/giveawayStart.js | 2 +- dist/events/giveawayStart.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/events/giveawayStart.ts | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index 881ee7e..88b39cc 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -24,7 +24,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ } }, data: command.compiled.code, - doNotSend: true, + allowTopLevelReturn: true }); const result = await forgescript_1.Interpreter.run(ctx); if (client.options.useDefault === false) { diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index f198620..133b7f1 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,8CAA4E;AAC5E,8CAAiD;AACjD,0BAAmC;AAGnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEtD,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC3B,SAAS,EAAE,IAAI;iBAClB,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;oBAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAA;oBAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;oBAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAEhB,IAAI,CAAC,GAAG,EAAE,CAAC;wBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC9D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC5B,SAAQ;oBACZ,CAAC;oBAED,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,8CAA4E;AAC5E,8CAAiD;AACjD,0BAAmC;AAGnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEtD,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC3B,mBAAmB,EAAE,IAAI;iBAC5B,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;oBAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAA;oBAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;oBAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAEhB,IAAI,CAAC,GAAG,EAAE,CAAC;wBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC9D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC5B,SAAQ;oBACZ,CAAC;oBAED,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index f444027..2b09195 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 9e9b123..cf8aa8a 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,4 +1,4 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index eff6975..a70aeb0 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -25,7 +25,7 @@ export default new GiveawaysEventHandler({ } }, data: command.compiled.code, - doNotSend: true, + allowTopLevelReturn: true }) const result = await Interpreter.run(ctx) From bc9c8cbb68056c1ff6793b4ab44ffa224bcdd3a2 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 02:09:49 +0200 Subject: [PATCH 53/87] Small fixes --- dist/managers/GiveawaysManager.d.ts | 1 - dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 11 ----------- dist/managers/GiveawaysManager.js.map | 2 +- dist/native/giveawayChannelID.js | 2 +- dist/native/giveawayChannelID.js.map | 2 +- dist/native/giveawayDuration.js | 2 +- dist/native/giveawayDuration.js.map | 2 +- dist/native/giveawayEntries.js | 2 +- dist/native/giveawayEntries.js.map | 2 +- dist/native/giveawayGuildID.js | 2 +- dist/native/giveawayGuildID.js.map | 2 +- dist/native/giveawayHasEnded.js | 2 +- dist/native/giveawayHasEnded.js.map | 2 +- dist/native/giveawayHostID.js | 2 +- dist/native/giveawayHostID.js.map | 2 +- dist/native/giveawayMessageID.js | 2 +- dist/native/giveawayMessageID.js.map | 2 +- dist/native/giveawayPrize.js | 2 +- dist/native/giveawayPrize.js.map | 2 +- dist/native/giveawayRequiredRoles.js | 2 +- dist/native/giveawayRequiredRoles.js.map | 2 +- dist/native/giveawayRestrictedMembers.js | 2 +- dist/native/giveawayRestrictedMembers.js.map | 2 +- dist/native/giveawayRestrictedRoles.js | 2 +- dist/native/giveawayRestrictedRoles.js.map | 2 +- dist/native/giveawayTimestamp.js | 2 +- dist/native/giveawayTimestamp.js.map | 2 +- dist/native/giveawayWinners.js | 2 +- dist/native/giveawayWinners.js.map | 2 +- dist/native/giveawayWinnersCount.js | 2 +- dist/native/giveawayWinnersCount.js.map | 2 +- dist/structures/Database.d.ts | 10 +++++----- dist/structures/Database.d.ts.map | 2 +- dist/structures/Database.js | 14 +++++++------- dist/structures/Database.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/managers/GiveawaysManager.ts | 15 +-------------- src/native/giveawayChannelID.ts | 2 +- src/native/giveawayDuration.ts | 2 +- src/native/giveawayEntries.ts | 2 +- src/native/giveawayGuildID.ts | 2 +- src/native/giveawayHasEnded.ts | 2 +- src/native/giveawayHostID.ts | 2 +- src/native/giveawayMessageID.ts | 2 +- src/native/giveawayPrize.ts | 2 +- src/native/giveawayRequiredRoles.ts | 2 +- src/native/giveawayRestrictedMembers.ts | 2 +- src/native/giveawayRestrictedRoles.ts | 2 +- src/native/giveawayTimestamp.ts | 2 +- src/native/giveawayWinners.ts | 2 +- src/native/giveawayWinnersCount.ts | 2 +- src/structures/Database.ts | 16 ++++++++-------- 54 files changed, 73 insertions(+), 98 deletions(-) diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index ddd51bd..0bb4106 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -40,6 +40,5 @@ export declare class GiveawaysManager { */ reroll(ctx: Context, id: Snowflake): Promise; private _pickWinners; - private _restoreGiveaways; } //# sourceMappingURL=GiveawaysManager.d.ts.map \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 2147e5c..961886b 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBADE,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAKnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA0C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAgD5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAsB/C,OAAO,CAAC,YAAY;YAKN,iBAAiB;CAUlC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBADE,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA0C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAgD5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAsB/C,OAAO,CAAC,YAAY;CAIvB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 2125a1c..a4600b8 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -11,7 +11,6 @@ class GiveawaysManager { constructor(client, emitter) { this.client = client; this.emitter = emitter; - this._restoreGiveaways(); } /** * Starts a new giveaway on a guild. @@ -123,16 +122,6 @@ class GiveawaysManager { const shuffled = entries.sort(() => Math.random() - 0.5); return shuffled.slice(0, amount); } - async _restoreGiveaways() { - const giveaways = await structures_1.Database.getAll(); - if (!giveaways) - return; - for (const giveaway of giveaways) { - if (Date.now() > (giveaway.timestamp + giveaway.duration)) { - // some stuff - } - } - } } exports.GiveawaysManager = GiveawaysManager; //# sourceMappingURL=GiveawaysManager.js.map \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 84ba09f..1073f75 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/native/giveawayChannelID.js b/dist/native/giveawayChannelID.js index 6625926..2530bce 100644 --- a/dist/native/giveawayChannelID.js +++ b/dist/native/giveawayChannelID.js @@ -19,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Channel, async execute(ctx, [id]) { - const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; + const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; return this.success(giveaway?.channelID); } }); diff --git a/dist/native/giveawayChannelID.js.map b/dist/native/giveawayChannelID.js.map index ceb078b..7e0227c 100644 --- a/dist/native/giveawayChannelID.js.map +++ b/dist/native/giveawayChannelID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayChannelID.js","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayChannelID.js","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayDuration.js b/dist/native/giveawayDuration.js index bf733bb..9aaac3d 100644 --- a/dist/native/giveawayDuration.js +++ b/dist/native/giveawayDuration.js @@ -19,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Number, async execute(ctx, [id]) { - const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; + const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; return this.success(giveaway?.duration); } }); diff --git a/dist/native/giveawayDuration.js.map b/dist/native/giveawayDuration.js.map index 257ae52..abb83ed 100644 --- a/dist/native/giveawayDuration.js.map +++ b/dist/native/giveawayDuration.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayDuration.js","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,0CAA0C;IACvD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayDuration.js","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,0CAA0C;IACvD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayEntries.js b/dist/native/giveawayEntries.js index 91a25e9..521f743 100644 --- a/dist/native/giveawayEntries.js +++ b/dist/native/giveawayEntries.js @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), async execute(ctx, [id, sep]) { - const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; + const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; return this.success(giveaway?.entries.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayEntries.js.map b/dist/native/giveawayEntries.js.map index 6ef1e34..1487021 100644 --- a/dist/native/giveawayEntries.js.map +++ b/dist/native/giveawayEntries.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntries.js","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntries.js","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayGuildID.js b/dist/native/giveawayGuildID.js index 20071ce..2e59029 100644 --- a/dist/native/giveawayGuildID.js +++ b/dist/native/giveawayGuildID.js @@ -19,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Guild, async execute(ctx, [id]) { - const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; + const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; return this.success(giveaway?.guildID); } }); diff --git a/dist/native/giveawayGuildID.js.map b/dist/native/giveawayGuildID.js.map index 9202c83..cdaab84 100644 --- a/dist/native/giveawayGuildID.js.map +++ b/dist/native/giveawayGuildID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayGuildID.js","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,KAAK;IACrB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayGuildID.js","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,KAAK;IACrB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayHasEnded.js b/dist/native/giveawayHasEnded.js index 86558dd..e647461 100644 --- a/dist/native/giveawayHasEnded.js +++ b/dist/native/giveawayHasEnded.js @@ -19,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Boolean, async execute(ctx, [id]) { - const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; + const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; return this.success(giveaway?.hasEnded); } }); diff --git a/dist/native/giveawayHasEnded.js.map b/dist/native/giveawayHasEnded.js.map index 7d41a11..46eae95 100644 --- a/dist/native/giveawayHasEnded.js.map +++ b/dist/native/giveawayHasEnded.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayHasEnded.js","sourceRoot":"","sources":["../../src/native/giveawayHasEnded.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayHasEnded.js","sourceRoot":"","sources":["../../src/native/giveawayHasEnded.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayHostID.js b/dist/native/giveawayHostID.js index e0c28c1..a261887 100644 --- a/dist/native/giveawayHostID.js +++ b/dist/native/giveawayHostID.js @@ -19,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.User, async execute(ctx, [id]) { - const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; + const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; return this.success(giveaway?.hostID); } }); diff --git a/dist/native/giveawayHostID.js.map b/dist/native/giveawayHostID.js.map index a754627..64d7192 100644 --- a/dist/native/giveawayHostID.js.map +++ b/dist/native/giveawayHostID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayHostID.js","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayHostID.js","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayMessageID.js b/dist/native/giveawayMessageID.js index f9b5b83..7d2d90e 100644 --- a/dist/native/giveawayMessageID.js +++ b/dist/native/giveawayMessageID.js @@ -19,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Message, async execute(ctx, [id]) { - const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; + const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; return this.success(giveaway?.messageID); } }); diff --git a/dist/native/giveawayMessageID.js.map b/dist/native/giveawayMessageID.js.map index 40b2e9b..dfa6a42 100644 --- a/dist/native/giveawayMessageID.js.map +++ b/dist/native/giveawayMessageID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayMessageID.js","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayMessageID.js","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayPrize.js b/dist/native/giveawayPrize.js index 725570a..c57e864 100644 --- a/dist/native/giveawayPrize.js +++ b/dist/native/giveawayPrize.js @@ -19,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.String, async execute(ctx, [id]) { - const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; + const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; return this.success(giveaway?.prize); } }); diff --git a/dist/native/giveawayPrize.js.map b/dist/native/giveawayPrize.js.map index abb3595..d7bef34 100644 --- a/dist/native/giveawayPrize.js.map +++ b/dist/native/giveawayPrize.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayPrize.js","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,iCAAiC;IAC9C,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayPrize.js","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,iCAAiC;IAC9C,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRequiredRoles.js b/dist/native/giveawayRequiredRoles.js index fadadf8..37beab4 100644 --- a/dist/native/giveawayRequiredRoles.js +++ b/dist/native/giveawayRequiredRoles.js @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), async execute(ctx, [id, sep]) { - const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; + const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; return this.success(giveaway?.requirements?.requiredRoles?.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayRequiredRoles.js.map b/dist/native/giveawayRequiredRoles.js.map index cc39775..cba689b 100644 --- a/dist/native/giveawayRequiredRoles.js.map +++ b/dist/native/giveawayRequiredRoles.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRequiredRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACjF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRequiredRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACjF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedMembers.js b/dist/native/giveawayRestrictedMembers.js index afe86e7..c3bbcd6 100644 --- a/dist/native/giveawayRestrictedMembers.js +++ b/dist/native/giveawayRestrictedMembers.js @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), async execute(ctx, [id, sep]) { - const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; + const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; return this.success(giveaway?.requirements?.restrictedMembers?.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayRestrictedMembers.js.map b/dist/native/giveawayRestrictedMembers.js.map index cbad6b0..47d4f28 100644 --- a/dist/native/giveawayRestrictedMembers.js.map +++ b/dist/native/giveawayRestrictedMembers.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRestrictedMembers.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAkB;IAC/B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRestrictedMembers.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAkB;IAC/B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedRoles.js b/dist/native/giveawayRestrictedRoles.js index b578374..fcd5470 100644 --- a/dist/native/giveawayRestrictedRoles.js +++ b/dist/native/giveawayRestrictedRoles.js @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), async execute(ctx, [id, sep]) { - const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; + const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; return this.success(giveaway?.requirements?.restrictedRoles?.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayRestrictedRoles.js.map b/dist/native/giveawayRestrictedRoles.js.map index 7ebdba2..59521ca 100644 --- a/dist/native/giveawayRestrictedRoles.js.map +++ b/dist/native/giveawayRestrictedRoles.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRestrictedRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACnF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRestrictedRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACnF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayTimestamp.js b/dist/native/giveawayTimestamp.js index 790cadc..fe9120f 100644 --- a/dist/native/giveawayTimestamp.js +++ b/dist/native/giveawayTimestamp.js @@ -19,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Number, async execute(ctx, [id]) { - const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; + const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; return this.success(giveaway?.timestamp); } }); diff --git a/dist/native/giveawayTimestamp.js.map b/dist/native/giveawayTimestamp.js.map index f9b006a..2a5fe0b 100644 --- a/dist/native/giveawayTimestamp.js.map +++ b/dist/native/giveawayTimestamp.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayTimestamp.js","sourceRoot":"","sources":["../../src/native/giveawayTimestamp.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mDAAmD;IAChE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayTimestamp.js","sourceRoot":"","sources":["../../src/native/giveawayTimestamp.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mDAAmD;IAChE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinners.js b/dist/native/giveawayWinners.js index 036452c..2902258 100644 --- a/dist/native/giveawayWinners.js +++ b/dist/native/giveawayWinners.js @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), async execute(ctx, [id, sep]) { - const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; + const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; return this.success(giveaway?.winners.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayWinners.js.map b/dist/native/giveawayWinners.js.map index cd6d9a5..8559ae6 100644 --- a/dist/native/giveawayWinners.js.map +++ b/dist/native/giveawayWinners.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayWinners.js","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayWinners.js","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinnersCount.js b/dist/native/giveawayWinnersCount.js index accecf5..0b50b7b 100644 --- a/dist/native/giveawayWinnersCount.js +++ b/dist/native/giveawayWinnersCount.js @@ -19,7 +19,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Number, async execute(ctx, [id]) { - const giveaway = await structures_1.Database.get(id) ?? ctx.giveaway; + const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; return this.success(giveaway?.winnersCount); } }); diff --git a/dist/native/giveawayWinnersCount.js.map b/dist/native/giveawayWinnersCount.js.map index 1edc2cf..510cde6 100644 --- a/dist/native/giveawayWinnersCount.js.map +++ b/dist/native/giveawayWinnersCount.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayWinnersCount.js","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayWinnersCount.js","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/structures/Database.d.ts b/dist/structures/Database.d.ts index c60c31b..13158d3 100644 --- a/dist/structures/Database.d.ts +++ b/dist/structures/Database.d.ts @@ -15,7 +15,7 @@ export declare class Database extends GiveawaysDatabaseManager { }; private static entities; private db; - private static db?; + private static db; private static emitter; constructor(emitter: TypedEmitter>); init(): Promise; @@ -24,12 +24,12 @@ export declare class Database extends GiveawaysDatabaseManager { * @param id The id of the giveaway to get. * @returns */ - static get(id: Snowflake): Promise; + static get(id: Snowflake): Promise; /** * Gets all existing giveaways. * @returns */ - static getAll(): Promise; + static getAll(): Promise; /** * Saves a giveaway in the database. * @param data The giveaway data to save. @@ -40,11 +40,11 @@ export declare class Database extends GiveawaysDatabaseManager { * @param id The id of the giveaway to delete. * @returns */ - static delete(id: Snowflake): Promise; + static delete(id: Snowflake): Promise; /** * Wipes the entire database. * @returns */ - static wipe(): Promise; + static wipe(): Promise; } //# sourceMappingURL=Database.d.ts.map \ No newline at end of file diff --git a/dist/structures/Database.d.ts.map b/dist/structures/Database.d.ts.map index 04b0aa0..a93262d 100644 --- a/dist/structures/Database.d.ts.map +++ b/dist/structures/Database.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;AAEhE,qBAAa,QAAS,SAAQ,wBAAwB;IAkBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjB7B,QAAQ,SAAiB;IAEzB,aAAa;;;;;MAKnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAEtB;IAED,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAY;IAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAgD;gBAEzC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IASvE,IAAI;IAMjB;;;;OAIG;WACiB,GAAG,CAAC,EAAE,EAAE,SAAS;IAIrC;;;OAGG;WACiB,MAAM;IAI1B;;;OAGG;WACiB,GAAG,CAAC,IAAI,EAAE,QAAQ;IAWtC;;;;OAIG;WACiB,MAAM,CAAC,EAAE,EAAE,SAAS;IAIxC;;;OAGG;WACiB,IAAI;CAG3B"} \ No newline at end of file +{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;AAEhE,qBAAa,QAAS,SAAQ,wBAAwB;IAkBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjB7B,QAAQ,SAAiB;IAEzB,aAAa;;;;;MAKnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAEtB;IAED,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAgD;gBAEzC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IASvE,IAAI;IAMjB;;;;OAIG;WACiB,GAAG,CAAC,EAAE,EAAE,SAAS;IAIrC;;;OAGG;WACiB,MAAM;IAI1B;;;OAGG;WACiB,GAAG,CAAC,IAAI,EAAE,QAAQ;IAWtC;;;;OAIG;WACiB,MAAM,CAAC,EAAE,EAAE,SAAS;IAIxC;;;OAGG;WACiB,IAAI;CAG3B"} \ No newline at end of file diff --git a/dist/structures/Database.js b/dist/structures/Database.js index 5ab142a..e55ac26 100644 --- a/dist/structures/Database.js +++ b/dist/structures/Database.js @@ -36,14 +36,14 @@ class Database extends managers_1.GiveawaysDatabaseManager { * @returns */ static async get(id) { - return await this.db?.getRepository(Database.entities.Giveaway).findOneBy({ id }); + return await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id }); } /** * Gets all existing giveaways. * @returns */ static async getAll() { - return await this.db?.getRepository(Database.entities.Giveaway).find(); + return await this.db.getRepository(Database.entities.Giveaway).find(); } /** * Saves a giveaway in the database. @@ -51,12 +51,12 @@ class Database extends managers_1.GiveawaysDatabaseManager { */ static async set(data) { const newData = new this.entities.Giveaway(data); - const oldData = await this.db?.getRepository(Database.entities.Giveaway).findOneBy({ id: data.id }); + const oldData = await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id: data.id }); if (oldData && this.type === "mongodb") { - await this.db?.getRepository(Database.entities.Giveaway).update(oldData.id, data); + await this.db.getRepository(Database.entities.Giveaway).update(oldData.id, data); } else { - await this.db?.getRepository(Database.entities.Giveaway).save(data); + await this.db.getRepository(Database.entities.Giveaway).save(data); } } /** @@ -65,14 +65,14 @@ class Database extends managers_1.GiveawaysDatabaseManager { * @returns */ static async delete(id) { - return await this.db?.getRepository(Database.entities.Giveaway).delete({ id }); + return await this.db.getRepository(Database.entities.Giveaway).delete({ id }); } /** * Wipes the entire database. * @returns */ static async wipe() { - return await this.db?.getRepository(Database.entities.Giveaway).clear(); + return await this.db.getRepository(Database.entities.Giveaway).clear(); } } exports.Database = Database; diff --git a/dist/structures/Database.js.map b/dist/structures/Database.js.map index 7f5712b..1a31d2a 100644 --- a/dist/structures/Database.js.map +++ b/dist/structures/Database.js.map @@ -1 +1 @@ -{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 2b09195..6f434b7 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index cf8aa8a..4880f6b 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,4 +1,4 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 78499e2..da8d0c3 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -21,9 +21,7 @@ export class GiveawaysManager { public constructor( private readonly client: ForgeGiveaways, private emitter: TypedEmitter> - ) { - this._restoreGiveaways() - } + ) {} /** * Starts a new giveaway on a guild. @@ -159,15 +157,4 @@ export class GiveawaysManager { const shuffled = entries.sort(() => Math.random() - 0.5) return shuffled.slice(0, amount) } - - private async _restoreGiveaways() { - const giveaways = await Database.getAll() - if (!giveaways) return - - for (const giveaway of giveaways) { - if (Date.now() > (giveaway.timestamp + giveaway.duration)) { - // some stuff - } - } - } } diff --git a/src/native/giveawayChannelID.ts b/src/native/giveawayChannelID.ts index 99734c4..3a6d6ee 100644 --- a/src/native/giveawayChannelID.ts +++ b/src/native/giveawayChannelID.ts @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Channel, async execute(ctx, [id]) { - const giveaway = await Database.get(id) ?? ctx.giveaway + const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway return this.success(giveaway?.channelID) } }) \ No newline at end of file diff --git a/src/native/giveawayDuration.ts b/src/native/giveawayDuration.ts index f80e170..983164e 100644 --- a/src/native/giveawayDuration.ts +++ b/src/native/giveawayDuration.ts @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Number, async execute(ctx, [id]) { - const giveaway = await Database.get(id) ?? ctx.giveaway + const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway return this.success(giveaway?.duration) } }) \ No newline at end of file diff --git a/src/native/giveawayEntries.ts b/src/native/giveawayEntries.ts index 47f2c7e..e3098f9 100644 --- a/src/native/giveawayEntries.ts +++ b/src/native/giveawayEntries.ts @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), async execute(ctx, [id, sep]) { - const giveaway = await Database.get(id) ?? ctx.giveaway + const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway return this.success(giveaway?.entries.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayGuildID.ts b/src/native/giveawayGuildID.ts index fa28030..2a71d4a 100644 --- a/src/native/giveawayGuildID.ts +++ b/src/native/giveawayGuildID.ts @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Guild, async execute(ctx, [id]) { - const giveaway = await Database.get(id) ?? ctx.giveaway + const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway return this.success(giveaway?.guildID) } }) \ No newline at end of file diff --git a/src/native/giveawayHasEnded.ts b/src/native/giveawayHasEnded.ts index 2999e6c..e433e8b 100644 --- a/src/native/giveawayHasEnded.ts +++ b/src/native/giveawayHasEnded.ts @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Boolean, async execute(ctx, [id]) { - const giveaway = await Database.get(id) ?? ctx.giveaway + const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway return this.success(giveaway?.hasEnded) } }) \ No newline at end of file diff --git a/src/native/giveawayHostID.ts b/src/native/giveawayHostID.ts index e01953a..85e15fa 100644 --- a/src/native/giveawayHostID.ts +++ b/src/native/giveawayHostID.ts @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.User, async execute(ctx, [id]) { - const giveaway = await Database.get(id) ?? ctx.giveaway + const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway return this.success(giveaway?.hostID) } }) \ No newline at end of file diff --git a/src/native/giveawayMessageID.ts b/src/native/giveawayMessageID.ts index 93d752d..ee5b606 100644 --- a/src/native/giveawayMessageID.ts +++ b/src/native/giveawayMessageID.ts @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Message, async execute(ctx, [id]) { - const giveaway = await Database.get(id) ?? ctx.giveaway + const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway return this.success(giveaway?.messageID) } }) \ No newline at end of file diff --git a/src/native/giveawayPrize.ts b/src/native/giveawayPrize.ts index 11bd1e1..b161d69 100644 --- a/src/native/giveawayPrize.ts +++ b/src/native/giveawayPrize.ts @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.String, async execute(ctx, [id]) { - const giveaway = await Database.get(id) ?? ctx.giveaway + const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway return this.success(giveaway?.prize) } }) \ No newline at end of file diff --git a/src/native/giveawayRequiredRoles.ts b/src/native/giveawayRequiredRoles.ts index ba2b504..19df9a1 100644 --- a/src/native/giveawayRequiredRoles.ts +++ b/src/native/giveawayRequiredRoles.ts @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), async execute(ctx, [id, sep]) { - const giveaway = await Database.get(id) ?? ctx.giveaway + const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway return this.success(giveaway?.requirements?.requiredRoles?.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayRestrictedMembers.ts b/src/native/giveawayRestrictedMembers.ts index c765584..9119c63 100644 --- a/src/native/giveawayRestrictedMembers.ts +++ b/src/native/giveawayRestrictedMembers.ts @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), async execute(ctx, [id, sep]) { - const giveaway = await Database.get(id) ?? ctx.giveaway + const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway return this.success(giveaway?.requirements?.restrictedMembers?.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayRestrictedRoles.ts b/src/native/giveawayRestrictedRoles.ts index c55a240..7452e45 100644 --- a/src/native/giveawayRestrictedRoles.ts +++ b/src/native/giveawayRestrictedRoles.ts @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), async execute(ctx, [id, sep]) { - const giveaway = await Database.get(id) ?? ctx.giveaway + const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway return this.success(giveaway?.requirements?.restrictedRoles?.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayTimestamp.ts b/src/native/giveawayTimestamp.ts index db6602b..30f6124 100644 --- a/src/native/giveawayTimestamp.ts +++ b/src/native/giveawayTimestamp.ts @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Number, async execute(ctx, [id]) { - const giveaway = await Database.get(id) ?? ctx.giveaway + const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway return this.success(giveaway?.timestamp) } }) \ No newline at end of file diff --git a/src/native/giveawayWinners.ts b/src/native/giveawayWinners.ts index e3f33e0..0c6cca0 100644 --- a/src/native/giveawayWinners.ts +++ b/src/native/giveawayWinners.ts @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), async execute(ctx, [id, sep]) { - const giveaway = await Database.get(id) ?? ctx.giveaway + const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway return this.success(giveaway?.winners.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayWinnersCount.ts b/src/native/giveawayWinnersCount.ts index 2bf5e91..fe2cd88 100644 --- a/src/native/giveawayWinnersCount.ts +++ b/src/native/giveawayWinnersCount.ts @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Number, async execute(ctx, [id]) { - const giveaway = await Database.get(id) ?? ctx.giveaway + const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway return this.success(giveaway?.winnersCount) } }) \ No newline at end of file diff --git a/src/structures/Database.ts b/src/structures/Database.ts index 98dc5f6..344934a 100644 --- a/src/structures/Database.ts +++ b/src/structures/Database.ts @@ -22,7 +22,7 @@ export class Database extends GiveawaysDatabaseManager { } private db: Promise - private static db?: DataSource + private static db: DataSource private static emitter: TypedEmitter> constructor(private readonly emitter: TypedEmitter>) { @@ -46,7 +46,7 @@ export class Database extends GiveawaysDatabaseManager { * @returns */ public static async get(id: Snowflake) { - return await this.db?.getRepository(Database.entities.Giveaway).findOneBy({ id }) + return await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id }) } /** @@ -54,7 +54,7 @@ export class Database extends GiveawaysDatabaseManager { * @returns */ public static async getAll() { - return await this.db?.getRepository(Database.entities.Giveaway).find() + return await this.db.getRepository(Database.entities.Giveaway).find() } /** @@ -63,12 +63,12 @@ export class Database extends GiveawaysDatabaseManager { */ public static async set(data: Giveaway) { const newData =new this.entities.Giveaway(data) - const oldData = await this.db?.getRepository(Database.entities.Giveaway).findOneBy({ id: data.id }) + const oldData = await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id: data.id }) if (oldData && this.type === "mongodb") { - await this.db?.getRepository(Database.entities.Giveaway).update(oldData.id, data) + await this.db.getRepository(Database.entities.Giveaway).update(oldData.id, data) } else { - await this.db?.getRepository(Database.entities.Giveaway).save(data) + await this.db.getRepository(Database.entities.Giveaway).save(data) } } @@ -78,7 +78,7 @@ export class Database extends GiveawaysDatabaseManager { * @returns */ public static async delete(id: Snowflake) { - return await this.db?.getRepository(Database.entities.Giveaway).delete({ id }) + return await this.db.getRepository(Database.entities.Giveaway).delete({ id }) } /** @@ -86,6 +86,6 @@ export class Database extends GiveawaysDatabaseManager { * @returns */ public static async wipe() { - return await this.db?.getRepository(Database.entities.Giveaway).clear() + return await this.db.getRepository(Database.entities.Giveaway).clear() } } \ No newline at end of file From 052fc62f6b46b5da9fe320d9d19bcecc291cdf33 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 03:07:53 +0200 Subject: [PATCH 54/87] Added giveaways restoring --- dist/index.d.ts | 4 +- dist/index.d.ts.map | 2 +- dist/index.js | 4 +- dist/index.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 12 +++-- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 44 +++++++++++------ dist/managers/GiveawaysManager.js.map | 2 +- dist/native/manage/endGiveaway.js | 2 +- dist/native/manage/endGiveaway.js.map | 2 +- dist/structures/Giveaway.d.ts | 5 ++ dist/structures/Giveaway.d.ts.map | 2 +- dist/structures/Giveaway.js | 7 +++ dist/structures/Giveaway.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++-- docs/interfaces/IForgeGiveawaysOptions.html | 4 +- src/index.ts | 6 +-- src/managers/GiveawaysManager.ts | 52 ++++++++++++++------- src/native/manage/endGiveaway.ts | 2 +- src/structures/Giveaway.ts | 8 ++++ 20 files changed, 115 insertions(+), 57 deletions(-) diff --git a/dist/index.d.ts b/dist/index.d.ts index fe9ae26..6e1a15b 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -18,8 +18,8 @@ export declare class ForgeGiveaways extends ForgeExtension { version: any; requireExtensions: string[]; emitter: TypedEmitter>; - readonly giveawaysManager: GiveawaysManager; - commands: GiveawaysCommandManager | null; + giveawaysManager: GiveawaysManager; + commands: GiveawaysCommandManager; constructor(options?: IForgeGiveawaysOptions); init(client: ForgeClient): Promise; } diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 7b7deab..fe3ade7 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAErE,SAAgB,gBAAgB,mBAA2C;IAC3E,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;gBAEJ,OAAO,GAAE,sBAA2B;IAM3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAcxC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAexC"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 5107c9f..ab61de6 100644 --- a/dist/index.js +++ b/dist/index.js @@ -12,12 +12,11 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { version = require("../package.json").version; requireExtensions = ["forge.db"]; emitter = new tiny_typed_emitter_1.TypedEmitter(); - giveawaysManager = new managers_1.GiveawaysManager(this, this.emitter); + giveawaysManager; commands; constructor(options = {}) { super(); this.options = options; - this.commands = null; this.options.useDefault ??= true; } async init(client) { @@ -29,6 +28,7 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { client.events.load("ForgeGiveawaysEvents", this.options.events); } await new structures_1.Database(this.emitter).init(); + this.giveawaysManager = new managers_1.GiveawaysManager(this, client, this.emitter); } } exports.ForgeGiveaways = ForgeGiveaways; diff --git a/dist/index.js.map b/dist/index.js.map index 12d7322..ad33a88 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAYvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAErD,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3E,QAAQ,CAAgC;IAExC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,CAAC;CACJ;AA/BD,wCA+BC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAYvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5E,CAAC;CACJ;AA/BD,wCA+BC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index 0bb4106..e76a818 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -1,7 +1,7 @@ import { Snowflake } from "discord.js"; -import { Context } from "@tryforge/forgescript"; -import { TypedEmitter } from "tiny-typed-emitter"; +import { Context, ForgeClient } from "@tryforge/forgescript"; import { TransformEvents } from "@tryforge/forge.db"; +import { TypedEmitter } from "tiny-typed-emitter"; import { Giveaway, IGiveawayRequirements } from "../structures"; import { IGiveawayEvents } from "./GiveawaysEventManager"; import { ForgeGiveaways } from ".."; @@ -15,9 +15,10 @@ export interface IGiveawayStartOptions { requirements?: IGiveawayRequirements; } export declare class GiveawaysManager { + private readonly giveaways; private readonly client; private emitter; - constructor(client: ForgeGiveaways, emitter: TypedEmitter>); + constructor(giveaways: ForgeGiveaways, client: ForgeClient, emitter: TypedEmitter>); /** * Starts a new giveaway on a guild. * @param ctx The current context. @@ -27,11 +28,11 @@ export declare class GiveawaysManager { start(ctx: Context, options: IGiveawayStartOptions): Promise; /** * Ends an existing giveaway. - * @param ctx The current context. * @param id The id of the giveaway to end. + * @param ctx The optional current context. * @returns */ - end(ctx: Context, id: Snowflake): Promise; + end(id: Snowflake, ctx?: Context): Promise; /** * Rerolls an existing giveaway. * @param ctx The current context. @@ -40,5 +41,6 @@ export declare class GiveawaysManager { */ reroll(ctx: Context, id: Snowflake): Promise; private _pickWinners; + private _checkGiveaways; } //# sourceMappingURL=GiveawaysManager.d.ts.map \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 961886b..b146c55 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAY,OAAO,EAAe,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBADE,MAAM,EAAE,cAAc,EAC/B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAGnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA0C/D;;;;;OAKG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAgD5C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAsB/C,OAAO,CAAC,YAAY;CAIvB"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAY,OAAO,EAAE,WAAW,EAAe,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBAFE,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW,EAC5B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAKnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA0C/D;;;;;OAKG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO;IAgD7C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAsB/C,OAAO,CAAC,YAAY;YAKN,eAAe;CAchC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index a4600b8..3ca71c8 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -6,11 +6,14 @@ const forgescript_1 = require("@tryforge/forgescript"); const structures_1 = require("../structures"); const error_1 = require("../functions/error"); class GiveawaysManager { + giveaways; client; emitter; - constructor(client, emitter) { + constructor(giveaways, client, emitter) { + this.giveaways = giveaways; this.client = client; this.emitter = emitter; + this._checkGiveaways(); } /** * Starts a new giveaway on a guild. @@ -21,7 +24,7 @@ class GiveawaysManager { async start(ctx, options) { const giveaway = new structures_1.Giveaway(options); const chan = ctx.client.channels.cache.get(giveaway.channelID); - if (this.client.options.useDefault) { + if (this.giveaways.options.useDefault) { const embed = new discord_js_1.EmbedBuilder() .setTitle("🎉 GIVEAWAY 🎉") .setDescription(`**Prize:** ${giveaway.prize}\n**Winners:** ${giveaway.winnersCount}`) @@ -44,30 +47,30 @@ class GiveawaysManager { } await structures_1.Database.set(giveaway).catch(ctx.noop); this.emitter.emit("giveawayStart", giveaway); - setTimeout(() => this.end(ctx, giveaway.id), giveaway.duration); + setTimeout(async () => await this.end(giveaway.id, ctx), giveaway.duration); return giveaway; } /** * Ends an existing giveaway. - * @param ctx The current context. * @param id The id of the giveaway to end. + * @param ctx The optional current context. * @returns */ - async end(ctx, id) { + async end(id, ctx) { const giveaway = await structures_1.Database.get(id); if (!giveaway || giveaway.hasEnded) return null; giveaway.hasEnded = true; - const guild = ctx.client.guilds.cache.get(giveaway.guildID); + const guild = this.client.guilds.cache.get(giveaway.guildID); const eligibleEntries = giveaway.entries.filter((e) => { const member = guild?.members.cache.get(e); return member && giveaway.canEnter(member); }); const winners = this._pickWinners(eligibleEntries, giveaway.winnersCount); giveaway.winners = winners; - if (this.client.options.useDefault) { - const chan = ctx.client.channels.cache.get(giveaway.channelID); - const msg = giveaway.messageID ? await chan?.messages.fetch(giveaway.messageID).catch(ctx.noop) : undefined; + if (this.giveaways.options.useDefault) { + const chan = this.client.channels.cache.get(giveaway.channelID); + const msg = giveaway.messageID ? await chan?.messages.fetch(giveaway.messageID).catch(ctx?.noop) : undefined; if (msg) { const oldEmbed = msg.embeds[0]; const embed = discord_js_1.EmbedBuilder.from(oldEmbed) @@ -77,7 +80,7 @@ class GiveawaysManager { msg.edit({ embeds: [embed], components: [] - }).catch(ctx.noop); + }).catch(ctx?.noop); const plural = winners.length > 1 ? "s" : ""; msg.reply({ content: winners.length === 0 @@ -87,10 +90,10 @@ class GiveawaysManager { repliedUser: false, parse: ["users"] } - }).catch(ctx.noop); + }).catch(ctx?.noop); } } - await structures_1.Database.set(giveaway).catch(ctx.noop); + await structures_1.Database.set(giveaway).catch(ctx?.noop); this.emitter.emit("giveawayEnd", giveaway); return giveaway; } @@ -111,7 +114,7 @@ class GiveawaysManager { await forgescript_1.Interpreter.run({ ...ctx.runtime, environment: { giveaway }, - data: forgescript_1.Compiler.compile(this.client.options?.messages?.reroll), + data: forgescript_1.Compiler.compile(this.giveaways.options?.messages?.reroll), doNotSend: true, }); await structures_1.Database.set(giveaway).catch(ctx.noop); @@ -122,6 +125,21 @@ class GiveawaysManager { const shuffled = entries.sort(() => Math.random() - 0.5); return shuffled.slice(0, amount); } + async _checkGiveaways() { + const giveaways = await structures_1.Database.getAll(); + if (!giveaways) + return; + for (const giveaway of giveaways) { + if (giveaway.hasEnded) + continue; + if (giveaway.timeLeft() > 0) { + setTimeout(async () => await this.end(giveaway.id), giveaway.timeLeft()); + } + else { + await this.end(giveaway.id); + } + } + } } exports.GiveawaysManager = GiveawaysManager; //# sourceMappingURL=GiveawaysManager.js.map \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 1073f75..e447329 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":";;;AAAA,2CAAqH;AACrH,uDAAsE;AAGtE,8CAAyE;AACzE,8CAA4E;AAc5E,MAAa,gBAAgB;IAEJ;IACT;IAFZ,YACqB,MAAsB,EAC/B,OAAuD;QAD9C,WAAM,GAAN,MAAM,CAAgB;QAC/B,YAAO,GAAP,OAAO,CAAgD;IAChE,CAAC;IAEJ;;;;;OAKG;IACI,KAAK,CAAC,KAAK,CAAC,GAAY,EAAE,OAA8B;QAC3D,MAAM,QAAQ,GAAG,IAAI,qBAAQ,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAA;QAEzF,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,yBAAY,EAAE;iBAC3B,QAAQ,CAAC,gBAAgB,CAAC;iBAC1B,cAAc,CAAC,cAAc,QAAQ,CAAC,KAAK,kBAAkB,QAAQ,CAAC,YAAY,EAAE,CAAC;iBACrF,SAAS,CACN,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAI,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAC/F,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,QAAQ,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CACtE;iBACA,QAAQ,CAAC,OAAO,CAAC,CAAA;YAEtB,MAAM,KAAK,GAAG,IAAI,6BAAgB,EAAE;iBAC/B,aAAa,CACV,IAAI,0BAAa,EAAE;iBACd,WAAW,CAAC,iBAAiB,QAAQ,CAAC,EAAE,EAAE,CAAC;iBAC3C,QAAQ,CAAC,OAAO,CAAC;iBACjB,QAAQ,CAAC,wBAAW,CAAC,OAAO,CAAC,CACrC,CAAA;YAEL,MAAM,GAAG,GAAG,MAAM,IAAI,EAAE,IAAI,CAAC;gBACzB,MAAM,EAAE,CAAC,KAAK,CAAC;gBACf,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC/B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAElB,IAAI,CAAC,GAAG,EAAE,CAAC;gBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;gBACpE,OAAM;YACV,CAAC;YAED,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;QAC/B,CAAC;QAED,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;QAC5C,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAE/D,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,EAAa;QACxC,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC/C,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAA;QAExB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC3D,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC1C,OAAO,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QACzE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;QAE1B,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAA;YACzF,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAE3G,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBAC9B,MAAM,KAAK,GAAG,yBAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;qBACpC,QAAQ,CAAC,sBAAsB,CAAC;qBAChC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;qBACpF,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAEpB,GAAG,CAAC,IAAI,CAAC;oBACL,MAAM,EAAE,CAAC,KAAK,CAAC;oBACf,UAAU,EAAE,EAAE;iBACjB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAElB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC5C,GAAG,CAAC,KAAK,CAAC;oBACN,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;wBACzB,CAAC,CAAC,kCAAkC;wBACpC,CAAC,CAAC,mCAAmC,MAAM,SAAS,QAAQ,CAAC,KAAK,qBAAqB,MAAM,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACpJ,eAAe,EAAE;wBACb,WAAW,EAAE,KAAK;wBAClB,KAAK,EAAE,CAAC,OAAO,CAAC;qBACnB;iBACJ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACtB,CAAC;QACL,CAAC;QAED,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAE1C,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,GAAY,EAAE,EAAa;QAC3C,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QAEpC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACrF,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC5E,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAA;QAE7B,MAAM,yBAAW,CAAC,GAAG,CAAC;YAClB,GAAG,GAAG,CAAC,OAAO;YACd,WAAW,EAAE,EAAE,QAAQ,EAAE;YACzB,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;YAC7D,SAAS,EAAE,IAAI;SAClB,CAAC,CAAA;QAEF,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAE1D,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEO,YAAY,CAAC,OAAoB,EAAE,MAAc;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;QACxD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;CACJ;AA5ID,4CA4IC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/native/manage/endGiveaway.js b/dist/native/manage/endGiveaway.js index 18fab50..435cdcf 100644 --- a/dist/native/manage/endGiveaway.js +++ b/dist/native/manage/endGiveaway.js @@ -20,7 +20,7 @@ exports.default = new forgescript_1.NativeFunction({ output: forgescript_1.ArgType.Boolean, async execute(ctx, [id]) { const client = ctx.client.getExtension(__1.ForgeGiveaways, true); - const giveaway = await client.giveawaysManager.end(ctx, id); + const giveaway = await client.giveawaysManager.end(id, ctx); return this.success(!!giveaway); } }); diff --git a/dist/native/manage/endGiveaway.js.map b/dist/native/manage/endGiveaway.js.map index 5b7d0f1..51f5589 100644 --- a/dist/native/manage/endGiveaway.js.map +++ b/dist/native/manage/endGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"endGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/endGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qBAAqB;YAClC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"endGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/endGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qBAAqB;YAClC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/structures/Giveaway.d.ts b/dist/structures/Giveaway.d.ts index 49742b5..a046985 100644 --- a/dist/structures/Giveaway.d.ts +++ b/dist/structures/Giveaway.d.ts @@ -64,6 +64,11 @@ export declare class Giveaway implements IGiveaway { constructor(options?: Partial & { id?: Snowflake; }); + /** + * Returns the time left for this giveaway. + * @returns + */ + timeLeft(): number; /** * Returns whether a user has entered this giveaway. * @param userID The user to check for. diff --git a/dist/structures/Giveaway.d.ts.map b/dist/structures/Giveaway.d.ts.map index 838f82d..d1541b8 100644 --- a/dist/structures/Giveaway.d.ts.map +++ b/dist/structures/Giveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBACa,QAAS,YAAW,SAAS;IACtC;;OAEG;IAEI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IAEI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IAEI,SAAS,EAAE,MAAM,CAAA;IAExB;;OAEG;IAEI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IAEI,QAAQ,EAAE,OAAO,CAAA;IAExB;;OAEG;IAEI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IAEI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IAEI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IAEI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAezE;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;IASnC;;;OAGG;IACI,KAAK;CAGf;AAED,qBACa,aAAc,SAAQ,QAAQ;IACvC;;OAEG;IAEI,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B"} \ No newline at end of file +{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBACa,QAAS,YAAW,SAAS;IACtC;;OAEG;IAEI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IAEI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IAEI,SAAS,EAAE,MAAM,CAAA;IAExB;;OAEG;IAEI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IAEI,QAAQ,EAAE,OAAO,CAAA;IAExB;;OAEG;IAEI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IAEI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IAEI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IAEI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAezE;;;OAGG;IACI,QAAQ;IAIf;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;IASnC;;;OAGG;IACI,KAAK;CAGf;AAED,qBACa,aAAc,SAAQ,QAAQ;IACvC;;OAEG;IAEI,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B"} \ No newline at end of file diff --git a/dist/structures/Giveaway.js b/dist/structures/Giveaway.js index 90bd7cf..8bdf19a 100644 --- a/dist/structures/Giveaway.js +++ b/dist/structures/Giveaway.js @@ -79,6 +79,13 @@ let Giveaway = class Giveaway { this.entries = []; this.winners = []; } + /** + * Returns the time left for this giveaway. + * @returns + */ + timeLeft() { + return Math.max(this.duration - (Date.now() - this.timestamp), 0); + } /** * Returns whether a user has entered this giveaway. * @param userID The user to check for. diff --git a/dist/structures/Giveaway.js.map b/dist/structures/Giveaway.js.map index 687d7f3..ba5a1e9 100644 --- a/dist/structures/Giveaway.js.map +++ b/dist/structures/Giveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 6f434b7..765d024 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: null | GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager = ...
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 4880f6b..5f81d4a 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,4 +1,4 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
diff --git a/src/index.ts b/src/index.ts index 8e9418a..0b00257 100644 --- a/src/index.ts +++ b/src/index.ts @@ -22,12 +22,11 @@ export class ForgeGiveaways extends ForgeExtension { public emitter = new TypedEmitter>() - public readonly giveawaysManager = new GiveawaysManager(this, this.emitter) - commands: GiveawaysCommandManager | null + public giveawaysManager!: GiveawaysManager + public commands!: GiveawaysCommandManager public constructor (public readonly options: IForgeGiveawaysOptions = {}) { super() - this.commands = null this.options.useDefault ??= true } @@ -44,5 +43,6 @@ export class ForgeGiveaways extends ForgeExtension { } await new Database(this.emitter).init() + this.giveawaysManager = new GiveawaysManager(this, client, this.emitter) } } \ No newline at end of file diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index da8d0c3..5a753f9 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -1,7 +1,7 @@ import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, Snowflake, TextChannel, time } from "discord.js" -import { Compiler, Context, Interpreter } from "@tryforge/forgescript" -import { TypedEmitter } from "tiny-typed-emitter" +import { Compiler, Context, ForgeClient, Interpreter } from "@tryforge/forgescript" import { TransformEvents } from "@tryforge/forge.db" +import { TypedEmitter } from "tiny-typed-emitter" import { Database, Giveaway, IGiveawayRequirements } from "../structures" import { GiveawaysErrorType, throwGiveawaysError } from "../functions/error" import { IGiveawayEvents } from "./GiveawaysEventManager" @@ -19,9 +19,12 @@ export interface IGiveawayStartOptions { export class GiveawaysManager { public constructor( - private readonly client: ForgeGiveaways, + private readonly giveaways: ForgeGiveaways, + private readonly client: ForgeClient, private emitter: TypedEmitter> - ) {} + ) { + this._checkGiveaways() + } /** * Starts a new giveaway on a guild. @@ -33,7 +36,7 @@ export class GiveawaysManager { const giveaway = new Giveaway(options) const chan = ctx.client.channels.cache.get(giveaway.channelID) as TextChannel | undefined - if (this.client.options.useDefault) { + if (this.giveaways.options.useDefault) { const embed = new EmbedBuilder() .setTitle("🎉 GIVEAWAY 🎉") .setDescription(`**Prize:** ${giveaway.prize}\n**Winners:** ${giveaway.winnersCount}`) @@ -66,23 +69,23 @@ export class GiveawaysManager { await Database.set(giveaway).catch(ctx.noop) this.emitter.emit("giveawayStart", giveaway) - setTimeout(() => this.end(ctx, giveaway.id), giveaway.duration) + setTimeout(async () => await this.end(giveaway.id, ctx), giveaway.duration) return giveaway } /** * Ends an existing giveaway. - * @param ctx The current context. * @param id The id of the giveaway to end. + * @param ctx The optional current context. * @returns */ - public async end(ctx: Context, id: Snowflake) { + public async end(id: Snowflake, ctx?: Context) { const giveaway = await Database.get(id) if (!giveaway || giveaway.hasEnded) return null giveaway.hasEnded = true - const guild = ctx.client.guilds.cache.get(giveaway.guildID) + const guild = this.client.guilds.cache.get(giveaway.guildID) const eligibleEntries = giveaway.entries.filter((e) => { const member = guild?.members.cache.get(e) return member && giveaway.canEnter(member) @@ -90,9 +93,9 @@ export class GiveawaysManager { const winners = this._pickWinners(eligibleEntries, giveaway.winnersCount) giveaway.winners = winners - if (this.client.options.useDefault) { - const chan = ctx.client.channels.cache.get(giveaway.channelID) as TextChannel | undefined - const msg = giveaway.messageID ? await chan?.messages.fetch(giveaway.messageID).catch(ctx.noop) : undefined + if (this.giveaways.options.useDefault) { + const chan = this.client.channels.cache.get(giveaway.channelID) as TextChannel | undefined + const msg = giveaway.messageID ? await chan?.messages.fetch(giveaway.messageID).catch(ctx?.noop) : undefined if (msg) { const oldEmbed = msg.embeds[0] @@ -104,7 +107,7 @@ export class GiveawaysManager { msg.edit({ embeds: [embed], components: [] - }).catch(ctx.noop) + }).catch(ctx?.noop) const plural = winners.length > 1 ? "s" : "" msg.reply({ @@ -115,11 +118,11 @@ export class GiveawaysManager { repliedUser: false, parse: ["users"] } - }).catch(ctx.noop) + }).catch(ctx?.noop) } } - await Database.set(giveaway).catch(ctx.noop) + await Database.set(giveaway).catch(ctx?.noop) this.emitter.emit("giveawayEnd", giveaway) return giveaway @@ -143,7 +146,7 @@ export class GiveawaysManager { await Interpreter.run({ ...ctx.runtime, environment: { giveaway }, - data: Compiler.compile(this.client.options?.messages?.reroll), + data: Compiler.compile(this.giveaways.options?.messages?.reroll), doNotSend: true, }) @@ -157,4 +160,19 @@ export class GiveawaysManager { const shuffled = entries.sort(() => Math.random() - 0.5) return shuffled.slice(0, amount) } -} + + private async _checkGiveaways() { + const giveaways = await Database.getAll() + if (!giveaways) return + + for (const giveaway of giveaways) { + if (giveaway.hasEnded) continue + + if (giveaway.timeLeft() > 0) { + setTimeout(async () => await this.end(giveaway.id), giveaway.timeLeft()) + } else { + await this.end(giveaway.id) + } + } + } +} \ No newline at end of file diff --git a/src/native/manage/endGiveaway.ts b/src/native/manage/endGiveaway.ts index d8eaaa5..7f8f1a3 100644 --- a/src/native/manage/endGiveaway.ts +++ b/src/native/manage/endGiveaway.ts @@ -19,7 +19,7 @@ export default new NativeFunction({ output: ArgType.Boolean, async execute(ctx, [id]) { const client = ctx.client.getExtension(ForgeGiveaways, true) - const giveaway = await client.giveawaysManager.end(ctx, id) + const giveaway = await client.giveawaysManager.end(id, ctx) return this.success(!!giveaway) } }) \ No newline at end of file diff --git a/src/structures/Giveaway.ts b/src/structures/Giveaway.ts index d61c851..47cb27c 100644 --- a/src/structures/Giveaway.ts +++ b/src/structures/Giveaway.ts @@ -106,6 +106,14 @@ export class Giveaway implements IGiveaway { this.winners = [] } + /** + * Returns the time left for this giveaway. + * @returns + */ + public timeLeft() { + return Math.max(this.duration - (Date.now() - this.timestamp), 0) + } + /** * Returns whether a user has entered this giveaway. * @param userID The user to check for. From cfb7f6dfbe9d57da7a9fab4ff5f1d6a3a73ffc04 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 03:20:56 +0200 Subject: [PATCH 55/87] Different orders --- dist/index.d.ts | 2 +- dist/index.d.ts.map | 2 +- dist/index.js | 6 +++--- dist/index.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 2 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 4 ++-- dist/managers/GiveawaysManager.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/index.ts | 8 ++++---- src/managers/GiveawaysManager.ts | 4 ++-- 12 files changed, 23 insertions(+), 23 deletions(-) diff --git a/dist/index.d.ts b/dist/index.d.ts index 6e1a15b..4b52d57 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -21,6 +21,6 @@ export declare class ForgeGiveaways extends ForgeExtension { giveawaysManager: GiveawaysManager; commands: GiveawaysCommandManager; constructor(options?: IForgeGiveawaysOptions); - init(client: ForgeClient): Promise; + init(client: ForgeClient): void; } //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index fe3ade7..f459af4 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAexC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAKjE,IAAI,CAAC,MAAM,EAAE,WAAW;CAelC"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index ab61de6..cdfcc59 100644 --- a/dist/index.js +++ b/dist/index.js @@ -19,16 +19,16 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { this.options = options; this.options.useDefault ??= true; } - async init(client) { + init(client) { this.commands = new managers_1.GiveawaysCommandManager(client); forgescript_1.EventManager.load("ForgeGiveawaysEvents", __dirname + "/events"); this.load(__dirname + "/native"); new managers_1.GiveawaysInteractionManager(client); + new structures_1.Database(this.emitter).init(); + this.giveawaysManager = new managers_1.GiveawaysManager(this, client, this.emitter); if (this.options.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); } - await new structures_1.Database(this.emitter).init(); - this.giveawaysManager = new managers_1.GiveawaysManager(this, client, this.emitter); } } exports.ForgeGiveaways = ForgeGiveaways; diff --git a/dist/index.js.map b/dist/index.js.map index ad33a88..6ff2f64 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAYvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5E,CAAC;CACJ;AA/BD,wCA+BC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAYvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,IAAI,CAAC,MAAmB;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAEjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAExE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AA/BD,wCA+BC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index e76a818..778929a 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -41,6 +41,6 @@ export declare class GiveawaysManager { */ reroll(ctx: Context, id: Snowflake): Promise; private _pickWinners; - private _checkGiveaways; + private _restoreGiveaways; } //# sourceMappingURL=GiveawaysManager.d.ts.map \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index b146c55..0fb2e0b 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAY,OAAO,EAAE,WAAW,EAAe,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBAFE,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW,EAC5B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAKnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA0C/D;;;;;OAKG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO;IAgD7C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAsB/C,OAAO,CAAC,YAAY;YAKN,eAAe;CAchC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAY,OAAO,EAAE,WAAW,EAAe,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBAFE,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW,EAC5B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAKnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA0C/D;;;;;OAKG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO;IAgD7C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAsB/C,OAAO,CAAC,YAAY;YAKN,iBAAiB;CAclC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 3ca71c8..0b2f9d6 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -13,7 +13,7 @@ class GiveawaysManager { this.giveaways = giveaways; this.client = client; this.emitter = emitter; - this._checkGiveaways(); + this._restoreGiveaways(); } /** * Starts a new giveaway on a guild. @@ -125,7 +125,7 @@ class GiveawaysManager { const shuffled = entries.sort(() => Math.random() - 0.5); return shuffled.slice(0, amount); } - async _checkGiveaways() { + async _restoreGiveaways() { const giveaways = await structures_1.Database.getAll(); if (!giveaways) return; diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index e447329..9e8e40a 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 765d024..573a8b4 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 5f81d4a..94aff84 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,4 +1,4 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
diff --git a/src/index.ts b/src/index.ts index 0b00257..ce569dd 100644 --- a/src/index.ts +++ b/src/index.ts @@ -30,19 +30,19 @@ export class ForgeGiveaways extends ForgeExtension { this.options.useDefault ??= true } - public async init(client: ForgeClient) { + public init(client: ForgeClient) { this.commands = new GiveawaysCommandManager(client) EventManager.load("ForgeGiveawaysEvents", __dirname + "/events") this.load(__dirname + "/native") new GiveawaysInteractionManager(client) + new Database(this.emitter).init() + + this.giveawaysManager = new GiveawaysManager(this, client, this.emitter) if (this.options.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events) } - - await new Database(this.emitter).init() - this.giveawaysManager = new GiveawaysManager(this, client, this.emitter) } } \ No newline at end of file diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 5a753f9..c3a72ec 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -23,7 +23,7 @@ export class GiveawaysManager { private readonly client: ForgeClient, private emitter: TypedEmitter> ) { - this._checkGiveaways() + this._restoreGiveaways() } /** @@ -161,7 +161,7 @@ export class GiveawaysManager { return shuffled.slice(0, amount) } - private async _checkGiveaways() { + private async _restoreGiveaways() { const giveaways = await Database.getAll() if (!giveaways) return From 8f92ffa35c24cd5dd143644d7369307221b0293f Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 03:28:28 +0200 Subject: [PATCH 56/87] Wait for the client to become ready --- dist/index.d.ts | 2 +- dist/index.d.ts.map | 2 +- dist/index.js | 6 +++--- dist/index.js.map | 2 +- dist/managers/GiveawaysManager.js | 2 +- dist/managers/GiveawaysManager.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 4 ++-- src/index.ts | 8 ++++---- src/managers/GiveawaysManager.ts | 2 +- 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/dist/index.d.ts b/dist/index.d.ts index 4b52d57..6e1a15b 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -21,6 +21,6 @@ export declare class ForgeGiveaways extends ForgeExtension { giveawaysManager: GiveawaysManager; commands: GiveawaysCommandManager; constructor(options?: IForgeGiveawaysOptions); - init(client: ForgeClient): void; + init(client: ForgeClient): Promise; } //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index f459af4..fe3ade7 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAKjE,IAAI,CAAC,MAAM,EAAE,WAAW;CAelC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAexC"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index cdfcc59..ab61de6 100644 --- a/dist/index.js +++ b/dist/index.js @@ -19,16 +19,16 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { this.options = options; this.options.useDefault ??= true; } - init(client) { + async init(client) { this.commands = new managers_1.GiveawaysCommandManager(client); forgescript_1.EventManager.load("ForgeGiveawaysEvents", __dirname + "/events"); this.load(__dirname + "/native"); new managers_1.GiveawaysInteractionManager(client); - new structures_1.Database(this.emitter).init(); - this.giveawaysManager = new managers_1.GiveawaysManager(this, client, this.emitter); if (this.options.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); } + await new structures_1.Database(this.emitter).init(); + this.giveawaysManager = new managers_1.GiveawaysManager(this, client, this.emitter); } } exports.ForgeGiveaways = ForgeGiveaways; diff --git a/dist/index.js.map b/dist/index.js.map index 6ff2f64..ad33a88 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAYvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,IAAI,CAAC,MAAmB;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAEjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAExE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;CACJ;AA/BD,wCA+BC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAYvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5E,CAAC;CACJ;AA/BD,wCA+BC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 0b2f9d6..595345b 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -13,7 +13,7 @@ class GiveawaysManager { this.giveaways = giveaways; this.client = client; this.emitter = emitter; - this._restoreGiveaways(); + client.once("clientReady", () => this._restoreGiveaways()); } /** * Starts a new giveaway on a guild. diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 9e8e40a..e603fb6 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 573a8b4..8eb50b9 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns void

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 94aff84..7731fbc 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,4 +1,4 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
+

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
diff --git a/src/index.ts b/src/index.ts index ce569dd..0b00257 100644 --- a/src/index.ts +++ b/src/index.ts @@ -30,19 +30,19 @@ export class ForgeGiveaways extends ForgeExtension { this.options.useDefault ??= true } - public init(client: ForgeClient) { + public async init(client: ForgeClient) { this.commands = new GiveawaysCommandManager(client) EventManager.load("ForgeGiveawaysEvents", __dirname + "/events") this.load(__dirname + "/native") new GiveawaysInteractionManager(client) - new Database(this.emitter).init() - - this.giveawaysManager = new GiveawaysManager(this, client, this.emitter) if (this.options.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events) } + + await new Database(this.emitter).init() + this.giveawaysManager = new GiveawaysManager(this, client, this.emitter) } } \ No newline at end of file diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index c3a72ec..f25a703 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -23,7 +23,7 @@ export class GiveawaysManager { private readonly client: ForgeClient, private emitter: TypedEmitter> ) { - this._restoreGiveaways() + client.once("clientReady", () => this._restoreGiveaways()) } /** From a096f61712cb548e76c850384e64fe082ad89f3f Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 14:20:30 +0200 Subject: [PATCH 57/87] Some iimprovements --- dist/events/databaseConnect.js | 2 +- dist/events/databaseConnect.js.map | 2 +- dist/events/giveawayEdit.js | 2 +- dist/events/giveawayEdit.js.map | 2 +- dist/events/giveawayEnd.js | 2 +- dist/events/giveawayEnd.js.map | 2 +- dist/events/giveawayEntryAdd.js | 2 +- dist/events/giveawayEntryAdd.js.map | 2 +- dist/events/giveawayEntryRemove.js | 2 +- dist/events/giveawayEntryRemove.js.map | 2 +- dist/events/giveawayReroll.js | 2 +- dist/events/giveawayReroll.js.map | 2 +- dist/events/giveawayStart.js | 2 +- dist/events/giveawayStart.js.map | 2 +- dist/functions/noop.d.ts | 3 + dist/functions/noop.d.ts.map | 1 + dist/functions/noop.js | 7 ++ dist/functions/noop.js.map | 1 + dist/index.d.ts | 11 +-- dist/index.d.ts.map | 2 +- dist/index.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 27 ++++++-- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 77 +++++++++++++++------ dist/managers/GiveawaysManager.js.map | 2 +- dist/native/manage/endGiveaway.js | 2 +- dist/native/manage/endGiveaway.js.map | 2 +- dist/native/manage/rerollGiveaway.js | 2 +- dist/native/manage/rerollGiveaway.js.map | 2 +- dist/native/manage/startGiveaway.js | 4 +- dist/native/manage/startGiveaway.js.map | 2 +- dist/structures/Database.js | 4 +- dist/structures/Database.js.map | 2 +- docs/assets/search.js | 2 +- docs/classes/ForgeGiveaways.html | 8 +-- docs/interfaces/IForgeGiveawaysOptions.html | 7 +- src/events/databaseConnect.ts | 2 +- src/events/giveawayEdit.ts | 2 +- src/events/giveawayEnd.ts | 2 +- src/events/giveawayEntryAdd.ts | 2 +- src/events/giveawayEntryRemove.ts | 2 +- src/events/giveawayReroll.ts | 2 +- src/events/giveawayStart.ts | 2 +- src/functions/noop.ts | 5 ++ src/index.ts | 12 ++-- src/managers/GiveawaysManager.ts | 74 ++++++++++++++------ src/native/manage/endGiveaway.ts | 2 +- src/native/manage/rerollGiveaway.ts | 2 +- src/native/manage/startGiveaway.ts | 4 +- src/structures/Database.ts | 6 +- 50 files changed, 208 insertions(+), 111 deletions(-) create mode 100644 dist/functions/noop.d.ts create mode 100644 dist/functions/noop.d.ts.map create mode 100644 dist/functions/noop.js create mode 100644 dist/functions/noop.js.map create mode 100644 src/functions/noop.ts diff --git a/dist/events/databaseConnect.js b/dist/events/databaseConnect.js index a4a3d3a..14f1e75 100644 --- a/dist/events/databaseConnect.js +++ b/dist/events/databaseConnect.js @@ -9,7 +9,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ version: "1.0.0", description: "This event is fired when the database has connected", listener: async function () { - const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("databaseConnect"); + const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("databaseConnect"); if (commands?.length) { for (const command of commands) { const ctx = new structures_1.Context({ diff --git a/dist/events/databaseConnect.js.map b/dist/events/databaseConnect.js.map index 706baa0..377eff7 100644 --- a/dist/events/databaseConnect.js.map +++ b/dist/events/databaseConnect.js.map @@ -1 +1 @@ -{"version":3,"file":"databaseConnect.js","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,qDAAqD;IAClE,QAAQ,EAAE,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAEzF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"databaseConnect.js","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,qDAAqD;IAClE,QAAQ,EAAE,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAExF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEdit.js b/dist/events/giveawayEdit.js index a0b04e0..fff22d6 100644 --- a/dist/events/giveawayEdit.js +++ b/dist/events/giveawayEdit.js @@ -9,7 +9,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ version: "1.0.0", description: "This event is fired when a giveaway was edited", listener: async function (old, newer) { - const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEdit"); + const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEdit"); if (commands?.length) { for (const command of commands) { const ctx = new structures_1.Context({ diff --git a/dist/events/giveawayEdit.js.map b/dist/events/giveawayEdit.js.map index 8fc780d..bd3b0e9 100644 --- a/dist/events/giveawayEdit.js.map +++ b/dist/events/giveawayEdit.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;QAEtF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAErF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEnd.js b/dist/events/giveawayEnd.js index 47509f3..9d11f31 100644 --- a/dist/events/giveawayEnd.js +++ b/dist/events/giveawayEnd.js @@ -9,7 +9,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ version: "1.0.0", description: "This event is fired when a giveaway ended", listener: async function (gw) { - const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEnd"); + const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEnd"); if (commands?.length) { for (const command of commands) { const ctx = new structures_1.Context({ diff --git a/dist/events/giveawayEnd.js.map b/dist/events/giveawayEnd.js.map index b87f36b..ad87f3b 100644 --- a/dist/events/giveawayEnd.js.map +++ b/dist/events/giveawayEnd.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEnd.js","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;QAErF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEnd.js","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAEpF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryAdd.js b/dist/events/giveawayEntryAdd.js index fc696e1..57cebcf 100644 --- a/dist/events/giveawayEntryAdd.js +++ b/dist/events/giveawayEntryAdd.js @@ -9,7 +9,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ version: "1.0.0", description: "This event is fired when a giveaway entry is added", listener: async function (old, newer) { - const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEntryAdd"); + const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEntryAdd"); if (commands?.length) { for (const command of commands) { const ctx = new structures_1.Context({ diff --git a/dist/events/giveawayEntryAdd.js.map b/dist/events/giveawayEntryAdd.js.map index 2b41ac1..9dce04c 100644 --- a/dist/events/giveawayEntryAdd.js.map +++ b/dist/events/giveawayEntryAdd.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAE1F,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAEzF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.js b/dist/events/giveawayEntryRemove.js index d3ef5c6..9d0015e 100644 --- a/dist/events/giveawayEntryRemove.js +++ b/dist/events/giveawayEntryRemove.js @@ -9,7 +9,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ version: "1.0.0", description: "This event is fired when a giveaway entry is removed", listener: async function (old, newer) { - const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayEntryRemove"); + const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEntryRemove"); if (commands?.length) { for (const command of commands) { const ctx = new structures_1.Context({ diff --git a/dist/events/giveawayEntryRemove.js.map b/dist/events/giveawayEntryRemove.js.map index 5a4c7c5..97ceef3 100644 --- a/dist/events/giveawayEntryRemove.js.map +++ b/dist/events/giveawayEntryRemove.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE7F,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE5F,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayReroll.js b/dist/events/giveawayReroll.js index b557439..5d3c69f 100644 --- a/dist/events/giveawayReroll.js +++ b/dist/events/giveawayReroll.js @@ -9,7 +9,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ version: "1.0.0", description: "This event is fired when a giveaway was rerolled", listener: async function (old, newer) { - const commands = this.getExtension(__1.ForgeGiveaways, true).commands?.get("giveawayReroll"); + const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayReroll"); if (commands?.length) { for (const command of commands) { const ctx = new structures_1.Context({ diff --git a/dist/events/giveawayReroll.js.map b/dist/events/giveawayReroll.js.map index ca672e7..7620cc2 100644 --- a/dist/events/giveawayReroll.js.map +++ b/dist/events/giveawayReroll.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAExF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAEvF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index 88b39cc..f2d8c34 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -11,7 +11,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ description: "This event is fired when a giveaway started", listener: async function (gw) { const client = this.getExtension(__1.ForgeGiveaways, true); - const commands = client.commands?.get("giveawayStart"); + const commands = client.commands.get("giveawayStart"); if (commands?.length) { for (const command of commands) { const ctx = new structures_1.Context({ diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index 133b7f1..66fdde0 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,8CAA4E;AAC5E,8CAAiD;AACjD,0BAAmC;AAGnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QAEtD,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC3B,mBAAmB,EAAE,IAAI;iBAC5B,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;oBAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAA;oBAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;oBAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAEhB,IAAI,CAAC,GAAG,EAAE,CAAC;wBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC9D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC5B,SAAQ;oBACZ,CAAC;oBAED,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,8CAA4E;AAC5E,8CAAiD;AACjD,0BAAmC;AAGnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAErD,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC3B,mBAAmB,EAAE,IAAI;iBAC5B,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;oBAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAA;oBAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;oBAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAEhB,IAAI,CAAC,GAAG,EAAE,CAAC;wBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC9D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC5B,SAAQ;oBACZ,CAAC;oBAED,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/functions/noop.d.ts b/dist/functions/noop.d.ts new file mode 100644 index 0000000..3cbb35f --- /dev/null +++ b/dist/functions/noop.d.ts @@ -0,0 +1,3 @@ +declare const _default: (...args: any[]) => void; +export default _default; +//# sourceMappingURL=noop.d.ts.map \ No newline at end of file diff --git a/dist/functions/noop.d.ts.map b/dist/functions/noop.d.ts.map new file mode 100644 index 0000000..f713e3e --- /dev/null +++ b/dist/functions/noop.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"noop.d.ts","sourceRoot":"","sources":["../../src/functions/noop.ts"],"names":[],"mappings":"kCAEyB,GAAG,EAAE;AAA9B,wBAEC"} \ No newline at end of file diff --git a/dist/functions/noop.js b/dist/functions/noop.js new file mode 100644 index 0000000..5ac6a5d --- /dev/null +++ b/dist/functions/noop.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +exports.default = (...args) => { + forgescript_1.Logger.error("[ForgeGiveaways]", ...args); +}; +//# sourceMappingURL=noop.js.map \ No newline at end of file diff --git a/dist/functions/noop.js.map b/dist/functions/noop.js.map new file mode 100644 index 0000000..be551c4 --- /dev/null +++ b/dist/functions/noop.js.map @@ -0,0 +1 @@ +{"version":3,"file":"noop.js","sourceRoot":"","sources":["../../src/functions/noop.ts"],"names":[],"mappings":";;AAAA,uDAA8C;AAE9C,kBAAe,CAAC,GAAG,IAAW,EAAE,EAAE;IAC9B,oBAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,CAAA;AAC7C,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index 6e1a15b..2633c41 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -3,13 +3,14 @@ import { IGiveawayEvents, GiveawaysCommandManager, GiveawaysManager } from "./ma import { TypedEmitter } from "tiny-typed-emitter"; import { TransformEvents } from "@tryforge/forge.db"; export interface IForgeGiveawaysOptions { + /** + * The giveaway events to use. + */ events?: keyof IGiveawayEvents; + /** + * Whether to use the default giveaway messages. Defaults to `true`. + */ useDefault?: boolean; - messages?: { - start: string; - end: string; - reroll: string; - }; } export declare class ForgeGiveaways extends ForgeExtension { readonly options: IForgeGiveawaysOptions; diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index fe3ade7..b7ffe5e 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;CACJ;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAexC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAexC"} \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map index ad33a88..58f5cfa 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAYvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5E,CAAC;CACJ;AA/BD,wCA+BC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAcvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5E,CAAC;CACJ;AA/BD,wCA+BC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index 778929a..347f3d7 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -1,5 +1,5 @@ import { Snowflake } from "discord.js"; -import { Context, ForgeClient } from "@tryforge/forgescript"; +import { ForgeClient } from "@tryforge/forgescript"; import { TransformEvents } from "@tryforge/forge.db"; import { TypedEmitter } from "tiny-typed-emitter"; import { Giveaway, IGiveawayRequirements } from "../structures"; @@ -14,6 +14,7 @@ export interface IGiveawayStartOptions { channelID: Snowflake; requirements?: IGiveawayRequirements; } +export type IGiveawayEditOptions = Omit; export declare class GiveawaysManager { private readonly giveaways; private readonly client; @@ -21,26 +22,40 @@ export declare class GiveawaysManager { constructor(giveaways: ForgeGiveaways, client: ForgeClient, emitter: TypedEmitter>); /** * Starts a new giveaway on a guild. - * @param ctx The current context. * @param options The start options for the giveaway. * @returns */ - start(ctx: Context, options: IGiveawayStartOptions): Promise; + start(options: IGiveawayStartOptions): Promise; /** * Ends an existing giveaway. * @param id The id of the giveaway to end. - * @param ctx The optional current context. * @returns */ - end(id: Snowflake, ctx?: Context): Promise; + end(id: Snowflake): Promise; /** * Rerolls an existing giveaway. * @param ctx The current context. * @param id The id of the giveaway to reroll. * @returns */ - reroll(ctx: Context, id: Snowflake): Promise; + reroll(id: Snowflake): Promise; + /** + * Edits an existing giveaway. + * @param id The id of the giveaway to edit. + * @param options The options used to edit this giveaway. + */ + edit(id: Snowflake, options: IGiveawayEditOptions): Promise; + /** + * Randomly picks X amount of winners from the provided entries. + * @param entries The entries to pick winners from. + * @param amount The amount of winners to pick. + * @returns + */ private _pickWinners; + /** + * Restores all active giveaways on startup. + * @returns + */ private _restoreGiveaways; } //# sourceMappingURL=GiveawaysManager.d.ts.map \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 0fb2e0b..eaeb841 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAY,OAAO,EAAE,WAAW,EAAe,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAEnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBAFE,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW,EAC5B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAKnE;;;;;OAKG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA0C/D;;;;;OAKG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO;IAgD7C;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS;IAsB/C,OAAO,CAAC,YAAY;YAKN,iBAAiB;CAclC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAqB,WAAW,EAAe,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBAFE,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW,EAC5B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAKnE;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IA0CjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAgD9B;;;;;OAKG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS;IAiBjC;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 595345b..c833cf2 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -1,10 +1,13 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.GiveawaysManager = void 0; const discord_js_1 = require("discord.js"); -const forgescript_1 = require("@tryforge/forgescript"); const structures_1 = require("../structures"); const error_1 = require("../functions/error"); +const noop_1 = __importDefault(require("../functions/noop")); class GiveawaysManager { giveaways; client; @@ -17,13 +20,12 @@ class GiveawaysManager { } /** * Starts a new giveaway on a guild. - * @param ctx The current context. * @param options The start options for the giveaway. * @returns */ - async start(ctx, options) { + async start(options) { const giveaway = new structures_1.Giveaway(options); - const chan = ctx.client.channels.cache.get(giveaway.channelID); + const chan = this.client.channels.cache.get(giveaway.channelID); if (this.giveaways.options.useDefault) { const embed = new discord_js_1.EmbedBuilder() .setTitle("🎉 GIVEAWAY 🎉") @@ -38,25 +40,24 @@ class GiveawaysManager { const msg = await chan?.send({ embeds: [embed], components: [comps.toJSON()] - }).catch(ctx.noop); + }).catch(noop_1.default); if (!msg) { (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotFound, giveaway.id); return; } giveaway.messageID = msg.id; } - await structures_1.Database.set(giveaway).catch(ctx.noop); + await structures_1.Database.set(giveaway).catch(noop_1.default); this.emitter.emit("giveawayStart", giveaway); - setTimeout(async () => await this.end(giveaway.id, ctx), giveaway.duration); + setTimeout(async () => await this.end(giveaway.id).catch(noop_1.default), giveaway.duration); return giveaway; } /** * Ends an existing giveaway. * @param id The id of the giveaway to end. - * @param ctx The optional current context. * @returns */ - async end(id, ctx) { + async end(id) { const giveaway = await structures_1.Database.get(id); if (!giveaway || giveaway.hasEnded) return null; @@ -70,7 +71,7 @@ class GiveawaysManager { giveaway.winners = winners; if (this.giveaways.options.useDefault) { const chan = this.client.channels.cache.get(giveaway.channelID); - const msg = giveaway.messageID ? await chan?.messages.fetch(giveaway.messageID).catch(ctx?.noop) : undefined; + const msg = giveaway.messageID ? await chan?.messages.fetch(giveaway.messageID).catch(noop_1.default) : undefined; if (msg) { const oldEmbed = msg.embeds[0]; const embed = discord_js_1.EmbedBuilder.from(oldEmbed) @@ -80,7 +81,7 @@ class GiveawaysManager { msg.edit({ embeds: [embed], components: [] - }).catch(ctx?.noop); + }).catch(noop_1.default); const plural = winners.length > 1 ? "s" : ""; msg.reply({ content: winners.length === 0 @@ -90,10 +91,10 @@ class GiveawaysManager { repliedUser: false, parse: ["users"] } - }).catch(ctx?.noop); + }).catch(noop_1.default); } } - await structures_1.Database.set(giveaway).catch(ctx?.noop); + await structures_1.Database.set(giveaway).catch(noop_1.default); this.emitter.emit("giveawayEnd", giveaway); return giveaway; } @@ -103,7 +104,7 @@ class GiveawaysManager { * @param id The id of the giveaway to reroll. * @returns */ - async reroll(ctx, id) { + async reroll(id) { const giveaway = await structures_1.Database.get(id); if (!giveaway || !giveaway.hasEnded) return null; @@ -111,20 +112,50 @@ class GiveawaysManager { const eligibleEntries = giveaway.entries.filter((e) => !giveaway.winners.includes(e)); const newWinners = this._pickWinners(eligibleEntries, giveaway.winnersCount); giveaway.winners = newWinners; - await forgescript_1.Interpreter.run({ - ...ctx.runtime, - environment: { giveaway }, - data: forgescript_1.Compiler.compile(this.giveaways.options?.messages?.reroll), - doNotSend: true, - }); - await structures_1.Database.set(giveaway).catch(ctx.noop); + if (this.giveaways.options.useDefault) { } + await structures_1.Database.set(giveaway).catch(noop_1.default); this.emitter.emit("giveawayReroll", oldGiveaway, giveaway); return giveaway; } + /** + * Edits an existing giveaway. + * @param id The id of the giveaway to edit. + * @param options The options used to edit this giveaway. + */ + async edit(id, options) { + const giveaway = await structures_1.Database.get(id); + if (!giveaway || giveaway.hasEnded) + return null; + const oldGiveaway = giveaway.clone(); + if (options.prize) + giveaway.prize = options.prize; + if (options.duration) + giveaway.duration = options.duration; + if (options.winnersCount) + giveaway.winnersCount = options.winnersCount; + if (options.hostID) + giveaway.hostID = options.hostID; + if (options.requirements) + giveaway.requirements = options.requirements; + if (this.giveaways.options.useDefault) { } + await structures_1.Database.set(giveaway).catch(noop_1.default); + this.emitter.emit("giveawayEdit", oldGiveaway, giveaway); + return giveaway; + } + /** + * Randomly picks X amount of winners from the provided entries. + * @param entries The entries to pick winners from. + * @param amount The amount of winners to pick. + * @returns + */ _pickWinners(entries, amount) { const shuffled = entries.sort(() => Math.random() - 0.5); return shuffled.slice(0, amount); } + /** + * Restores all active giveaways on startup. + * @returns + */ async _restoreGiveaways() { const giveaways = await structures_1.Database.getAll(); if (!giveaways) @@ -133,10 +164,10 @@ class GiveawaysManager { if (giveaway.hasEnded) continue; if (giveaway.timeLeft() > 0) { - setTimeout(async () => await this.end(giveaway.id), giveaway.timeLeft()); + setTimeout(async () => await this.end(giveaway.id).catch(noop_1.default), giveaway.timeLeft()); } else { - await this.end(giveaway.id); + await this.end(giveaway.id).catch(noop_1.default); } } } diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index e603fb6..8b95f28 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/native/manage/endGiveaway.js b/dist/native/manage/endGiveaway.js index 435cdcf..1d43ca6 100644 --- a/dist/native/manage/endGiveaway.js +++ b/dist/native/manage/endGiveaway.js @@ -20,7 +20,7 @@ exports.default = new forgescript_1.NativeFunction({ output: forgescript_1.ArgType.Boolean, async execute(ctx, [id]) { const client = ctx.client.getExtension(__1.ForgeGiveaways, true); - const giveaway = await client.giveawaysManager.end(id, ctx); + const giveaway = await client.giveawaysManager.end(id).catch(ctx.noop); return this.success(!!giveaway); } }); diff --git a/dist/native/manage/endGiveaway.js.map b/dist/native/manage/endGiveaway.js.map index 51f5589..6c7d2d3 100644 --- a/dist/native/manage/endGiveaway.js.map +++ b/dist/native/manage/endGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"endGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/endGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qBAAqB;YAClC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"endGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/endGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qBAAqB;YAClC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/rerollGiveaway.js b/dist/native/manage/rerollGiveaway.js index 0e9b8a6..102dca0 100644 --- a/dist/native/manage/rerollGiveaway.js +++ b/dist/native/manage/rerollGiveaway.js @@ -20,7 +20,7 @@ exports.default = new forgescript_1.NativeFunction({ output: forgescript_1.ArgType.Boolean, async execute(ctx, [id]) { const client = ctx.client.getExtension(__1.ForgeGiveaways, true); - const giveaway = await client.giveawaysManager.reroll(ctx, id); + const giveaway = await client.giveawaysManager.reroll(id).catch(ctx.noop); return this.success(!!giveaway); } }); diff --git a/dist/native/manage/rerollGiveaway.js.map b/dist/native/manage/rerollGiveaway.js.map index 30a22a3..5ffa0b8 100644 --- a/dist/native/manage/rerollGiveaway.js.map +++ b/dist/native/manage/rerollGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"rerollGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/rerollGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"rerollGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/rerollGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/startGiveaway.js b/dist/native/manage/startGiveaway.js index 7738cf5..ccb8561 100644 --- a/dist/native/manage/startGiveaway.js +++ b/dist/native/manage/startGiveaway.js @@ -50,7 +50,7 @@ exports.default = new forgescript_1.NativeFunction({ output: forgescript_1.ArgType.String, async execute(ctx, [channel, host, prize, duration, winners]) { const client = ctx.client.getExtension(__1.ForgeGiveaways, true); - const giveaway = await client.giveawaysManager.start(ctx, { + const giveaway = await client.giveawaysManager.start({ guildID: channel.guildId, channelID: channel.id, hostID: host.id, @@ -58,7 +58,7 @@ exports.default = new forgescript_1.NativeFunction({ prize, winnersCount: winners || 1, requirements: ctx.requirements - }); + }).catch(ctx.noop); return this.success(giveaway?.id); } }); diff --git a/dist/native/manage/startGiveaway.js.map b/dist/native/manage/startGiveaway.js.map index 5e21a36..0a1453b 100644 --- a/dist/native/manage/startGiveaway.js.map +++ b/dist/native/manage/startGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE;YACtD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ;YACR,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;SACjC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;YACjD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ;YACR,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;SACjC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAElB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/structures/Database.js b/dist/structures/Database.js index e55ac26..5d918f6 100644 --- a/dist/structures/Database.js +++ b/dist/structures/Database.js @@ -53,10 +53,10 @@ class Database extends managers_1.GiveawaysDatabaseManager { const newData = new this.entities.Giveaway(data); const oldData = await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id: data.id }); if (oldData && this.type === "mongodb") { - await this.db.getRepository(Database.entities.Giveaway).update(oldData.id, data); + await this.db.getRepository(Database.entities.Giveaway).update(oldData.id, newData); } else { - await this.db.getRepository(Database.entities.Giveaway).save(data); + await this.db.getRepository(Database.entities.Giveaway).save(newData); } } /** diff --git a/dist/structures/Database.js.map b/dist/structures/Database.js.map index 1a31d2a..7d667a1 100644 --- a/dist/structures/Database.js.map +++ b/dist/structures/Database.js.map @@ -1 +1 @@ -{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":";;;AAAA,0CAAuE;AAKvE,yCAAoD;AAIpD,MAAa,QAAS,SAAQ,mCAAwB;IAkBrB;IAjBtB,QAAQ,GAAG,cAAc,CAAA;IAEzB,aAAa,GAAG;QACnB,MAAM,EAAE,CAAC,mBAAQ,CAAC;QAClB,OAAO,EAAE,CAAC,wBAAa,CAAC;QACxB,KAAK,EAAE,CAAC,mBAAQ,CAAC;QACjB,QAAQ,EAAE,CAAC,mBAAQ,CAAC;KACvB,CAAA;IAEO,MAAM,CAAC,QAAQ,CAEtB;IAEO,EAAE,CAAqB;IACvB,MAAM,CAAC,EAAE,CAAY;IACrB,MAAM,CAAC,OAAO,CAAgD;IAEtE,YAA6B,OAAuD;QAChF,KAAK,EAAE,CAAA;QADkB,YAAO,GAAP,OAAO,CAAgD;QAEhF,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAA;QACtB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACtB,QAAQ,CAAC,QAAQ,GAAG;YAChB,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzF,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC/B,QAAQ,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAA;QAC3B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC5C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAa;QACjC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACpF,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM;QACtB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAA;IACzE,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAc;QAClC,MAAM,OAAO,GAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QAElG,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACpF,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtE,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAa;QACpC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACjF,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI;QACpB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAA;IAC1E,CAAC;CACJ;AAjFD,4BAiFC"} \ No newline at end of file +{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index be16fd3..322ff7d 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7VYS2/iMBD+L9OrRZmEBJLzPtTDam97iVAVkYGNNg82DrQV4r+vHJLYxqYyTfdElcz38PAxtnuCpn7hECcn+JNXGcReEDKo0pIghqdvdbOj7/mR0pf0jf/ct3ldcWBwaAqIIa9aarbphvijvXL2uy0LYLApUs6JQwxwZoMQzr3FqERHqtp7mR9GlCLAYJ82VLW37d+wcOD0hbbpoWjvtaEhP8NKSZynO7q7HwrugzbCIPDl9//83L7t6aMuZiP8HjOzcRE3msPbtLn7K7ryNBtIPuRsWNitLFfZVHsXiv9hrqGmLoqp/kaWz7LorUaHOnZ02is96q/fnTABeiPrpq542xw2bd24UD7o9fZlXjm90fHuw0WyL5yilRHfNHnXbidJvX6K8pEa7qoqa6coNvT3kDf09bWlimv70nvaNtQUF1TmbUtumZK1UxR3Q8GPtEp3jtIW0BQPm7os0ypza7lSPEWzvjp9vCcpa+9U9OYLOYnyKm+d5PpCN601g7zK6BXi0/iricGb+bMIGGxzKjJxHhvmhuieIGKQ1ZtD9+e6L/tFYjyJ4kv14xxYMmdeMIvm/nrNkgHcvegeDBzySQdEYAnagGgAUQN6wBLPBvQMoKcBfWCJbwP6BtDXgAtgycIGXBjAhQYMgCWBDRgYwEADhsCS0AYMDWCoAZfAkqUNuDSASw24ApasbMCVAVxpwAhYEtmAkQGM9ACIPKA1O2iGB6/S08XHnh9LgPQEocgFWjOEZohQTxGKbKA1R2gGCfUkocgHWrOEZphQTxOKjKA1T2gGCvVEocgJWjOFZqhQTxWKrKA1V2gGC/VkocgLWrOFZrj6R93EOlLTUvZ0mVxJMt4NTvDcj7NxVJ9gAfHpfJbDKz6dlfkl3g3Kl41BkmAoWTB0pFGOapIpkkSRE492GFIcoeIInZjGjV5hUbqDbu3pLgGSQWmMW1+G27FiQvHgRLEVe9dOnsUl1UpSrZyoRpZyOIEovgLFWOBEl+vWxg1fks4l59yNstvFFVfKGtFtkfICLml8yeI7kVw2fsWHshJ0W4qlHbhUWJZOLP1ZmZSzssKnrAvdFjbcGiWJ4snNUn9vlwxKctyCc+CUDf+skTSepPGcaMY7jNIRhQQdWNYM9vmeirwiiJP1+fwPwyA4hIwTAAA="; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE6WXS2+jMBSF/8vt1kqxeQRYz0NdjGY3GysaIbhJrUkggyHtCOW/jyCA7eJ03GHVCu75zsU6vnY6qKsXCSnv4JcoC0hZGBEosxNCCk9fqvqAX8UFs5fsj/x+bkRVSiDQ1kdIQZQN1vssR/lor9w8N6cjEMiPmZQoIQW4ksmIeiyYnfCCZfNR8sOs0gwInLMay+Z++3daaCV+wn3WHpuPtmEo/7cVFs+dmLVzNyP50Xz97hqHlM3UvCplU7d5U9UuyAez3v5Zbzq9s7LDHxfLsXCNV4Eyr8WwvE6WZv0a5wvW0tVV1a5xrPF3K2r8/NpgKY2d+Z63TbWmCzyJpkG3TKnaNY6HqeBbVmYHR2uLaE0PeXU6ZWXhtuRa8RrP6s38fc9S1X7QkXmBmkSiFI2T3Vjo5rUjIMoCXyHt5l2TAtv4mwQI7AUei/5EmuZGv3o9iEBR5e3w724s+4H9eOqLb9WPHhDuEeZvPBbtdoRP4uHF8GBiqCeDkALh1CakCyE1hAwIZzYhWwiZIfSBcN8m9BdC3xAGQHhgEwYLYWAIQyA8tAnDhTA0hBEQHtmE0UIYGcItEL61CbcL4dYQxkB4bBPGC2FsCBMgPLEJk4UwMQPQ54Fas0OX4aFv0jPEx54fS4DMBNE+F9SaIboMETVTRPtsUGuO6DJI46NhA16wbrB4um1EzrWJ1sHPcX9SOo2CDiiFtLte1X5Mu6u2Jft3N3ft2qBIgQIFThzjYFacSHEiJ8585ChGohiJG2O8Z2oLo62LE2Lfz8CDutMplK9QvhNqppymk0zry9Ma85xwwmxtPjgUVGM6IofTQOtK+0bq9pG32a8QoSKETgDLd6jLcAeUOVHGyxJqlyXFixUudqK1Eovph4LCaF25NTXfHhVjqxjbfzN2BM7ijEdRIqR8d73+BdN+OwQGDgAA"; \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 8eb50b9..af18587 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 7731fbc..ce5bd01 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,4 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    messages?: {
        end: string;
        reroll: string;
        start: string;
    };
    useDefault?: boolean;
}

Properties

events? -messages? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    useDefault?: boolean;
}

Properties

Properties

events?: keyof IGiveawayEvents
messages?: {
    end: string;
    reroll: string;
    start: string;
}
useDefault?: boolean
+

Properties

events?: keyof IGiveawayEvents

The giveaway events to use.

+
useDefault?: boolean

Whether to use the default giveaway messages. Defaults to true.

+
diff --git a/src/events/databaseConnect.ts b/src/events/databaseConnect.ts index 45e401d..c17b0e3 100644 --- a/src/events/databaseConnect.ts +++ b/src/events/databaseConnect.ts @@ -8,7 +8,7 @@ export default new GiveawaysEventHandler({ version: "1.0.0", description: "This event is fired when the database has connected", listener: async function() { - const commands = this.getExtension(ForgeGiveaways, true).commands?.get("databaseConnect") + const commands = this.getExtension(ForgeGiveaways, true).commands.get("databaseConnect") if (commands?.length) { for (const command of commands) { diff --git a/src/events/giveawayEdit.ts b/src/events/giveawayEdit.ts index 0ac87f9..562abe1 100644 --- a/src/events/giveawayEdit.ts +++ b/src/events/giveawayEdit.ts @@ -8,7 +8,7 @@ export default new GiveawaysEventHandler({ version: "1.0.0", description: "This event is fired when a giveaway was edited", listener: async function(old, newer) { - const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayEdit") + const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEdit") if (commands?.length) { for (const command of commands) { diff --git a/src/events/giveawayEnd.ts b/src/events/giveawayEnd.ts index 3e0de16..b977340 100644 --- a/src/events/giveawayEnd.ts +++ b/src/events/giveawayEnd.ts @@ -8,7 +8,7 @@ export default new GiveawaysEventHandler({ version: "1.0.0", description: "This event is fired when a giveaway ended", listener: async function(gw) { - const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayEnd") + const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEnd") if (commands?.length) { for (const command of commands) { diff --git a/src/events/giveawayEntryAdd.ts b/src/events/giveawayEntryAdd.ts index 50a3708..a42d1e3 100644 --- a/src/events/giveawayEntryAdd.ts +++ b/src/events/giveawayEntryAdd.ts @@ -8,7 +8,7 @@ export default new GiveawaysEventHandler({ version: "1.0.0", description: "This event is fired when a giveaway entry is added", listener: async function(old, newer) { - const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayEntryAdd") + const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEntryAdd") if (commands?.length) { for (const command of commands) { diff --git a/src/events/giveawayEntryRemove.ts b/src/events/giveawayEntryRemove.ts index c85719a..303b3ea 100644 --- a/src/events/giveawayEntryRemove.ts +++ b/src/events/giveawayEntryRemove.ts @@ -8,7 +8,7 @@ export default new GiveawaysEventHandler({ version: "1.0.0", description: "This event is fired when a giveaway entry is removed", listener: async function(old, newer) { - const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayEntryRemove") + const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEntryRemove") if (commands?.length) { for (const command of commands) { diff --git a/src/events/giveawayReroll.ts b/src/events/giveawayReroll.ts index b84a137..b1f8489 100644 --- a/src/events/giveawayReroll.ts +++ b/src/events/giveawayReroll.ts @@ -8,7 +8,7 @@ export default new GiveawaysEventHandler({ version: "1.0.0", description: "This event is fired when a giveaway was rerolled", listener: async function(old, newer) { - const commands = this.getExtension(ForgeGiveaways, true).commands?.get("giveawayReroll") + const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayReroll") if (commands?.length) { for (const command of commands) { diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index a70aeb0..5ed48dc 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -11,7 +11,7 @@ export default new GiveawaysEventHandler({ description: "This event is fired when a giveaway started", listener: async function(gw) { const client = this.getExtension(ForgeGiveaways, true) - const commands = client.commands?.get("giveawayStart") + const commands = client.commands.get("giveawayStart") if (commands?.length) { for (const command of commands) { diff --git a/src/functions/noop.ts b/src/functions/noop.ts new file mode 100644 index 0000000..8cb5ac8 --- /dev/null +++ b/src/functions/noop.ts @@ -0,0 +1,5 @@ +import { Logger } from "@tryforge/forgescript" + +export default (...args: any[]) => { + Logger.error("[ForgeGiveaways]", ...args) +} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 0b00257..9da1d72 100644 --- a/src/index.ts +++ b/src/index.ts @@ -5,13 +5,15 @@ import { TransformEvents } from "@tryforge/forge.db" import { Database } from "./structures" export interface IForgeGiveawaysOptions { + /** + * The giveaway events to use. + */ events?: keyof IGiveawayEvents + + /** + * Whether to use the default giveaway messages. Defaults to `true`. + */ useDefault?: boolean - messages?: { - start: string - end: string - reroll: string - } } export class ForgeGiveaways extends ForgeExtension { diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index f25a703..5746ef3 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -6,6 +6,7 @@ import { Database, Giveaway, IGiveawayRequirements } from "../structures" import { GiveawaysErrorType, throwGiveawaysError } from "../functions/error" import { IGiveawayEvents } from "./GiveawaysEventManager" import { ForgeGiveaways } from ".." +import noop from "../functions/noop" export interface IGiveawayStartOptions { prize: string @@ -17,6 +18,8 @@ export interface IGiveawayStartOptions { requirements?: IGiveawayRequirements } +export type IGiveawayEditOptions = Omit + export class GiveawaysManager { public constructor( private readonly giveaways: ForgeGiveaways, @@ -28,13 +31,12 @@ export class GiveawaysManager { /** * Starts a new giveaway on a guild. - * @param ctx The current context. * @param options The start options for the giveaway. * @returns */ - public async start(ctx: Context, options: IGiveawayStartOptions) { + public async start(options: IGiveawayStartOptions) { const giveaway = new Giveaway(options) - const chan = ctx.client.channels.cache.get(giveaway.channelID) as TextChannel | undefined + const chan = this.client.channels.cache.get(giveaway.channelID) as TextChannel | undefined if (this.giveaways.options.useDefault) { const embed = new EmbedBuilder() @@ -57,7 +59,7 @@ export class GiveawaysManager { const msg = await chan?.send({ embeds: [embed], components: [comps.toJSON()] - }).catch(ctx.noop) + }).catch(noop) if (!msg) { throwGiveawaysError(GiveawaysErrorType.MessageNotFound, giveaway.id) @@ -67,9 +69,9 @@ export class GiveawaysManager { giveaway.messageID = msg.id } - await Database.set(giveaway).catch(ctx.noop) + await Database.set(giveaway).catch(noop) this.emitter.emit("giveawayStart", giveaway) - setTimeout(async () => await this.end(giveaway.id, ctx), giveaway.duration) + setTimeout(async () => await this.end(giveaway.id).catch(noop), giveaway.duration) return giveaway } @@ -77,10 +79,9 @@ export class GiveawaysManager { /** * Ends an existing giveaway. * @param id The id of the giveaway to end. - * @param ctx The optional current context. * @returns */ - public async end(id: Snowflake, ctx?: Context) { + public async end(id: Snowflake) { const giveaway = await Database.get(id) if (!giveaway || giveaway.hasEnded) return null giveaway.hasEnded = true @@ -95,7 +96,7 @@ export class GiveawaysManager { if (this.giveaways.options.useDefault) { const chan = this.client.channels.cache.get(giveaway.channelID) as TextChannel | undefined - const msg = giveaway.messageID ? await chan?.messages.fetch(giveaway.messageID).catch(ctx?.noop) : undefined + const msg = giveaway.messageID ? await chan?.messages.fetch(giveaway.messageID).catch(noop) : undefined if (msg) { const oldEmbed = msg.embeds[0] @@ -107,7 +108,7 @@ export class GiveawaysManager { msg.edit({ embeds: [embed], components: [] - }).catch(ctx?.noop) + }).catch(noop) const plural = winners.length > 1 ? "s" : "" msg.reply({ @@ -118,11 +119,11 @@ export class GiveawaysManager { repliedUser: false, parse: ["users"] } - }).catch(ctx?.noop) + }).catch(noop) } } - await Database.set(giveaway).catch(ctx?.noop) + await Database.set(giveaway).catch(noop) this.emitter.emit("giveawayEnd", giveaway) return giveaway @@ -134,7 +135,7 @@ export class GiveawaysManager { * @param id The id of the giveaway to reroll. * @returns */ - public async reroll(ctx: Context, id: Snowflake) { + public async reroll(id: Snowflake) { const giveaway = await Database.get(id) if (!giveaway || !giveaway.hasEnded) return null const oldGiveaway = giveaway.clone() @@ -143,24 +144,53 @@ export class GiveawaysManager { const newWinners = this._pickWinners(eligibleEntries, giveaway.winnersCount) giveaway.winners = newWinners - await Interpreter.run({ - ...ctx.runtime, - environment: { giveaway }, - data: Compiler.compile(this.giveaways.options?.messages?.reroll), - doNotSend: true, - }) + if (this.giveaways.options.useDefault) {} - await Database.set(giveaway).catch(ctx.noop) + await Database.set(giveaway).catch(noop) this.emitter.emit("giveawayReroll", oldGiveaway, giveaway) return giveaway } + /** + * Edits an existing giveaway. + * @param id The id of the giveaway to edit. + * @param options The options used to edit this giveaway. + */ + public async edit(id: Snowflake, options: IGiveawayEditOptions) { + const giveaway = await Database.get(id) + if (!giveaway || giveaway.hasEnded) return null + const oldGiveaway = giveaway.clone() + + if (options.prize) giveaway.prize = options.prize + if (options.duration) giveaway.duration = options.duration + if (options.winnersCount) giveaway.winnersCount = options.winnersCount + if (options.hostID) giveaway.hostID = options.hostID + if (options.requirements) giveaway.requirements = options.requirements + + if (this.giveaways.options.useDefault) {} + + await Database.set(giveaway).catch(noop) + this.emitter.emit("giveawayEdit", oldGiveaway, giveaway) + + return giveaway + } + + /** + * Randomly picks X amount of winners from the provided entries. + * @param entries The entries to pick winners from. + * @param amount The amount of winners to pick. + * @returns + */ private _pickWinners(entries: Snowflake[], amount: number) { const shuffled = entries.sort(() => Math.random() - 0.5) return shuffled.slice(0, amount) } + /** + * Restores all active giveaways on startup. + * @returns + */ private async _restoreGiveaways() { const giveaways = await Database.getAll() if (!giveaways) return @@ -169,9 +199,9 @@ export class GiveawaysManager { if (giveaway.hasEnded) continue if (giveaway.timeLeft() > 0) { - setTimeout(async () => await this.end(giveaway.id), giveaway.timeLeft()) + setTimeout(async () => await this.end(giveaway.id).catch(noop), giveaway.timeLeft()) } else { - await this.end(giveaway.id) + await this.end(giveaway.id).catch(noop) } } } diff --git a/src/native/manage/endGiveaway.ts b/src/native/manage/endGiveaway.ts index 7f8f1a3..1657f4a 100644 --- a/src/native/manage/endGiveaway.ts +++ b/src/native/manage/endGiveaway.ts @@ -19,7 +19,7 @@ export default new NativeFunction({ output: ArgType.Boolean, async execute(ctx, [id]) { const client = ctx.client.getExtension(ForgeGiveaways, true) - const giveaway = await client.giveawaysManager.end(id, ctx) + const giveaway = await client.giveawaysManager.end(id).catch(ctx.noop) return this.success(!!giveaway) } }) \ No newline at end of file diff --git a/src/native/manage/rerollGiveaway.ts b/src/native/manage/rerollGiveaway.ts index 78cb99a..4c8176c 100644 --- a/src/native/manage/rerollGiveaway.ts +++ b/src/native/manage/rerollGiveaway.ts @@ -19,7 +19,7 @@ export default new NativeFunction({ output: ArgType.Boolean, async execute(ctx, [id]) { const client = ctx.client.getExtension(ForgeGiveaways, true) - const giveaway = await client.giveawaysManager.reroll(ctx, id) + const giveaway = await client.giveawaysManager.reroll(id).catch(ctx.noop) return this.success(!!giveaway) } }) \ No newline at end of file diff --git a/src/native/manage/startGiveaway.ts b/src/native/manage/startGiveaway.ts index 50a63e2..d071d93 100644 --- a/src/native/manage/startGiveaway.ts +++ b/src/native/manage/startGiveaway.ts @@ -51,7 +51,7 @@ export default new NativeFunction({ async execute(ctx, [channel, host, prize, duration, winners]) { const client = ctx.client.getExtension(ForgeGiveaways, true) - const giveaway = await client.giveawaysManager.start(ctx, { + const giveaway = await client.giveawaysManager.start({ guildID: (channel as GuildBasedChannel).guildId, channelID: channel.id, hostID: host.id, @@ -59,7 +59,7 @@ export default new NativeFunction({ prize, winnersCount: winners || 1, requirements: ctx.requirements - }) + }).catch(ctx.noop) return this.success(giveaway?.id) } diff --git a/src/structures/Database.ts b/src/structures/Database.ts index 344934a..51ebc9a 100644 --- a/src/structures/Database.ts +++ b/src/structures/Database.ts @@ -62,13 +62,13 @@ export class Database extends GiveawaysDatabaseManager { * @param data The giveaway data to save. */ public static async set(data: Giveaway) { - const newData =new this.entities.Giveaway(data) + const newData = new this.entities.Giveaway(data) const oldData = await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id: data.id }) if (oldData && this.type === "mongodb") { - await this.db.getRepository(Database.entities.Giveaway).update(oldData.id, data) + await this.db.getRepository(Database.entities.Giveaway).update(oldData.id, newData) } else { - await this.db.getRepository(Database.entities.Giveaway).save(data) + await this.db.getRepository(Database.entities.Giveaway).save(newData) } } From e753fb20625f0e5f261da92685bd52e682015486 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 14:27:34 +0200 Subject: [PATCH 58/87] Small fix --- dist/structures/Database.js | 2 +- dist/structures/Database.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 6 +++--- src/structures/Database.ts | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/dist/structures/Database.js b/dist/structures/Database.js index 5d918f6..b457c63 100644 --- a/dist/structures/Database.js +++ b/dist/structures/Database.js @@ -50,7 +50,7 @@ class Database extends managers_1.GiveawaysDatabaseManager { * @param data The giveaway data to save. */ static async set(data) { - const newData = new this.entities.Giveaway(data); + const newData = new Database.entities.Giveaway(data); const oldData = await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id: data.id }); if (oldData && this.type === "mongodb") { await this.db.getRepository(Database.entities.Giveaway).update(oldData.id, newData); diff --git a/dist/structures/Database.js.map b/dist/structures/Database.js.map index 7d667a1..0509e3b 100644 --- a/dist/structures/Database.js.map +++ b/dist/structures/Database.js.map @@ -1 +1 @@ -{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":";;;AAAA,0CAAuE;AAKvE,yCAAoD;AAIpD,MAAa,QAAS,SAAQ,mCAAwB;IAkBrB;IAjBtB,QAAQ,GAAG,cAAc,CAAA;IAEzB,aAAa,GAAG;QACnB,MAAM,EAAE,CAAC,mBAAQ,CAAC;QAClB,OAAO,EAAE,CAAC,wBAAa,CAAC;QACxB,KAAK,EAAE,CAAC,mBAAQ,CAAC;QACjB,QAAQ,EAAE,CAAC,mBAAQ,CAAC;KACvB,CAAA;IAEO,MAAM,CAAC,QAAQ,CAEtB;IAEO,EAAE,CAAqB;IACvB,MAAM,CAAC,EAAE,CAAY;IACrB,MAAM,CAAC,OAAO,CAAgD;IAEtE,YAA6B,OAAuD;QAChF,KAAK,EAAE,CAAA;QADkB,YAAO,GAAP,OAAO,CAAgD;QAEhF,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAA;QACtB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACtB,QAAQ,CAAC,QAAQ,GAAG;YAChB,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzF,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC/B,QAAQ,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAA;QAC3B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC5C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAa;QACjC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACpF,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM;QACtB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAA;IACzE,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAc;QAClC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QAElG,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QACvF,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzE,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAa;QACpC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACjF,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI;QACpB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAA;IAC1E,CAAC;CACJ;AAjFD,4BAiFC"} \ No newline at end of file +{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index af18587..598b95a 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index ce5bd01..fca0fd7 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    useDefault?: boolean;
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    useDefault?: boolean;
}

Properties

Properties

events?: keyof IGiveawayEvents

The giveaway events to use.

-
useDefault?: boolean

Whether to use the default giveaway messages. Defaults to true.

-
+
useDefault?: boolean

Whether to use the default giveaway messages. Defaults to true.

+
diff --git a/src/structures/Database.ts b/src/structures/Database.ts index 51ebc9a..416adeb 100644 --- a/src/structures/Database.ts +++ b/src/structures/Database.ts @@ -62,7 +62,7 @@ export class Database extends GiveawaysDatabaseManager { * @param data The giveaway data to save. */ public static async set(data: Giveaway) { - const newData = new this.entities.Giveaway(data) + const newData = new Database.entities.Giveaway(data) const oldData = await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id: data.id }) if (oldData && this.type === "mongodb") { From b58ec0e169024b5595146247f15928de1ac0511e Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 14:34:12 +0200 Subject: [PATCH 59/87] Make entities public --- dist/managers/GiveawaysManager.d.ts | 10 +++++----- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 2 +- dist/managers/GiveawaysManager.js.map | 2 +- dist/structures/Database.d.ts | 4 +++- dist/structures/Database.d.ts.map | 2 +- dist/structures/Database.js | 15 +++++++-------- dist/structures/Database.js.map | 2 +- docs/classes/ForgeGiveaways.html | 8 ++++---- docs/interfaces/IForgeGiveawaysOptions.html | 6 +++--- src/managers/GiveawaysManager.ts | 6 +++--- src/structures/Database.ts | 17 ++++++++--------- 12 files changed, 38 insertions(+), 38 deletions(-) diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index 347f3d7..c549250 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -2,7 +2,7 @@ import { Snowflake } from "discord.js"; import { ForgeClient } from "@tryforge/forgescript"; import { TransformEvents } from "@tryforge/forge.db"; import { TypedEmitter } from "tiny-typed-emitter"; -import { Giveaway, IGiveawayRequirements } from "../structures"; +import { IGiveawayRequirements } from "../structures"; import { IGiveawayEvents } from "./GiveawaysEventManager"; import { ForgeGiveaways } from ".."; export interface IGiveawayStartOptions { @@ -25,26 +25,26 @@ export declare class GiveawaysManager { * @param options The start options for the giveaway. * @returns */ - start(options: IGiveawayStartOptions): Promise; + start(options: IGiveawayStartOptions): Promise; /** * Ends an existing giveaway. * @param id The id of the giveaway to end. * @returns */ - end(id: Snowflake): Promise; + end(id: Snowflake): Promise; /** * Rerolls an existing giveaway. * @param ctx The current context. * @param id The id of the giveaway to reroll. * @returns */ - reroll(id: Snowflake): Promise; + reroll(id: Snowflake): Promise; /** * Edits an existing giveaway. * @param id The id of the giveaway to edit. * @param options The options used to edit this giveaway. */ - edit(id: Snowflake, options: IGiveawayEditOptions): Promise; + edit(id: Snowflake, options: IGiveawayEditOptions): Promise; /** * Randomly picks X amount of winners from the provided entries. * @param entries The entries to pick winners from. diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index eaeb841..eee7e83 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAqB,WAAW,EAAe,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBAFE,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW,EAC5B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAKnE;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IA0CjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAgD9B;;;;;OAKG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS;IAiBjC;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBAFE,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW,EAC5B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAKnE;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IA0CjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAgD9B;;;;;OAKG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS;IAiBjC;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index c833cf2..5fc5407 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -24,7 +24,7 @@ class GiveawaysManager { * @returns */ async start(options) { - const giveaway = new structures_1.Giveaway(options); + const giveaway = new structures_1.Database.entities.Giveaway(options); const chan = this.client.channels.cache.get(giveaway.channelID); if (this.giveaways.options.useDefault) { const embed = new discord_js_1.EmbedBuilder() diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 8b95f28..0bb4224 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/structures/Database.d.ts b/dist/structures/Database.d.ts index 13158d3..53e910e 100644 --- a/dist/structures/Database.d.ts +++ b/dist/structures/Database.d.ts @@ -13,7 +13,9 @@ export declare class Database extends GiveawaysDatabaseManager { mysql: (typeof Giveaway)[]; postgres: (typeof Giveaway)[]; }; - private static entities; + static entities: { + Giveaway: AnyGiveaway; + }; private db; private static db; private static emitter; diff --git a/dist/structures/Database.d.ts.map b/dist/structures/Database.d.ts.map index a93262d..5036e85 100644 --- a/dist/structures/Database.d.ts.map +++ b/dist/structures/Database.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;AAEhE,qBAAa,QAAS,SAAQ,wBAAwB;IAkBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjB7B,QAAQ,SAAiB;IAEzB,aAAa;;;;;MAKnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAEtB;IAED,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAgD;gBAEzC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IASvE,IAAI;IAMjB;;;;OAIG;WACiB,GAAG,CAAC,EAAE,EAAE,SAAS;IAIrC;;;OAGG;WACiB,MAAM;IAI1B;;;OAGG;WACiB,GAAG,CAAC,IAAI,EAAE,QAAQ;IAWtC;;;;OAIG;WACiB,MAAM,CAAC,EAAE,EAAE,SAAS;IAIxC;;;OAGG;WACiB,IAAI;CAG3B"} \ No newline at end of file +{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;AAEhE,qBAAa,QAAS,SAAQ,wBAAwB;IAkBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjB7B,QAAQ,SAAiB;IAEzB,aAAa;;;;;MAKnB;IAED,OAAc,QAAQ,EAAE;QACpB,QAAQ,EAAE,WAAW,CAAA;KACxB,CAAA;IAED,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAgD;gBAEzC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IASvE,IAAI;IAMjB;;;;OAIG;WACiB,GAAG,CAAC,EAAE,EAAE,SAAS;IAIrC;;;OAGG;WACiB,MAAM;IAI1B;;;OAGG;WACiB,GAAG,CAAC,IAAI,EAAE,QAAQ;IAUtC;;;;OAIG;WACiB,MAAM,CAAC,EAAE,EAAE,SAAS;IAIxC;;;OAGG;WACiB,IAAI;CAG3B"} \ No newline at end of file diff --git a/dist/structures/Database.js b/dist/structures/Database.js index b457c63..4e81619 100644 --- a/dist/structures/Database.js +++ b/dist/structures/Database.js @@ -36,27 +36,26 @@ class Database extends managers_1.GiveawaysDatabaseManager { * @returns */ static async get(id) { - return await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id }); + return await this.db.getRepository(this.entities.Giveaway).findOneBy({ id }); } /** * Gets all existing giveaways. * @returns */ static async getAll() { - return await this.db.getRepository(Database.entities.Giveaway).find(); + return await this.db.getRepository(this.entities.Giveaway).find(); } /** * Saves a giveaway in the database. * @param data The giveaway data to save. */ static async set(data) { - const newData = new Database.entities.Giveaway(data); - const oldData = await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id: data.id }); + const oldData = await this.db.getRepository(this.entities.Giveaway).findOneBy({ id: data.id }); if (oldData && this.type === "mongodb") { - await this.db.getRepository(Database.entities.Giveaway).update(oldData.id, newData); + await this.db.getRepository(this.entities.Giveaway).update(oldData.id, data); } else { - await this.db.getRepository(Database.entities.Giveaway).save(newData); + await this.db.getRepository(this.entities.Giveaway).save(data); } } /** @@ -65,14 +64,14 @@ class Database extends managers_1.GiveawaysDatabaseManager { * @returns */ static async delete(id) { - return await this.db.getRepository(Database.entities.Giveaway).delete({ id }); + return await this.db.getRepository(this.entities.Giveaway).delete({ id }); } /** * Wipes the entire database. * @returns */ static async wipe() { - return await this.db.getRepository(Database.entities.Giveaway).clear(); + return await this.db.getRepository(this.entities.Giveaway).clear(); } } exports.Database = Database; diff --git a/dist/structures/Database.js.map b/dist/structures/Database.js.map index 0509e3b..d9ac377 100644 --- a/dist/structures/Database.js.map +++ b/dist/structures/Database.js.map @@ -1 +1 @@ -{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 598b95a..f3ec772 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

commands: GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index fca0fd7..8b0ac4e 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    useDefault?: boolean;
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    useDefault?: boolean;
}

Properties

Properties

events?: keyof IGiveawayEvents

The giveaway events to use.

-
useDefault?: boolean

Whether to use the default giveaway messages. Defaults to true.

-
+
useDefault?: boolean

Whether to use the default giveaway messages. Defaults to true.

+
diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 5746ef3..824a438 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -1,8 +1,8 @@ import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, Snowflake, TextChannel, time } from "discord.js" -import { Compiler, Context, ForgeClient, Interpreter } from "@tryforge/forgescript" +import { ForgeClient } from "@tryforge/forgescript" import { TransformEvents } from "@tryforge/forge.db" import { TypedEmitter } from "tiny-typed-emitter" -import { Database, Giveaway, IGiveawayRequirements } from "../structures" +import { Database, IGiveawayRequirements } from "../structures" import { GiveawaysErrorType, throwGiveawaysError } from "../functions/error" import { IGiveawayEvents } from "./GiveawaysEventManager" import { ForgeGiveaways } from ".." @@ -35,7 +35,7 @@ export class GiveawaysManager { * @returns */ public async start(options: IGiveawayStartOptions) { - const giveaway = new Giveaway(options) + const giveaway = new Database.entities.Giveaway(options) const chan = this.client.channels.cache.get(giveaway.channelID) as TextChannel | undefined if (this.giveaways.options.useDefault) { diff --git a/src/structures/Database.ts b/src/structures/Database.ts index 416adeb..66945d7 100644 --- a/src/structures/Database.ts +++ b/src/structures/Database.ts @@ -17,7 +17,7 @@ export class Database extends GiveawaysDatabaseManager { postgres: [Giveaway], } - private static entities: { + public static entities: { Giveaway: AnyGiveaway } @@ -46,7 +46,7 @@ export class Database extends GiveawaysDatabaseManager { * @returns */ public static async get(id: Snowflake) { - return await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id }) + return await this.db.getRepository(this.entities.Giveaway).findOneBy({ id }) } /** @@ -54,7 +54,7 @@ export class Database extends GiveawaysDatabaseManager { * @returns */ public static async getAll() { - return await this.db.getRepository(Database.entities.Giveaway).find() + return await this.db.getRepository(this.entities.Giveaway).find() } /** @@ -62,13 +62,12 @@ export class Database extends GiveawaysDatabaseManager { * @param data The giveaway data to save. */ public static async set(data: Giveaway) { - const newData = new Database.entities.Giveaway(data) - const oldData = await this.db.getRepository(Database.entities.Giveaway).findOneBy({ id: data.id }) + const oldData = await this.db.getRepository(this.entities.Giveaway).findOneBy({ id: data.id }) if (oldData && this.type === "mongodb") { - await this.db.getRepository(Database.entities.Giveaway).update(oldData.id, newData) + await this.db.getRepository(this.entities.Giveaway).update(oldData.id, data) } else { - await this.db.getRepository(Database.entities.Giveaway).save(newData) + await this.db.getRepository(this.entities.Giveaway).save(data) } } @@ -78,7 +77,7 @@ export class Database extends GiveawaysDatabaseManager { * @returns */ public static async delete(id: Snowflake) { - return await this.db.getRepository(Database.entities.Giveaway).delete({ id }) + return await this.db.getRepository(this.entities.Giveaway).delete({ id }) } /** @@ -86,6 +85,6 @@ export class Database extends GiveawaysDatabaseManager { * @returns */ public static async wipe() { - return await this.db.getRepository(Database.entities.Giveaway).clear() + return await this.db.getRepository(this.entities.Giveaway).clear() } } \ No newline at end of file From 3dd29f85207c7f4ea78787ea9eadb637069763da Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 15:32:48 +0200 Subject: [PATCH 60/87] Add missing stuff --- .gitignore | 1 + .npmignore | 8 +++ README.md | 56 ++++++++++++++- dist/index.d.ts | 5 +- dist/index.d.ts.map | 2 +- dist/index.js | 19 +++++- dist/index.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 9 ++- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 1 - dist/managers/GiveawaysManager.js.map | 2 +- docs/assets/highlight.css | 49 +++++++++++++ docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/Context.html | 68 +++++++++++++++++++ docs/classes/Database.html | 22 ++++++ docs/classes/ForgeGiveaways.html | 8 +-- docs/classes/Giveaway.html | 44 ++++++++++++ docs/classes/GiveawaysCommandManager.html | 25 +++++++ docs/classes/GiveawaysDatabaseManager.html | 7 ++ docs/classes/GiveawaysEventHandler.html | 7 ++ docs/classes/GiveawaysInteractionManager.html | 2 + docs/classes/GiveawaysManager.html | 15 ++++ docs/classes/MongoGiveaway.html | 46 +++++++++++++ docs/hierarchy.html | 1 + docs/index.html | 32 ++++++++- docs/interfaces/IExtendedContextCache.html | 16 +++++ docs/interfaces/IExtendedRunnable.html | 28 ++++++++ docs/interfaces/IExtendedStates.html | 24 +++++++ docs/interfaces/IForgeGiveawaysOptions.html | 6 +- docs/interfaces/IGiveaway.html | 14 ++++ docs/interfaces/IGiveawayEvents.html | 8 +++ docs/interfaces/IGiveawayRequirements.html | 4 ++ docs/interfaces/IGiveawayStartOptions.html | 8 +++ docs/modules.html | 24 ++++++- docs/types/AnyGiveaway.html | 1 + docs/types/ExtendedSendable.html | 1 + docs/types/ExtendedStates.html | 1 + docs/types/IGiveawayEditOptions.html | 1 + package.json | 2 +- src/index.ts | 8 ++- src/managers/GiveawaysManager.ts | 1 - 42 files changed, 555 insertions(+), 29 deletions(-) create mode 100644 .npmignore create mode 100644 docs/classes/Context.html create mode 100644 docs/classes/Database.html create mode 100644 docs/classes/Giveaway.html create mode 100644 docs/classes/GiveawaysCommandManager.html create mode 100644 docs/classes/GiveawaysDatabaseManager.html create mode 100644 docs/classes/GiveawaysEventHandler.html create mode 100644 docs/classes/GiveawaysInteractionManager.html create mode 100644 docs/classes/GiveawaysManager.html create mode 100644 docs/classes/MongoGiveaway.html create mode 100644 docs/hierarchy.html create mode 100644 docs/interfaces/IExtendedContextCache.html create mode 100644 docs/interfaces/IExtendedRunnable.html create mode 100644 docs/interfaces/IExtendedStates.html create mode 100644 docs/interfaces/IGiveaway.html create mode 100644 docs/interfaces/IGiveawayEvents.html create mode 100644 docs/interfaces/IGiveawayRequirements.html create mode 100644 docs/interfaces/IGiveawayStartOptions.html create mode 100644 docs/types/AnyGiveaway.html create mode 100644 docs/types/ExtendedSendable.html create mode 100644 docs/types/ExtendedStates.html create mode 100644 docs/types/IGiveawayEditOptions.html diff --git a/.gitignore b/.gitignore index 3c3629e..1dcef2d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ node_modules +.env \ No newline at end of file diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..a263413 --- /dev/null +++ b/.npmignore @@ -0,0 +1,8 @@ +*/__tests__/ +docs/ +src/ +metadata/ +.vscode/ +.github/ +.env +tsconfig.json \ No newline at end of file diff --git a/README.md b/README.md index ad1bcdf..c5b09d6 100644 --- a/README.md +++ b/README.md @@ -1 +1,55 @@ -# ForgeGiveaways \ No newline at end of file +
+ +# ForgeGiveaways +ForgeGiveaways is a lightweight, flexible, and reliable extension for managing giveaways. Fully customizable features let you automate, track, and control every giveaway seamlessly. + +@tryforge/forge.giveaways +@tryforge/forgescript +Discord + +
+ +--- + +## Contents + +1. [Installation](#installation) +2. [Documentation](https://docs.botforge.org/p/ForgeGiveaways/) + +

Installation


+ +1. Run the following command to install the required `npm` packages: + ```bash + npm i @tryforge/forge.giveaways @tryforge/forge.db + ``` + + > [!WARNING] + > **ForgeGiveaways** requires the extension [**ForgeDB**](https://docs.botforge.org/p/ForgeDB/) installed in order to operate. + +2. Here’s an example of how your main file should look: + ```js + const { ForgeClient } = require("@tryforge/forgescript") + const { ForgeGiveaways } = require("@tryforge/forge.giveaways") + const { ForgeDB } = require("@tryforge/forge.db") + + const giveaways = new ForgeGiveaways({ + events: [ + "giveawayStart", + "giveawayEnd" + ], + useDefault: true + }) + + const client = new ForgeClient({ + ...options // The options you currently have + extensions: [ + giveaways, + new ForgeDB() + ] + }) + + client.commands.load("commands") + giveaways.commands.load("giveaways") + + client.login("YourToken") + ``` diff --git a/dist/index.d.ts b/dist/index.d.ts index 2633c41..16ee4ea 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -15,7 +15,7 @@ export interface IForgeGiveawaysOptions { export declare class ForgeGiveaways extends ForgeExtension { readonly options: IForgeGiveawaysOptions; name: string; - description: string; + description: any; version: any; requireExtensions: string[]; emitter: TypedEmitter>; @@ -24,4 +24,7 @@ export declare class ForgeGiveaways extends ForgeExtension { constructor(options?: IForgeGiveawaysOptions); init(client: ForgeClient): Promise; } +export * from "./managers"; +export * from "./structures"; +export * from "./types"; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index b7ffe5e..27f30ba 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,SAAK;IAChB,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAexC"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,MAAyC;IACpD,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAexC;AAED,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index ab61de6..5aa1366 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,4 +1,18 @@ "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.ForgeGiveaways = void 0; const forgescript_1 = require("@tryforge/forgescript"); @@ -8,7 +22,7 @@ const structures_1 = require("./structures"); class ForgeGiveaways extends forgescript_1.ForgeExtension { options; name = "forge.giveaways"; - description = ""; + description = require("../package.json").description; version = require("../package.json").version; requireExtensions = ["forge.db"]; emitter = new tiny_typed_emitter_1.TypedEmitter(); @@ -32,4 +46,7 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { } } exports.ForgeGiveaways = ForgeGiveaways; +__exportStar(require("./managers"), exports); +__exportStar(require("./structures"), exports); +__exportStar(require("./types"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map index 58f5cfa..81b6115 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAcvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,EAAE,CAAA;IAChB,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5E,CAAC;CACJ;AA/BD,wCA+BC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAcvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAA;IACpD,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5E,CAAC;CACJ;AA/BD,wCA+BC;AAED,6CAA0B;AAC1B,+CAA4B;AAC5B,0CAAuB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index c549250..ef00566 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -25,26 +25,25 @@ export declare class GiveawaysManager { * @param options The start options for the giveaway. * @returns */ - start(options: IGiveawayStartOptions): Promise; + start(options: IGiveawayStartOptions): Promise; /** * Ends an existing giveaway. * @param id The id of the giveaway to end. * @returns */ - end(id: Snowflake): Promise; + end(id: Snowflake): Promise; /** * Rerolls an existing giveaway. - * @param ctx The current context. * @param id The id of the giveaway to reroll. * @returns */ - reroll(id: Snowflake): Promise; + reroll(id: Snowflake): Promise; /** * Edits an existing giveaway. * @param id The id of the giveaway to edit. * @param options The options used to edit this giveaway. */ - edit(id: Snowflake, options: IGiveawayEditOptions): Promise; + edit(id: Snowflake, options: IGiveawayEditOptions): Promise; /** * Randomly picks X amount of winners from the provided entries. * @param entries The entries to pick winners from. diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index eee7e83..9bead31 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBAFE,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW,EAC5B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAKnE;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IA0CjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAgD9B;;;;;OAKG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS;IAiBjC;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBAFE,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW,EAC5B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAKnE;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IA0CjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAgD9B;;;;OAIG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS;IAiBjC;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 5fc5407..542122b 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -100,7 +100,6 @@ class GiveawaysManager { } /** * Rerolls an existing giveaway. - * @param ctx The current context. * @param id The id of the giveaway to reroll. * @returns */ diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 0bb4224..a96ae57 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css index 5674cf3..aff3d07 100644 --- a/docs/assets/highlight.css +++ b/docs/assets/highlight.css @@ -1,22 +1,71 @@ :root { + --light-hl-0: #795E26; + --dark-hl-0: #DCDCAA; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #A31515; + --dark-hl-2: #CE9178; + --light-hl-3: #0000FF; + --dark-hl-3: #569CD6; + --light-hl-4: #0070C1; + --dark-hl-4: #4FC1FF; + --light-hl-5: #001080; + --dark-hl-5: #9CDCFE; + --light-hl-6: #008000; + --dark-hl-6: #6A9955; --light-code-background: #FFFFFF; --dark-code-background: #1E1E1E; } @media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); --code-background: var(--light-code-background); } } @media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); --code-background: var(--dark-code-background); } } :root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); --code-background: var(--light-code-background); } :root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); --code-background: var(--dark-code-background); } +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } pre, code { background: var(--code-background); } diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 24350e9..167aa60 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE4uuVipJrShRslJyyy9KT3XPLEtNLE+sLFbSUSpILMlQslJKzkksLk4t1keV18soyc1R0lHKzsxLUbIyNLKo1YGb5Imq1L+gJDM/D8nEzLyS1KK0xOTUYn3sSlENNzI1q40FAGXBIc6oAAAA" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE43TTU+DQBAG4P+y50YsSf3gZrBqD41JezQepuzYEmFAdlrbGP+7aSkVdpdlbyTzzsMyO7z9CMY9i0jEBZ2eRqIE3ohIJBkohSo4F642nGdiJD5TkiIah3e/o0vvIzCsQKHZ3FRc3U9FtcbndIfwDQdlGt26S2pCptFUfLpVXOQ5kJwDwRqrfkwLetnNQIZxLemlT3dI/AIkMyfdjnm5M2KsIOG0oOGDm2GvdwzDHtq8oHXRvwadssuZTfeMJFGetz+GZNNa7/T4iR+QoAqsyS4dTm5s9GJLBKtsgG1SXuSSgVG5wTrj5Lp/3Gt5vMoe1Rp14ubttD375fQQpz3uOVg348Ut8GubVpgPo+2kF71kqNg5SFvSRT/QwZwkH0pUQaukCdf3t+NJ2FIuS4Eku7tYU3rd29MWUdNsK2hY/1coU3N2tWjL2N33P7cIAATrBgAA" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 322ff7d..9f74e32 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE6WXS2+jMBSF/8vt1kqxeQRYz0NdjGY3GysaIbhJrUkggyHtCOW/jyCA7eJ03GHVCu75zsU6vnY6qKsXCSnv4JcoC0hZGBEosxNCCk9fqvqAX8UFs5fsj/x+bkRVSiDQ1kdIQZQN1vssR/lor9w8N6cjEMiPmZQoIQW4ksmIeiyYnfCCZfNR8sOs0gwInLMay+Z++3daaCV+wn3WHpuPtmEo/7cVFs+dmLVzNyP50Xz97hqHlM3UvCplU7d5U9UuyAez3v5Zbzq9s7LDHxfLsXCNV4Eyr8WwvE6WZv0a5wvW0tVV1a5xrPF3K2r8/NpgKY2d+Z63TbWmCzyJpkG3TKnaNY6HqeBbVmYHR2uLaE0PeXU6ZWXhtuRa8RrP6s38fc9S1X7QkXmBmkSiFI2T3Vjo5rUjIMoCXyHt5l2TAtv4mwQI7AUei/5EmuZGv3o9iEBR5e3w724s+4H9eOqLb9WPHhDuEeZvPBbtdoRP4uHF8GBiqCeDkALh1CakCyE1hAwIZzYhWwiZIfSBcN8m9BdC3xAGQHhgEwYLYWAIQyA8tAnDhTA0hBEQHtmE0UIYGcItEL61CbcL4dYQxkB4bBPGC2FsCBMgPLEJk4UwMQPQ54Fas0OX4aFv0jPEx54fS4DMBNE+F9SaIboMETVTRPtsUGuO6DJI46NhA16wbrB4um1EzrWJ1sHPcX9SOo2CDiiFtLte1X5Mu6u2Jft3N3ft2qBIgQIFThzjYFacSHEiJ8585ChGohiJG2O8Z2oLo62LE2Lfz8CDutMplK9QvhNqppymk0zry9Ma85xwwmxtPjgUVGM6IofTQOtK+0bq9pG32a8QoSKETgDLd6jLcAeUOVHGyxJqlyXFixUudqK1Eovph4LCaF25NTXfHhVjqxjbfzN2BM7ijEdRIqR8d73+BdN+OwQGDgAA"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html new file mode 100644 index 0000000..7066ae9 --- /dev/null +++ b/docs/classes/Context.html @@ -0,0 +1,68 @@ +Context | forge.giveaways

Hierarchy

  • Context
    • Context

Constructors

Properties

automodRule: Partial<IAutomodRuleOptions>
calendar?: CalendarType
component: Partial<IComponentOptions>
container: Container
executionTimestamp: number
http: Partial<IHttpOptions>
localFunctions: Map<string, ILocalFunctionData>
requirements: Partial<IGiveawayRequirements> = {}
timezone: string

Accessors

  • get args(): string[]
  • Returns string[]

  • get automod(): null | AutoModerationActionExecution
  • Returns null | AutoModerationActionExecution

  • get channel():
        | null
        | BaseChannel
        | CategoryChannel
        | NewsChannel
        | StageChannel
        | TextChannel
        | PrivateThreadChannel
        | VoiceChannel
        | ForumChannel
        | MediaChannel
        | PublicThreadChannel<boolean>
  • Returns
        | null
        | BaseChannel
        | CategoryChannel
        | NewsChannel
        | StageChannel
        | TextChannel
        | PrivateThreadChannel
        | VoiceChannel
        | ForumChannel
        | MediaChannel
        | PublicThreadChannel<boolean>

  • get client(): ForgeClient
  • Returns ForgeClient

  • get cmd(): null | BaseCommand<unknown>
  • Returns null | BaseCommand<unknown>

  • get emoji(): null | Emoji
  • Returns null | Emoji

  • get entitlement(): null | Entitlement
  • Returns null | Entitlement

  • get getExtension(): {
        <B>(name: string, required?: B): B extends true
            ? ForgeExtension
            : null | ForgeExtension;
        <T, B_1>(type: string | T, required?: B_1): B_1 extends true
            ? ClassInstance<T>
            : null | ClassInstance<T>;
    }
  • Returns {
        <B>(name: string, required?: B): B extends true
            ? ForgeExtension
            : null | ForgeExtension;
        <T, B_1>(type: string | T, required?: B_1): B_1 extends true
            ? ClassInstance<T>
            : null | ClassInstance<T>;
    }

      • <B>(name, required?): B extends true
            ? ForgeExtension
            : null | ForgeExtension
      • Type Parameters

        • B extends boolean

        Parameters

        • name: string
        • Optionalrequired: B

        Returns B extends true
            ? ForgeExtension
            : null | ForgeExtension

      • <T, B_1>(type, required?): B_1 extends true
            ? ClassInstance<T>
            : null | ClassInstance<T>
      • Type Parameters

        • T extends ClassType
        • B_1 extends boolean

        Parameters

        • type: string | T
        • Optionalrequired: B_1

        Returns B_1 extends true
            ? ClassInstance<T>
            : null | ClassInstance<T>

  • get guild(): null | Guild
  • Returns null | Guild

  • get interaction(): null | Interaction
  • Returns null | Interaction

  • get member(): null | GuildMember
  • Returns null | GuildMember

  • get message(): null | Message<any>
  • Returns null | Message<any>

  • get noop(): ((...args: any[]) => void)
  • Returns ((...args: any[]) => void)

      • (...args): void
      • Parameters

        • Rest...args: any[]

        Returns void

  • get reaction(): null | MessageReaction
  • Returns null | MessageReaction

  • get reason(): undefined | string
  • Returns undefined | string

  • set reason(str): void
  • Parameters

    • str: undefined | string

    Returns void

  • get role(): null | Role
  • Returns null | Role

  • get sound(): null | SoundboardSound
  • Returns null | SoundboardSound

  • get states(): undefined | States
  • Returns undefined | States

  • get sticker(): null | Sticker
  • Returns null | Sticker

  • get subscription(): null | Subscription
  • Returns null | Subscription

  • get user(): null | User
  • Returns null | User

Methods

  • Parameters

    • content: string

    Returns Promise<unknown>

  • Returns void

  • Returns void

  • Returns void

  • Returns void

  • Clones keywords and environment vars

    +

    Parameters

    • Optionalprops: Partial<IRunnable>
    • OptionalsyncVars: boolean

    Returns Context

  • Returns Context

  • Returns IRunnable

  • Parameters

    • name: string

    Returns boolean

  • Parameters

    • name: string

    Returns boolean

  • Fetches all emojis of the application.

    +

    Parameters

    • Optionalonce: boolean

      Whether to fetch only when the collection is empty.

      +

    Returns Promise<void | Collection<string, ApplicationEmoji>>

  • Type Parameters

    • T

    Parameters

    • key: PropertyKey

    Returns T

  • Type Parameters

    • T extends ClassType

    Parameters

    • type: T
    • Rest...keys: string[]

    Returns null | ClassInstance<T>

  • Parameters

    • Rest...args: string[]

    Returns undefined | object

  • Type Parameters

    • K extends string
    • T extends ClassType

    Parameters

    • key: K
    • type: T

    Returns null | (Context & {
        [P in "bro" as K]: ClassInstance<T>
    })[K]

  • Parameters

    • name: string

    Returns unknown

  • Type Parameters

    • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
    • Unwrap extends boolean

    Parameters

    Returns Promise<Return<ReturnType>>

  • Parameters

    • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
    • rt: Return<ReturnType>

    Returns boolean

  • Returns undefined | boolean

  • Type Parameters

    • K extends string
    • V extends ClassType

    Parameters

    • key: K
    • type: V

    Returns this is Context & {
        [P in "bro" as K]: ClassInstance<V>
    }

  • Parameters

    • name: string

    Returns boolean

  • Returns this is Context & {
        get interaction(): ChatInputCommandInteraction<CacheType>;
    }

  • Returns this is Context & {
        get interaction(): ContextMenuCommandInteraction<CacheType>;
    }

  • Returns this is Context & {
        get interaction(): AnySelectMenuInteraction;
    }

  • Parameters

    • name: string
    • value: unknown

    Returns unknown

  • Parameters

    • name: string
    • value: unknown

    Returns unknown

  • Parameters

    • value: unknown
    • Rest...keys: string[]

    Returns boolean

  • Parameters

    • Rest...keys: string[]

    Returns boolean | any[]

  • Parameters

    • previous: object
    • Rest...args: string[]

    Returns undefined | object

diff --git a/docs/classes/Database.html b/docs/classes/Database.html new file mode 100644 index 0000000..b672238 --- /dev/null +++ b/docs/classes/Database.html @@ -0,0 +1,22 @@ +Database | forge.giveaways

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

database: string = "giveaways.db"
entityManager: {
    mongodb: typeof MongoGiveaway[];
    mysql: typeof Giveaway[];
    postgres: typeof Giveaway[];
    sqlite: typeof Giveaway[];
} = ...
type?:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"
entities: {
    Giveaway: AnyGiveaway;
}
type:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"

Methods

  • Returns Promise<DataSource>

  • Deletes an existing giveaway from the database.

    +

    Parameters

    • id: string

      The id of the giveaway to delete.

      +

    Returns Promise<DeleteResult>

diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index f3ec772..2fbbabb 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

commands: GiveawaysCommandManager
description: string = ""
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

description: any = ...
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html new file mode 100644 index 0000000..86d7b5d --- /dev/null +++ b/docs/classes/Giveaway.html @@ -0,0 +1,44 @@ +Giveaway | forge.giveaways

Hierarchy (view full)

Implements

Constructors

Properties

channelID: string

The id of the channel this giveaway has been created in.

+
duration: number

The duration of this giveaway in ms.

+
entries: string[]

The user entries for this giveaway.

+
guildID: string

The id of the guild this giveaway has been created on.

+
hasEnded: boolean

Returns whether this giveaway has ended.

+
hostID: string

The id of the host for this giveaway.

+
id: string

The id of this giveaway.

+
messageID?: string

The id of the message this giveaway is associated with.

+
prize: string

The prize of this giveaway.

+
requirements?: IGiveawayRequirements

The requirements all participants have to meet for entering this giveaway.

+
timestamp: number

The timestamp this giveaway has been created at.

+
winners: string[]

The randomly selected winners of this giveaway.

+
winnersCount: number

The max amount of winners for this giveaway.

+

Methods

  • Returns whether a member is eligible to enter this giveaway.

    +

    Parameters

    • member: GuildMember

      The guild member to check for requirements.

      +

    Returns boolean

  • Returns whether a user has entered this giveaway.

    +

    Parameters

    • userID: string

      The user to check for.

      +

    Returns boolean

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html new file mode 100644 index 0000000..6780956 --- /dev/null +++ b/docs/classes/GiveawaysCommandManager.html @@ -0,0 +1,25 @@ +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html new file mode 100644 index 0000000..2c0f164 --- /dev/null +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -0,0 +1,7 @@ +GiveawaysDatabaseManager | forge.giveaways

Class GiveawaysDatabaseManagerAbstract

Hierarchy (view full)

  • DataBaseManager

Constructors

Properties

Methods

Constructors

Properties

database: string
entityManager: {
    mongodb: MixedList<string | Function | EntitySchema<any>>;
    mysql: MixedList<string | Function | EntitySchema<any>>;
    postgres: MixedList<string | Function | EntitySchema<any>>;
    sqlite: MixedList<string | Function | EntitySchema<any>>;
}
type?:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"
type:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"

Methods

  • Returns Promise<DataSource>

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html new file mode 100644 index 0000000..08b16e2 --- /dev/null +++ b/docs/classes/GiveawaysEventHandler.html @@ -0,0 +1,7 @@ +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysInteractionManager.html b/docs/classes/GiveawaysInteractionManager.html new file mode 100644 index 0000000..bb1b04d --- /dev/null +++ b/docs/classes/GiveawaysInteractionManager.html @@ -0,0 +1,2 @@ +GiveawaysInteractionManager | forge.giveaways

Class GiveawaysInteractionManager

Constructors

Constructors

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html new file mode 100644 index 0000000..4973a27 --- /dev/null +++ b/docs/classes/GiveawaysManager.html @@ -0,0 +1,15 @@ +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html new file mode 100644 index 0000000..54d744b --- /dev/null +++ b/docs/classes/MongoGiveaway.html @@ -0,0 +1,46 @@ +MongoGiveaway | forge.giveaways

Class MongoGiveaway

Hierarchy (view full)

Constructors

Properties

channelID: string

The id of the channel this giveaway has been created in.

+
duration: number

The duration of this giveaway in ms.

+
entries: string[]

The user entries for this giveaway.

+
guildID: string

The id of the guild this giveaway has been created on.

+
hasEnded: boolean

Returns whether this giveaway has ended.

+
hostID: string

The id of the host for this giveaway.

+
id: string

The id of this giveaway.

+
messageID?: string

The id of the message this giveaway is associated with.

+
mongoId?: string

The object id for MongoDB.

+
prize: string

The prize of this giveaway.

+
requirements?: IGiveawayRequirements

The requirements all participants have to meet for entering this giveaway.

+
timestamp: number

The timestamp this giveaway has been created at.

+
winners: string[]

The randomly selected winners of this giveaway.

+
winnersCount: number

The max amount of winners for this giveaway.

+

Methods

  • Returns whether a member is eligible to enter this giveaway.

    +

    Parameters

    • member: GuildMember

      The guild member to check for requirements.

      +

    Returns boolean

diff --git a/docs/hierarchy.html b/docs/hierarchy.html new file mode 100644 index 0000000..f9f01c6 --- /dev/null +++ b/docs/hierarchy.html @@ -0,0 +1 @@ +forge.giveaways
diff --git a/docs/index.html b/docs/index.html index 0bf515c..14b9c1e 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1,31 @@ -forge.giveaways

forge.giveaways

ForgeGiveaways

+forge.giveaways

forge.giveaways

+

ForgeGiveaways

ForgeGiveaways is a lightweight, flexible, and reliable extension for managing giveaways. Fully customizable features let you automate, track, and control every giveaway seamlessly.

+

@tryforge/forge.giveaways +@tryforge/forgescript +Discord

+
+
+
    +
  1. Installation
  2. +
  3. Documentation
  4. +
+

Installation


+
    +
  1. +

    Run the following command to install the required npm packages:

    +
    npm i @tryforge/forge.giveaways @tryforge/forge.db
    +
    + +
    +

    [!WARNING] +ForgeGiveaways requires the extension ForgeDB installed in order to operate.

    +
    +
  2. +
  3. +

    Here’s an example of how your main file should look:

    +
    const { ForgeClient } = require("@tryforge/forgescript")
    const { ForgeGiveaways } = require("@tryforge/forge.giveaways")
    const { ForgeDB } = require("@tryforge/forge.db")

    const giveaways = new ForgeGiveaways({
    events: [
    "giveawayStart",
    "giveawayEnd"
    ],
    useDefault: true
    })

    const client = new ForgeClient({
    ...options // The options you currently have
    extensions: [
    giveaways,
    new ForgeDB()
    ]
    })

    client.commands.load("commands")
    giveaways.commands.load("giveaways")

    client.login("YourToken") +
    + +
  4. +
+
diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html new file mode 100644 index 0000000..8c3c560 --- /dev/null +++ b/docs/interfaces/IExtendedContextCache.html @@ -0,0 +1,16 @@ +IExtendedContextCache | forge.giveaways

Interface IExtendedContextCache

interface IExtendedContextCache {
    automod: null | AutoModerationActionExecution;
    channel: null | BaseChannel;
    emoji: null | Emoji;
    entitlement: null | Entitlement;
    giveaway: null | Giveaway;
    guild: null | Guild;
    interaction: null | Interaction;
    member: null | GuildMember;
    message: null | Message<boolean>;
    reaction: null | MessageReaction;
    role: null | Role;
    sound: null | SoundboardSound;
    sticker: null | Sticker;
    subscription: null | Subscription;
    user: null | User;
}

Hierarchy

  • IContextCache
    • IExtendedContextCache

Properties

automod: null | AutoModerationActionExecution
channel: null | BaseChannel
emoji: null | Emoji
entitlement: null | Entitlement
giveaway: null | Giveaway
guild: null | Guild
interaction: null | Interaction
member: null | GuildMember
message: null | Message<boolean>
reaction: null | MessageReaction
role: null | Role
sound: null | SoundboardSound
sticker: null | Sticker
subscription: null | Subscription
user: null | User
diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html new file mode 100644 index 0000000..d8886a0 --- /dev/null +++ b/docs/interfaces/IExtendedRunnable.html @@ -0,0 +1,28 @@ +IExtendedRunnable | forge.giveaways

Interface IExtendedRunnable

interface IExtendedRunnable {
    allowTopLevelReturn?: boolean;
    args?: string[];
    client: ForgeClient;
    command: null | BaseCommand<unknown>;
    container?: Container;
    data: IExtendedCompilationResult;
    disableConsoleErrors?: boolean;
    doNotSend?: boolean;
    environment?: Record<string, unknown>;
    extras?: unknown;
    keywords?: Record<string, string>;
    obj: ExtendedSendable;
    redirectErrorsToConsole?: boolean;
    states?: ExtendedStates;
}

Hierarchy

  • IRunnable
    • IExtendedRunnable

Properties

allowTopLevelReturn?: boolean
args?: string[]

The args used in the message command

+
client: ForgeClient

The available discord client

+
command: null | BaseCommand<unknown>

The command used for this execution

+
container?: Container

The container reference to use

+
data: IExtendedCompilationResult

The compiled data to execute

+
disableConsoleErrors?: boolean

Removes errors output to console

+
doNotSend?: boolean

Whether to suppress sending the response to discord.

+
environment?: Record<string, unknown>

The already existing env variables

+
extras?: unknown

Extras data

+
keywords?: Record<string, string>

The already existing variables defined with $let

+

The context this code will run in

+
redirectErrorsToConsole?: boolean

Whether to suppress errors from being sent to discord, and be sent to console instead

+

The old and new states of an event

+
diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html new file mode 100644 index 0000000..4f5a20d --- /dev/null +++ b/docs/interfaces/IExtendedStates.html @@ -0,0 +1,24 @@ +IExtendedStates | forge.giveaways

Interface IExtendedStates

interface IExtendedStates {
    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">;
    automodRule: AutoModerationRule;
    ban: GuildBan;
    bulk: (Message<boolean> | PartialMessage<boolean>)[];
    channel: Channel;
    emoji: GuildEmoji;
    entitlement: Entitlement;
    giveaway: Giveaway;
    guild: Guild;
    invite: Invite;
    member: GuildMember;
    message: Message<boolean>;
    poll: PollAnswer;
    presence: Presence;
    role: Role;
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
    soundboardSound: SoundboardSound | PartialSoundboardSound;
    stage: StageInstance;
    sticker: Sticker;
    subscription: Subscription;
    user: User;
    voiceEffect: VoiceChannelEffect;
    voiceState: VoiceState;
}

Hierarchy

  • IStates
    • IExtendedStates

Properties

audit: GuildAuditLogsEntry<AuditLogEvent,
    | "Update"
    | "Create"
    | "Delete"
    | "All",
    | "Guild"
    | "Channel"
    | "User"
    | "Role"
    | "Invite"
    | "Webhook"
    | "Emoji"
    | "Message"
    | "Integration"
    | "StageInstance"
    | "Sticker"
    | "GuildScheduledEvent"
    | "Thread"
    | "ApplicationCommand"
    | "SoundboardSound"
    | "AutoModeration"
    | "GuildOnboardingPrompt"
    | "GuildOnboarding"
    | "Unknown">
automodRule: AutoModerationRule
ban: GuildBan
bulk: (Message<boolean> | PartialMessage<boolean>)[]
channel: Channel
emoji: GuildEmoji
entitlement: Entitlement
giveaway: Giveaway
guild: Guild
invite: Invite
member: GuildMember
message: Message<boolean>
poll: PollAnswer
presence: Presence
role: Role
scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
soundboardSound: SoundboardSound | PartialSoundboardSound
stage: StageInstance
sticker: Sticker
subscription: Subscription
user: User
voiceEffect: VoiceChannelEffect
voiceState: VoiceState
diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 8b0ac4e..ade1e1a 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    useDefault?: boolean;
}

Properties

events? +IForgeGiveawaysOptions | forge.giveaways

Interface IForgeGiveawaysOptions

interface IForgeGiveawaysOptions {
    events?: keyof IGiveawayEvents;
    useDefault?: boolean;
}

Properties

Properties

events?: keyof IGiveawayEvents

The giveaway events to use.

-
useDefault?: boolean

Whether to use the default giveaway messages. Defaults to true.

-
+
useDefault?: boolean

Whether to use the default giveaway messages. Defaults to true.

+
diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html new file mode 100644 index 0000000..626e6ba --- /dev/null +++ b/docs/interfaces/IGiveaway.html @@ -0,0 +1,14 @@ +IGiveaway | forge.giveaways

Interface IGiveaway

interface IGiveaway {
    channelID: string;
    duration: number;
    entries: string[];
    guildID: string;
    hasEnded: boolean;
    hostID: string;
    id: string;
    messageID?: string;
    prize: string;
    requirements?: IGiveawayRequirements;
    timestamp: number;
    winners: string[];
    winnersCount: number;
}

Hierarchy (view full)

Implemented by

Properties

channelID: string
duration: number
entries: string[]
guildID: string
hasEnded: boolean
hostID: string
id: string
messageID?: string
prize: string
requirements?: IGiveawayRequirements
timestamp: number
winners: string[]
winnersCount: number
diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html new file mode 100644 index 0000000..29e428c --- /dev/null +++ b/docs/interfaces/IGiveawayEvents.html @@ -0,0 +1,8 @@ +IGiveawayEvents | forge.giveaways

Interface IGiveawayEvents

interface IGiveawayEvents {
    databaseConnect: [];
    giveawayEdit: [Giveaway, Giveaway];
    giveawayEnd: [Giveaway];
    giveawayEntryAdd: [Giveaway, Giveaway];
    giveawayEntryRemove: [Giveaway, Giveaway];
    giveawayReroll: [Giveaway, Giveaway];
    giveawayStart: [Giveaway];
}

Properties

databaseConnect: []
giveawayEdit: [Giveaway, Giveaway]
giveawayEnd: [Giveaway]
giveawayEntryAdd: [Giveaway, Giveaway]
giveawayEntryRemove: [Giveaway, Giveaway]
giveawayReroll: [Giveaway, Giveaway]
giveawayStart: [Giveaway]
diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html new file mode 100644 index 0000000..80405d0 --- /dev/null +++ b/docs/interfaces/IGiveawayRequirements.html @@ -0,0 +1,4 @@ +IGiveawayRequirements | forge.giveaways

Interface IGiveawayRequirements

interface IGiveawayRequirements {
    requiredRoles?: string[];
    restrictedMembers?: string[];
    restrictedRoles?: string[];
}

Properties

requiredRoles?: string[]
restrictedMembers?: string[]
restrictedRoles?: string[]
diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html new file mode 100644 index 0000000..57c2a60 --- /dev/null +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -0,0 +1,8 @@ +IGiveawayStartOptions | forge.giveaways

Interface IGiveawayStartOptions

interface IGiveawayStartOptions {
    channelID: string;
    duration: number;
    guildID: string;
    hostID: string;
    prize: string;
    requirements?: IGiveawayRequirements;
    winnersCount: number;
}

Hierarchy (view full)

Properties

channelID: string
duration: number
guildID: string
hostID: string
prize: string
requirements?: IGiveawayRequirements
winnersCount: number
diff --git a/docs/modules.html b/docs/modules.html index 3567141..1f26426 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -1,3 +1,23 @@ -forge.giveaways

forge.giveaways

Index

Classes

Interfaces

IForgeGiveawaysOptions +forge.giveaways
diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html new file mode 100644 index 0000000..202e10a --- /dev/null +++ b/docs/types/AnyGiveaway.html @@ -0,0 +1 @@ +AnyGiveaway | forge.giveaways

Type Alias AnyGiveaway

AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html new file mode 100644 index 0000000..0aa7bd2 --- /dev/null +++ b/docs/types/ExtendedSendable.html @@ -0,0 +1 @@ +ExtendedSendable | forge.giveaways

Type Alias ExtendedSendable

ExtendedSendable: Sendable | Giveaway
diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html new file mode 100644 index 0000000..a8f93dd --- /dev/null +++ b/docs/types/ExtendedStates.html @@ -0,0 +1 @@ +ExtendedStates | forge.giveaways

Type Alias ExtendedStates

ExtendedStates: {
    [K in keyof IExtendedStates]?: {
        new?: IExtendedStates[K] | null;
        old?: IExtendedStates[K] | null;
    }
}
diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html new file mode 100644 index 0000000..1097793 --- /dev/null +++ b/docs/types/IGiveawayEditOptions.html @@ -0,0 +1 @@ +IGiveawayEditOptions | forge.giveaways

Type Alias IGiveawayEditOptions

IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
diff --git a/package.json b/package.json index 52e5e3d..154b944 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "forge.giveaways", "version": "1.0.0", - "description": "", + "description": "ForgeGiveaways is a lightweight, flexible, and reliable extension for managing giveaways. Fully customizable features let you automate, track, and control every giveaway seamlessly.", "main": "dist/index.js", "scripts": { "docgen": "tsc && typedoc src/index.ts && node dist/docgen", diff --git a/src/index.ts b/src/index.ts index 9da1d72..374f641 100644 --- a/src/index.ts +++ b/src/index.ts @@ -18,7 +18,7 @@ export interface IForgeGiveawaysOptions { export class ForgeGiveaways extends ForgeExtension { name = "forge.giveaways" - description = "" + description = require("../package.json").description version = require("../package.json").version requireExtensions = ["forge.db"] @@ -47,4 +47,8 @@ export class ForgeGiveaways extends ForgeExtension { await new Database(this.emitter).init() this.giveawaysManager = new GiveawaysManager(this, client, this.emitter) } -} \ No newline at end of file +} + +export * from "./managers" +export * from "./structures" +export * from "./types" \ No newline at end of file diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 824a438..da8e15a 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -131,7 +131,6 @@ export class GiveawaysManager { /** * Rerolls an existing giveaway. - * @param ctx The current context. * @param id The id of the giveaway to reroll. * @returns */ From 7bdbb8645960f14ceeb20b19086362f3ae494393 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 18:05:23 +0200 Subject: [PATCH 61/87] Small changes --- README.md | 6 +-- dist/events/giveawayStart.js | 2 +- dist/events/giveawayStart.js.map | 2 +- dist/index.js | 2 +- dist/index.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 6 +-- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 12 +++-- dist/managers/GiveawaysManager.js.map | 2 +- dist/structures/Database.d.ts | 2 +- dist/structures/Database.d.ts.map | 2 +- dist/structures/Database.js.map | 2 +- dist/structures/Giveaway.d.ts | 2 +- dist/structures/Giveaway.js | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 16 +++---- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionManager.html | 4 +- docs/classes/GiveawaysManager.html | 12 ++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/index.html | 8 ++-- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 6 +-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- src/events/giveawayStart.ts | 2 +- src/index.ts | 2 +- src/managers/GiveawaysManager.ts | 14 +++--- src/structures/Database.ts | 2 +- src/structures/Giveaway.ts | 2 +- 42 files changed, 126 insertions(+), 136 deletions(-) diff --git a/README.md b/README.md index c5b09d6..e6f517e 100644 --- a/README.md +++ b/README.md @@ -18,14 +18,14 @@ ForgeGiveaways is a lightweight, flexible, and reliable extension for managing g

Installation


+> [!WARNING] +> **ForgeGiveaways** requires the extension [**ForgeDB**](https://docs.botforge.org/p/ForgeDB/) installed in order to operate. + 1. Run the following command to install the required `npm` packages: ```bash npm i @tryforge/forge.giveaways @tryforge/forge.db ``` - > [!WARNING] - > **ForgeGiveaways** requires the extension [**ForgeDB**](https://docs.botforge.org/p/ForgeDB/) installed in order to operate. - 2. Here’s an example of how your main file should look: ```js const { ForgeClient } = require("@tryforge/forgescript") diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index f2d8c34..4b4e6c8 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -26,7 +26,7 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ data: command.compiled.code, allowTopLevelReturn: true }); - const result = await forgescript_1.Interpreter.run(ctx); + const result = await forgescript_1.Interpreter.run(ctx.runtime); if (client.options.useDefault === false) { const res = result?.trim(); console.log(res); diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index 66fdde0..bfb4632 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,8CAA4E;AAC5E,8CAAiD;AACjD,0BAAmC;AAGnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAErD,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC3B,mBAAmB,EAAE,IAAI;iBAC5B,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;oBAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAA;oBAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;oBAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAEhB,IAAI,CAAC,GAAG,EAAE,CAAC;wBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC9D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC5B,SAAQ;oBACZ,CAAC;oBAED,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,8CAA4E;AAC5E,8CAAiD;AACjD,0BAAmC;AAGnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAErD,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC3B,mBAAmB,EAAE,IAAI;iBAC5B,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAEjD,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;oBAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAA;oBAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;oBAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAEhB,IAAI,CAAC,GAAG,EAAE,CAAC;wBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC9D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC5B,SAAQ;oBACZ,CAAC;oBAED,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 5aa1366..fa374cb 100644 --- a/dist/index.js +++ b/dist/index.js @@ -42,7 +42,7 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { client.events.load("ForgeGiveawaysEvents", this.options.events); } await new structures_1.Database(this.emitter).init(); - this.giveawaysManager = new managers_1.GiveawaysManager(this, client, this.emitter); + this.giveawaysManager = new managers_1.GiveawaysManager(this, client); } } exports.ForgeGiveaways = ForgeGiveaways; diff --git a/dist/index.js.map b/dist/index.js.map index 81b6115..5ebb1fe 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAcvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAA;IACpD,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5E,CAAC;CACJ;AA/BD,wCA+BC;AAED,6CAA0B;AAC1B,+CAA4B;AAC5B,0CAAuB"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAcvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAA;IACpD,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;CACJ;AA/BD,wCA+BC;AAED,6CAA0B;AAC1B,+CAA4B;AAC5B,0CAAuB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index ef00566..24f9d10 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -1,9 +1,6 @@ import { Snowflake } from "discord.js"; import { ForgeClient } from "@tryforge/forgescript"; -import { TransformEvents } from "@tryforge/forge.db"; -import { TypedEmitter } from "tiny-typed-emitter"; import { IGiveawayRequirements } from "../structures"; -import { IGiveawayEvents } from "./GiveawaysEventManager"; import { ForgeGiveaways } from ".."; export interface IGiveawayStartOptions { prize: string; @@ -18,8 +15,7 @@ export type IGiveawayEditOptions = Omit>); + constructor(giveaways: ForgeGiveaways, client: ForgeClient); /** * Starts a new giveaway on a guild. * @param options The start options for the giveaway. diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 9bead31..a7a9b29 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,OAAO;gBAFE,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW,EAC5B,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAKnE;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IA0CjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAgD9B;;;;OAIG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS;IAiBjC;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IA0CjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAgD9B;;;;OAIG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS;IAiBjC;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 542122b..4c3cfd5 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -11,11 +11,9 @@ const noop_1 = __importDefault(require("../functions/noop")); class GiveawaysManager { giveaways; client; - emitter; - constructor(giveaways, client, emitter) { + constructor(giveaways, client) { this.giveaways = giveaways; this.client = client; - this.emitter = emitter; client.once("clientReady", () => this._restoreGiveaways()); } /** @@ -48,7 +46,7 @@ class GiveawaysManager { giveaway.messageID = msg.id; } await structures_1.Database.set(giveaway).catch(noop_1.default); - this.emitter.emit("giveawayStart", giveaway); + this.giveaways.emitter.emit("giveawayStart", giveaway); setTimeout(async () => await this.end(giveaway.id).catch(noop_1.default), giveaway.duration); return giveaway; } @@ -95,7 +93,7 @@ class GiveawaysManager { } } await structures_1.Database.set(giveaway).catch(noop_1.default); - this.emitter.emit("giveawayEnd", giveaway); + this.giveaways.emitter.emit("giveawayEnd", giveaway); return giveaway; } /** @@ -113,7 +111,7 @@ class GiveawaysManager { giveaway.winners = newWinners; if (this.giveaways.options.useDefault) { } await structures_1.Database.set(giveaway).catch(noop_1.default); - this.emitter.emit("giveawayReroll", oldGiveaway, giveaway); + this.giveaways.emitter.emit("giveawayReroll", oldGiveaway, giveaway); return giveaway; } /** @@ -138,7 +136,7 @@ class GiveawaysManager { giveaway.requirements = options.requirements; if (this.giveaways.options.useDefault) { } await structures_1.Database.set(giveaway).catch(noop_1.default); - this.emitter.emit("giveawayEdit", oldGiveaway, giveaway); + this.giveaways.emitter.emit("giveawayEdit", oldGiveaway, giveaway); return giveaway; } /** diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index a96ae57..edd1adb 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAqH;AAIrH,8CAA+D;AAC/D,8CAA4E;AAG5E,6DAAoC;AAcpC,MAAa,gBAAgB;IAEJ;IACA;IACT;IAHZ,YACqB,SAAyB,EACzB,MAAmB,EAC5B,OAAuD;QAF9C,cAAS,GAAT,SAAS,CAAgB;QACzB,WAAM,GAAN,MAAM,CAAa;QAC5B,YAAO,GAAP,OAAO,CAAgD;QAE/D,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK,CAAC,OAA8B;QAC7C,MAAM,QAAQ,GAAG,IAAI,qBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAA;QAE1F,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,yBAAY,EAAE;iBAC3B,QAAQ,CAAC,gBAAgB,CAAC;iBAC1B,cAAc,CAAC,cAAc,QAAQ,CAAC,KAAK,kBAAkB,QAAQ,CAAC,YAAY,EAAE,CAAC;iBACrF,SAAS,CACN,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAI,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAC/F,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,QAAQ,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CACtE;iBACA,QAAQ,CAAC,OAAO,CAAC,CAAA;YAEtB,MAAM,KAAK,GAAG,IAAI,6BAAgB,EAAE;iBAC/B,aAAa,CACV,IAAI,0BAAa,EAAE;iBACd,WAAW,CAAC,iBAAiB,QAAQ,CAAC,EAAE,EAAE,CAAC;iBAC3C,QAAQ,CAAC,OAAO,CAAC;iBACjB,QAAQ,CAAC,wBAAW,CAAC,OAAO,CAAC,CACrC,CAAA;YAEL,MAAM,GAAG,GAAG,MAAM,IAAI,EAAE,IAAI,CAAC;gBACzB,MAAM,EAAE,CAAC,KAAK,CAAC;gBACf,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC/B,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAEd,IAAI,CAAC,GAAG,EAAE,CAAC;gBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;gBACpE,OAAM;YACV,CAAC;YAED,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;QAC/B,CAAC;QAED,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;QAC5C,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAElF,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG,CAAC,EAAa;QAC1B,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC/C,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAA;QAExB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC5D,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC1C,OAAO,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QACzE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;QAE1B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAA;YAC1F,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAEvG,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBAC9B,MAAM,KAAK,GAAG,yBAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;qBACpC,QAAQ,CAAC,sBAAsB,CAAC;qBAChC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;qBACpF,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAEpB,GAAG,CAAC,IAAI,CAAC;oBACL,MAAM,EAAE,CAAC,KAAK,CAAC;oBACf,UAAU,EAAE,EAAE;iBACjB,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBAEd,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC5C,GAAG,CAAC,KAAK,CAAC;oBACN,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;wBACzB,CAAC,CAAC,kCAAkC;wBACpC,CAAC,CAAC,mCAAmC,MAAM,SAAS,QAAQ,CAAC,KAAK,qBAAqB,MAAM,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACpJ,eAAe,EAAE;wBACb,WAAW,EAAE,KAAK;wBAClB,KAAK,EAAE,CAAC,OAAO,CAAC;qBACnB;iBACJ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAClB,CAAC;QACL,CAAC;QAED,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAE1C,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CAAC,EAAa;QAC7B,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QAEpC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACrF,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC5E,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAA;QAE7B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA,CAAC;QAEzC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAE1D,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CAAC,EAAa,EAAE,OAA6B;QAC1D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QAEpC,IAAI,OAAO,CAAC,KAAK;YAAE,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QACjD,IAAI,OAAO,CAAC,QAAQ;YAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAC1D,IAAI,OAAO,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACtE,IAAI,OAAO,CAAC,MAAM;YAAE,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QACpD,IAAI,OAAO,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QAEtE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA,CAAC;QAEzC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAExD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAAC,OAAoB,EAAE,MAAc;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;QACxD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB;QAC3B,MAAM,SAAS,GAAG,MAAM,qBAAQ,CAAC,MAAM,EAAE,CAAA;QACzC,IAAI,CAAC,SAAS;YAAE,OAAM;QAEtB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,QAAQ,CAAC,QAAQ;gBAAE,SAAQ;YAE/B,IAAI,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC1B,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxF,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAC3C,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AAxLD,4CAwLC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/structures/Database.d.ts b/dist/structures/Database.d.ts index 53e910e..14eea7d 100644 --- a/dist/structures/Database.d.ts +++ b/dist/structures/Database.d.ts @@ -36,7 +36,7 @@ export declare class Database extends GiveawaysDatabaseManager { * Saves a giveaway in the database. * @param data The giveaway data to save. */ - static set(data: Giveaway): Promise; + static set(data: Giveaway | MongoGiveaway): Promise; /** * Deletes an existing giveaway from the database. * @param id The id of the giveaway to delete. diff --git a/dist/structures/Database.d.ts.map b/dist/structures/Database.d.ts.map index 5036e85..018ba0c 100644 --- a/dist/structures/Database.d.ts.map +++ b/dist/structures/Database.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;AAEhE,qBAAa,QAAS,SAAQ,wBAAwB;IAkBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjB7B,QAAQ,SAAiB;IAEzB,aAAa;;;;;MAKnB;IAED,OAAc,QAAQ,EAAE;QACpB,QAAQ,EAAE,WAAW,CAAA;KACxB,CAAA;IAED,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAgD;gBAEzC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IASvE,IAAI;IAMjB;;;;OAIG;WACiB,GAAG,CAAC,EAAE,EAAE,SAAS;IAIrC;;;OAGG;WACiB,MAAM;IAI1B;;;OAGG;WACiB,GAAG,CAAC,IAAI,EAAE,QAAQ;IAUtC;;;;OAIG;WACiB,MAAM,CAAC,EAAE,EAAE,SAAS;IAIxC;;;OAGG;WACiB,IAAI;CAG3B"} \ No newline at end of file +{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;AAEhE,qBAAa,QAAS,SAAQ,wBAAwB;IAkBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjB7B,QAAQ,SAAiB;IAEzB,aAAa;;;;;MAKnB;IAED,OAAc,QAAQ,EAAE;QACpB,QAAQ,EAAE,WAAW,CAAA;KACxB,CAAA;IAED,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAgD;gBAEzC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IASvE,IAAI;IAMjB;;;;OAIG;WACiB,GAAG,CAAC,EAAE,EAAE,SAAS;IAIrC;;;OAGG;WACiB,MAAM;IAI1B;;;OAGG;WACiB,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa;IAUtD;;;;OAIG;WACiB,MAAM,CAAC,EAAE,EAAE,SAAS;IAIxC;;;OAGG;WACiB,IAAI;CAG3B"} \ No newline at end of file diff --git a/dist/structures/Database.js.map b/dist/structures/Database.js.map index d9ac377..dabe3fd 100644 --- a/dist/structures/Database.js.map +++ b/dist/structures/Database.js.map @@ -1 +1 @@ -{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/structures/Giveaway.d.ts b/dist/structures/Giveaway.d.ts index a046985..5480185 100644 --- a/dist/structures/Giveaway.d.ts +++ b/dist/structures/Giveaway.d.ts @@ -30,7 +30,7 @@ export declare class Giveaway implements IGiveaway { */ winnersCount: number; /** - * Returns whether this giveaway has ended. + * Indicates whether this giveaway has ended. */ hasEnded: boolean; /** diff --git a/dist/structures/Giveaway.js b/dist/structures/Giveaway.js index 8bdf19a..0e47bb3 100644 --- a/dist/structures/Giveaway.js +++ b/dist/structures/Giveaway.js @@ -34,7 +34,7 @@ let Giveaway = class Giveaway { */ winnersCount; /** - * Returns whether this giveaway has ended. + * Indicates whether this giveaway has ended. */ hasEnded; /** diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 7066ae9..c39b0b5 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

Hierarchy

  • Context
    • Context

Constructors

constructor +Context | forge.giveaways

Hierarchy

  • Context
    • Context

Constructors

Properties

automodRule: Partial<IAutomodRuleOptions>
calendar?: CalendarType
component: Partial<IComponentOptions>
container: Container
executionTimestamp: number
http: Partial<IHttpOptions>
localFunctions: Map<string, ILocalFunctionData>
requirements: Partial<IGiveawayRequirements> = {}
timezone: string

Accessors

  • get args(): string[]
  • Returns string[]

  • get automod(): null | AutoModerationActionExecution
  • Returns null | AutoModerationActionExecution

  • get channel():
        | null
        | BaseChannel
        | CategoryChannel
        | NewsChannel
        | StageChannel
        | TextChannel
        | PrivateThreadChannel
        | VoiceChannel
        | ForumChannel
        | MediaChannel
        | PublicThreadChannel<boolean>
  • Returns
        | null
        | BaseChannel
        | CategoryChannel
        | NewsChannel
        | StageChannel
        | TextChannel
        | PrivateThreadChannel
        | VoiceChannel
        | ForumChannel
        | MediaChannel
        | PublicThreadChannel<boolean>

  • get client(): ForgeClient
  • Returns ForgeClient

  • get cmd(): null | BaseCommand<unknown>
  • Returns null | BaseCommand<unknown>

  • get emoji(): null | Emoji
  • Returns null | Emoji

  • get entitlement(): null | Entitlement
  • Returns null | Entitlement

  • get getExtension(): {
        <B>(name: string, required?: B): B extends true
            ? ForgeExtension
            : null | ForgeExtension;
        <T, B_1>(type: string | T, required?: B_1): B_1 extends true
            ? ClassInstance<T>
            : null | ClassInstance<T>;
    }
  • Returns {
        <B>(name: string, required?: B): B extends true
            ? ForgeExtension
            : null | ForgeExtension;
        <T, B_1>(type: string | T, required?: B_1): B_1 extends true
            ? ClassInstance<T>
            : null | ClassInstance<T>;
    }

      • <B>(name, required?): B extends true
            ? ForgeExtension
            : null | ForgeExtension
      • Type Parameters

        • B extends boolean

        Parameters

        • name: string
        • Optionalrequired: B

        Returns B extends true
            ? ForgeExtension
            : null | ForgeExtension

      • <T, B_1>(type, required?): B_1 extends true
            ? ClassInstance<T>
            : null | ClassInstance<T>
      • Type Parameters

        • T extends ClassType
        • B_1 extends boolean

        Parameters

        • type: string | T
        • Optionalrequired: B_1

        Returns B_1 extends true
            ? ClassInstance<T>
            : null | ClassInstance<T>

  • get guild(): null | Guild
  • Returns null | Guild

  • get interaction(): null | Interaction
  • Returns null | Interaction

  • get member(): null | GuildMember
  • Returns null | GuildMember

  • get message(): null | Message<any>
  • Returns null | Message<any>

  • get noop(): ((...args: any[]) => void)
  • Returns ((...args: any[]) => void)

      • (...args): void
      • Parameters

        • Rest...args: any[]

        Returns void

  • get reaction(): null | MessageReaction
  • Returns null | MessageReaction

  • get reason(): undefined | string
  • Returns undefined | string

  • set reason(str): void
  • Parameters

    • str: undefined | string

    Returns void

  • get role(): null | Role
  • Returns null | Role

  • get sound(): null | SoundboardSound
  • Returns null | SoundboardSound

  • get states(): undefined | States
  • Returns undefined | States

  • get sticker(): null | Sticker
  • Returns null | Sticker

  • get subscription(): null | Subscription
  • Returns null | Subscription

  • get user(): null | User
  • Returns null | User

Methods

  • Parameters

    • content: string

    Returns Promise<unknown>

  • Returns void

  • Returns void

  • Returns void

  • Returns void

  • Clones keywords and environment vars

    +

Constructors

Properties

automodRule: Partial<IAutomodRuleOptions>
calendar?: CalendarType
component: Partial<IComponentOptions>
container: Container
executionTimestamp: number
http: Partial<IHttpOptions>
localFunctions: Map<string, ILocalFunctionData>
requirements: Partial<IGiveawayRequirements> = {}
timezone: string

Accessors

  • get args(): string[]
  • Returns string[]

  • get automod(): null | AutoModerationActionExecution
  • Returns null | AutoModerationActionExecution

  • get channel():
        | null
        | BaseChannel
        | CategoryChannel
        | NewsChannel
        | StageChannel
        | TextChannel
        | PrivateThreadChannel
        | VoiceChannel
        | ForumChannel
        | MediaChannel
        | PublicThreadChannel<boolean>
  • Returns
        | null
        | BaseChannel
        | CategoryChannel
        | NewsChannel
        | StageChannel
        | TextChannel
        | PrivateThreadChannel
        | VoiceChannel
        | ForumChannel
        | MediaChannel
        | PublicThreadChannel<boolean>

  • get client(): ForgeClient
  • Returns ForgeClient

  • get cmd(): null | BaseCommand<unknown>
  • Returns null | BaseCommand<unknown>

  • get emoji(): null | Emoji
  • Returns null | Emoji

  • get entitlement(): null | Entitlement
  • Returns null | Entitlement

  • get getExtension(): {
        <B>(name: string, required?: B): B extends true
            ? ForgeExtension
            : null | ForgeExtension;
        <T, B_1>(type: string | T, required?: B_1): B_1 extends true
            ? ClassInstance<T>
            : null | ClassInstance<T>;
    }
  • Returns {
        <B>(name: string, required?: B): B extends true
            ? ForgeExtension
            : null | ForgeExtension;
        <T, B_1>(type: string | T, required?: B_1): B_1 extends true
            ? ClassInstance<T>
            : null | ClassInstance<T>;
    }

      • <B>(name, required?): B extends true
            ? ForgeExtension
            : null | ForgeExtension
      • Type Parameters

        • B extends boolean

        Parameters

        • name: string
        • Optionalrequired: B

        Returns B extends true
            ? ForgeExtension
            : null | ForgeExtension

      • <T, B_1>(type, required?): B_1 extends true
            ? ClassInstance<T>
            : null | ClassInstance<T>
      • Type Parameters

        • T extends ClassType
        • B_1 extends boolean

        Parameters

        • type: string | T
        • Optionalrequired: B_1

        Returns B_1 extends true
            ? ClassInstance<T>
            : null | ClassInstance<T>

  • get guild(): null | Guild
  • Returns null | Guild

  • get interaction(): null | Interaction
  • Returns null | Interaction

  • get member(): null | GuildMember
  • Returns null | GuildMember

  • get message(): null | Message<any>
  • Returns null | Message<any>

  • get noop(): ((...args: any[]) => void)
  • Returns ((...args: any[]) => void)

      • (...args): void
      • Parameters

        • Rest...args: any[]

        Returns void

  • get reaction(): null | MessageReaction
  • Returns null | MessageReaction

  • get reason(): undefined | string
  • Returns undefined | string

  • set reason(str): void
  • Parameters

    • str: undefined | string

    Returns void

  • get role(): null | Role
  • Returns null | Role

  • get sound(): null | SoundboardSound
  • Returns null | SoundboardSound

  • get states(): undefined | States
  • Returns undefined | States

  • get sticker(): null | Sticker
  • Returns null | Sticker

  • get subscription(): null | Subscription
  • Returns null | Subscription

  • get user(): null | User
  • Returns null | User

Methods

  • Parameters

    • content: string

    Returns Promise<unknown>

  • Returns void

  • Returns void

  • Returns void

  • Returns void

  • Clones keywords and environment vars

    Parameters

    • Optionalprops: Partial<IRunnable>
    • OptionalsyncVars: boolean

    Returns Context

  • Returns Context

  • Returns IRunnable

  • Parameters

    • name: string

    Returns boolean

  • Parameters

    • name: string

    Returns boolean

  • Fetches all emojis of the application.

    Parameters

    • Optionalonce: boolean

      Whether to fetch only when the collection is empty.

    Returns Promise<void | Collection<string, ApplicationEmoji>>

  • Type Parameters

    • T

    Parameters

    • key: PropertyKey

    Returns T

  • Type Parameters

    • T extends ClassType

    Parameters

    • type: T
    • Rest...keys: string[]

    Returns null | ClassInstance<T>

  • Parameters

    • Rest...args: string[]

    Returns undefined | object

  • Type Parameters

    • K extends string
    • T extends ClassType

    Parameters

    • key: K
    • type: T

    Returns null | (Context & {
        [P in "bro" as K]: ClassInstance<T>
    })[K]

  • Parameters

    • name: string

    Returns unknown

  • Type Parameters

    • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
    • Unwrap extends boolean

    Parameters

    Returns Promise<Return<ReturnType>>

  • Parameters

    • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
    • rt: Return<ReturnType>

    Returns boolean

  • Returns undefined | boolean

  • Type Parameters

    • K extends string
    • V extends ClassType

    Parameters

    • key: K
    • type: V

    Returns this is Context & {
        [P in "bro" as K]: ClassInstance<V>
    }

  • Parameters

    • name: string

    Returns boolean

  • Returns this is Context & {
        get interaction(): ChatInputCommandInteraction<CacheType>;
    }

  • Returns this is Context & {
        get interaction(): ContextMenuCommandInteraction<CacheType>;
    }

  • Returns this is Context & {
        get interaction(): AnySelectMenuInteraction;
    }

  • Parameters

    • name: string
    • value: unknown

    Returns unknown

  • Parameters

    • name: string
    • value: unknown

    Returns unknown

  • Parameters

    • value: unknown
    • Rest...keys: string[]

    Returns boolean

  • Parameters

    • Rest...keys: string[]

    Returns boolean | any[]

  • Parameters

    • previous: object
    • Rest...args: string[]

    Returns undefined | object

diff --git a/docs/classes/Database.html b/docs/classes/Database.html index b672238..5364f13 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

Hierarchy (view full)

Constructors

constructor +Database | forge.giveaways

Hierarchy (view full)

Constructors

Properties

database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

Constructors

Properties

database: string = "giveaways.db"
entityManager: {
    mongodb: typeof MongoGiveaway[];
    mysql: typeof Giveaway[];
    postgres: typeof Giveaway[];
    sqlite: typeof Giveaway[];
} = ...
type?:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"
entities: {
    Giveaway: AnyGiveaway;
}
type:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"

Methods

  • Returns Promise<DataSource>

  • Deletes an existing giveaway from the database.

    +

Constructors

Properties

database: string = "giveaways.db"
entityManager: {
    mongodb: typeof MongoGiveaway[];
    mysql: typeof Giveaway[];
    postgres: typeof Giveaway[];
    sqlite: typeof Giveaway[];
} = ...
type?:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"
entities: {
    Giveaway: AnyGiveaway;
}
type:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"

Methods

  • Returns Promise<DataSource>

  • Deletes an existing giveaway from the database.

    Parameters

    • id: string

      The id of the giveaway to delete.

      -

    Returns Promise<DeleteResult>

  • Gets an existing giveaway.

    +

Returns Promise<DeleteResult>

+

Returns Promise<null | Giveaway>

diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 2fbbabb..d9ee58a 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

constructor +ForgeGiveaways | forge.giveaways

Class ForgeGiveaways

Hierarchy

  • ForgeExtension
    • ForgeGiveaways

Constructors

Properties

Constructors

Properties

description: any = ...
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

-
targetVersions?: string[]

Only the versions written here will be allowed

-
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

+

Constructors

Properties

description: any = ...
emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
giveawaysManager: GiveawaysManager
name: string = "forge.giveaways"
requireExtensions: string[] = ...

A list of extension names this extension requires

+
targetVersions?: string[]

Only the versions written here will be allowed

+
version: any = ...

Methods

  • Returns any

  • Parameters

    • client: ForgeClient

    Returns Promise<void>

  • Parameters

    • path: string

    Returns void

  • Parameters

    • client: ForgeClient

    Returns void

diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index 86d7b5d..97a9227 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

Hierarchy (view full)

Implements

Constructors

constructor +Giveaway | forge.giveaways

Hierarchy (view full)

Implements

Constructors

Properties

Constructors

Properties

channelID: string

The id of the channel this giveaway has been created in.

-
duration: number

The duration of this giveaway in ms.

-
entries: string[]

The user entries for this giveaway.

-
guildID: string

The id of the guild this giveaway has been created on.

-
hasEnded: boolean

Returns whether this giveaway has ended.

-
hostID: string

The id of the host for this giveaway.

-
id: string

The id of this giveaway.

-
messageID?: string

The id of the message this giveaway is associated with.

-
prize: string

The prize of this giveaway.

-
requirements?: IGiveawayRequirements

The requirements all participants have to meet for entering this giveaway.

-
timestamp: number

The timestamp this giveaway has been created at.

-
winners: string[]

The randomly selected winners of this giveaway.

-
winnersCount: number

The max amount of winners for this giveaway.

-

Methods

  • Adds a user entry to this giveaway.

    +

Constructors

Properties

channelID: string

The id of the channel this giveaway has been created in.

+
duration: number

The duration of this giveaway in ms.

+
entries: string[]

The user entries for this giveaway.

+
guildID: string

The id of the guild this giveaway has been created on.

+
hasEnded: boolean

Indicates whether this giveaway has ended.

+
hostID: string

The id of the host for this giveaway.

+
id: string

The id of this giveaway.

+
messageID?: string

The id of the message this giveaway is associated with.

+
prize: string

The prize of this giveaway.

+
requirements?: IGiveawayRequirements

The requirements all participants have to meet for entering this giveaway.

+
timestamp: number

The timestamp this giveaway has been created at.

+
winners: string[]

The randomly selected winners of this giveaway.

+
winnersCount: number

The max amount of winners for this giveaway.

+

Methods

  • Returns whether a member is eligible to enter this giveaway.

    +

Returns null | Giveaway

  • Returns whether a member is eligible to enter this giveaway.

    Parameters

    • member: GuildMember

      The guild member to check for requirements.

      -

    Returns boolean

  • Returns whether a user has entered this giveaway.

    +

Returns boolean

  • Returns whether a user has entered this giveaway.

    Parameters

    • userID: string

      The user to check for.

      -

    Returns boolean

  • Removes a user entry from this giveaway.

    +

Returns boolean

+

Returns null | Giveaway

diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 6780956..f4ad815 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

constructor +GiveawaysCommandManager | forge.giveaways

Class GiveawaysCommandManager

Hierarchy

Constructors

Properties

Accessors

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

+

Constructors

  • Parameters

    • client: ForgeClient

    Returns GiveawaysCommandManager

Properties

handlerName: string = "ForgeGiveawaysEvents"
defaultMaxListeners: number

Accessors

  • get count(): number
  • Returns number

Methods

  • Parameters

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns boolean

  • Type Parameters

    • U extends "update"

    Returns U[]

  • Parameters

    Returns BaseCommand<keyof IGiveawayEvents>[]

  • Returns number

  • Parameters

    • type: "update"

    Returns number

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Parameters

    • path: string

    Returns void

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    • type: U

    Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

  • Returns void

  • Parameters

    • Optionalevent: "update"

    Returns this

  • Type Parameters

    • U extends "update"

    Parameters

    Returns this

  • Parameters

    • n: number

    Returns this

  • Returns BaseCommand<keyof IGiveawayEvents>[]

diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 2c0f164..5b2411c 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

Class GiveawaysDatabaseManagerAbstract

Hierarchy (view full)

  • DataBaseManager

Constructors

constructor +GiveawaysDatabaseManager | forge.giveaways

Class GiveawaysDatabaseManagerAbstract

Hierarchy (view full)

  • DataBaseManager

Constructors

Properties

Methods

Constructors

Properties

database: string
entityManager: {
    mongodb: MixedList<string | Function | EntitySchema<any>>;
    mysql: MixedList<string | Function | EntitySchema<any>>;
    postgres: MixedList<string | Function | EntitySchema<any>>;
    sqlite: MixedList<string | Function | EntitySchema<any>>;
}
type?:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"
type:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"

Methods

  • Returns Promise<DataSource>

+

Constructors

Properties

database: string
entityManager: {
    mongodb: MixedList<string | Function | EntitySchema<any>>;
    mysql: MixedList<string | Function | EntitySchema<any>>;
    postgres: MixedList<string | Function | EntitySchema<any>>;
    sqlite: MixedList<string | Function | EntitySchema<any>>;
}
type?:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"
type:
    | "mysql"
    | "postgres"
    | "mongodb"
    | "better-sqlite3"
    | "sqlite"

Methods

  • Returns Promise<DataSource>

diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 08b16e2..72ad493 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

constructor +GiveawaysEventHandler | forge.giveaways

Class GiveawaysEventHandler<T>

Type Parameters

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

+

Constructors

Properties

data: IEvent<IGiveawayEvents, T>

Accessors

  • get description(): string
  • Returns string

  • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
  • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

      • (this, ...args): void | Promise<void>
      • Parameters

        • this: ForgeClient
        • Rest...args: AssertArgs<Events[T]>

        Returns void | Promise<void>

  • get name(): T
  • Returns T

Methods

diff --git a/docs/classes/GiveawaysInteractionManager.html b/docs/classes/GiveawaysInteractionManager.html index bb1b04d..fc89a9d 100644 --- a/docs/classes/GiveawaysInteractionManager.html +++ b/docs/classes/GiveawaysInteractionManager.html @@ -1,2 +1,2 @@ -GiveawaysInteractionManager | forge.giveaways

Class GiveawaysInteractionManager

Constructors

Constructors

+GiveawaysInteractionManager | forge.giveaways

Class GiveawaysInteractionManager

Constructors

Constructors

diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 4973a27..efe271c 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,15 +1,15 @@ -GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

constructor +GiveawaysManager | forge.giveaways

Class GiveawaysManager

Constructors

Methods

Constructors

Methods

  • Edits an existing giveaway.

    +

Constructors

Methods

  • Ends an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Rerolls an existing giveaway.

    +

Returns Promise<null | Giveaway>

  • Starts a new giveaway on a guild.

    +

Returns Promise<null | Giveaway>

+

Returns Promise<undefined | Giveaway>

diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index 54d744b..8b0ff0b 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

Class MongoGiveaway

Hierarchy (view full)

Constructors

constructor +MongoGiveaway | forge.giveaways

Class MongoGiveaway

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

channelID: string

The id of the channel this giveaway has been created in.

-
duration: number

The duration of this giveaway in ms.

-
entries: string[]

The user entries for this giveaway.

-
guildID: string

The id of the guild this giveaway has been created on.

-
hasEnded: boolean

Returns whether this giveaway has ended.

-
hostID: string

The id of the host for this giveaway.

-
id: string

The id of this giveaway.

-
messageID?: string

The id of the message this giveaway is associated with.

-
mongoId?: string

The object id for MongoDB.

-
prize: string

The prize of this giveaway.

-
requirements?: IGiveawayRequirements

The requirements all participants have to meet for entering this giveaway.

-
timestamp: number

The timestamp this giveaway has been created at.

-
winners: string[]

The randomly selected winners of this giveaway.

-
winnersCount: number

The max amount of winners for this giveaway.

-

Methods

  • Adds a user entry to this giveaway.

    +

Constructors

Properties

channelID: string

The id of the channel this giveaway has been created in.

+
duration: number

The duration of this giveaway in ms.

+
entries: string[]

The user entries for this giveaway.

+
guildID: string

The id of the guild this giveaway has been created on.

+
hasEnded: boolean

Indicates whether this giveaway has ended.

+
hostID: string

The id of the host for this giveaway.

+
id: string

The id of this giveaway.

+
messageID?: string

The id of the message this giveaway is associated with.

+
mongoId?: string

The object id for MongoDB.

+
prize: string

The prize of this giveaway.

+
requirements?: IGiveawayRequirements

The requirements all participants have to meet for entering this giveaway.

+
timestamp: number

The timestamp this giveaway has been created at.

+
winners: string[]

The randomly selected winners of this giveaway.

+
winnersCount: number

The max amount of winners for this giveaway.

+

Methods

  • Returns whether a member is eligible to enter this giveaway.

    +

Returns null | MongoGiveaway

  • Returns whether a member is eligible to enter this giveaway.

    Parameters

    • member: GuildMember

      The guild member to check for requirements.

      -

    Returns boolean

  • Returns whether a user has entered this giveaway.

    +

Returns boolean

  • Removes a user entry from this giveaway.

    +

Returns boolean

+

Returns null | MongoGiveaway

diff --git a/docs/index.html b/docs/index.html index 14b9c1e..4c03b56 100644 --- a/docs/index.html +++ b/docs/index.html @@ -10,16 +10,16 @@
  • Documentation
  • Installation


    +
    +

    [!WARNING] +ForgeGiveaways requires the extension ForgeDB installed in order to operate.

    +
    1. Run the following command to install the required npm packages:

      npm i @tryforge/forge.giveaways @tryforge/forge.db
       
      -
      -

      [!WARNING] -ForgeGiveaways requires the extension ForgeDB installed in order to operate.

      -
    2. Here’s an example of how your main file should look:

      diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 8c3c560..040bf63 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      automod +IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      +

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index d8886a0..31fe390 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      extras?: unknown

      Extras data

      keywords?: Record<string, string>

      The already existing variables defined with $let

      The context this code will run in

      -
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      +
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      The old and new states of an event

      -
      +
      diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index 4f5a20d..5dfb659 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      audit +IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      +

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index ade1e1a..aa52e2f 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          useDefault?: boolean;
      }

      Properties

      events? +IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          useDefault?: boolean;
      }

      Properties

      Properties

      events?: keyof IGiveawayEvents

      The giveaway events to use.

      -
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      -
      +
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      +
      diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 626e6ba..c73553d 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID +IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 29e428c..57834fe 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,8 +1,8 @@ -IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect +IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      +

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index 80405d0..fa8f960 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles? +IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      +

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 57c2a60..a4fbf01 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID +IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index 202e10a..9f2698f 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      +AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index 0aa7bd2..14a1e71 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      +ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index a8f93dd..cb2ff3d 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      +ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 1097793..3ec9662 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      +IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index 5ed48dc..a27b935 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -28,7 +28,7 @@ export default new GiveawaysEventHandler({ allowTopLevelReturn: true }) - const result = await Interpreter.run(ctx) + const result = await Interpreter.run(ctx.runtime) if (client.options.useDefault === false) { const res = result?.trim() diff --git a/src/index.ts b/src/index.ts index 374f641..d96cc82 100644 --- a/src/index.ts +++ b/src/index.ts @@ -45,7 +45,7 @@ export class ForgeGiveaways extends ForgeExtension { } await new Database(this.emitter).init() - this.giveawaysManager = new GiveawaysManager(this, client, this.emitter) + this.giveawaysManager = new GiveawaysManager(this, client) } } diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index da8e15a..9155bad 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -1,10 +1,7 @@ import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, Snowflake, TextChannel, time } from "discord.js" import { ForgeClient } from "@tryforge/forgescript" -import { TransformEvents } from "@tryforge/forge.db" -import { TypedEmitter } from "tiny-typed-emitter" import { Database, IGiveawayRequirements } from "../structures" import { GiveawaysErrorType, throwGiveawaysError } from "../functions/error" -import { IGiveawayEvents } from "./GiveawaysEventManager" import { ForgeGiveaways } from ".." import noop from "../functions/noop" @@ -23,8 +20,7 @@ export type IGiveawayEditOptions = Omit> + private readonly client: ForgeClient ) { client.once("clientReady", () => this._restoreGiveaways()) } @@ -70,7 +66,7 @@ export class GiveawaysManager { } await Database.set(giveaway).catch(noop) - this.emitter.emit("giveawayStart", giveaway) + this.giveaways.emitter.emit("giveawayStart", giveaway) setTimeout(async () => await this.end(giveaway.id).catch(noop), giveaway.duration) return giveaway @@ -124,7 +120,7 @@ export class GiveawaysManager { } await Database.set(giveaway).catch(noop) - this.emitter.emit("giveawayEnd", giveaway) + this.giveaways.emitter.emit("giveawayEnd", giveaway) return giveaway } @@ -146,7 +142,7 @@ export class GiveawaysManager { if (this.giveaways.options.useDefault) {} await Database.set(giveaway).catch(noop) - this.emitter.emit("giveawayReroll", oldGiveaway, giveaway) + this.giveaways.emitter.emit("giveawayReroll", oldGiveaway, giveaway) return giveaway } @@ -170,7 +166,7 @@ export class GiveawaysManager { if (this.giveaways.options.useDefault) {} await Database.set(giveaway).catch(noop) - this.emitter.emit("giveawayEdit", oldGiveaway, giveaway) + this.giveaways.emitter.emit("giveawayEdit", oldGiveaway, giveaway) return giveaway } diff --git a/src/structures/Database.ts b/src/structures/Database.ts index 66945d7..2be7e3b 100644 --- a/src/structures/Database.ts +++ b/src/structures/Database.ts @@ -61,7 +61,7 @@ export class Database extends GiveawaysDatabaseManager { * Saves a giveaway in the database. * @param data The giveaway data to save. */ - public static async set(data: Giveaway) { + public static async set(data: Giveaway | MongoGiveaway) { const oldData = await this.db.getRepository(this.entities.Giveaway).findOneBy({ id: data.id }) if (oldData && this.type === "mongodb") { diff --git a/src/structures/Giveaway.ts b/src/structures/Giveaway.ts index 47cb27c..76ff63b 100644 --- a/src/structures/Giveaway.ts +++ b/src/structures/Giveaway.ts @@ -44,7 +44,7 @@ export class Giveaway implements IGiveaway { public winnersCount: number /** - * Returns whether this giveaway has ended. + * Indicates whether this giveaway has ended. */ @Column() public hasEnded: boolean From dbdc65fe8bf22f1cca5d13f43ae9be5bc6008131 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 18:20:59 +0200 Subject: [PATCH 62/87] Remove unnecessary statements --- dist/events/databaseConnect.d.ts.map | 2 +- dist/events/databaseConnect.js | 18 +++--- dist/events/databaseConnect.js.map | 2 +- dist/events/giveawayEdit.d.ts.map | 2 +- dist/events/giveawayEdit.js | 30 +++++----- dist/events/giveawayEdit.js.map | 2 +- dist/events/giveawayEnd.d.ts.map | 2 +- dist/events/giveawayEnd.js | 28 ++++----- dist/events/giveawayEnd.js.map | 2 +- dist/events/giveawayEntryAdd.d.ts.map | 2 +- dist/events/giveawayEntryAdd.js | 30 +++++----- dist/events/giveawayEntryAdd.js.map | 2 +- dist/events/giveawayEntryRemove.d.ts.map | 2 +- dist/events/giveawayEntryRemove.js | 30 +++++----- dist/events/giveawayEntryRemove.js.map | 2 +- dist/events/giveawayReroll.d.ts.map | 2 +- dist/events/giveawayReroll.js | 30 +++++----- dist/events/giveawayReroll.js.map | 2 +- dist/events/giveawayStart.d.ts.map | 2 +- dist/events/giveawayStart.js | 53 ++++++++--------- dist/events/giveawayStart.js.map | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 ++--- docs/classes/ForgeGiveaways.html | 8 +-- docs/classes/Giveaway.html | 42 ++++++------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionManager.html | 4 +- docs/classes/GiveawaysManager.html | 12 ++-- docs/classes/MongoGiveaway.html | 44 +++++++------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 6 +- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- src/events/databaseConnect.ts | 18 +++--- src/events/giveawayEdit.ts | 30 +++++----- src/events/giveawayEnd.ts | 28 ++++----- src/events/giveawayEntryAdd.ts | 30 +++++----- src/events/giveawayEntryRemove.ts | 30 +++++----- src/events/giveawayReroll.ts | 30 +++++----- src/events/giveawayStart.ts | 59 +++++++++---------- 50 files changed, 313 insertions(+), 343 deletions(-) diff --git a/dist/events/databaseConnect.d.ts.map b/dist/events/databaseConnect.d.ts.map index 1719799..2401df8 100644 --- a/dist/events/databaseConnect.d.ts.map +++ b/dist/events/databaseConnect.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"databaseConnect.d.ts","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAoBE"} \ No newline at end of file +{"version":3,"file":"databaseConnect.d.ts","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAkBE"} \ No newline at end of file diff --git a/dist/events/databaseConnect.js b/dist/events/databaseConnect.js index 14f1e75..2ec1551 100644 --- a/dist/events/databaseConnect.js +++ b/dist/events/databaseConnect.js @@ -10,16 +10,14 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ description: "This event is fired when the database has connected", listener: async function () { const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("databaseConnect"); - if (commands?.length) { - for (const command of commands) { - const ctx = new structures_1.Context({ - obj: {}, - command, - client: this, - data: command.compiled.code, - }); - forgescript_1.Interpreter.run(ctx); - } + for (const command of commands) { + const ctx = new structures_1.Context({ + obj: {}, + command, + client: this, + data: command.compiled.code, + }); + forgescript_1.Interpreter.run(ctx); } }, }); diff --git a/dist/events/databaseConnect.js.map b/dist/events/databaseConnect.js.map index 377eff7..23550b3 100644 --- a/dist/events/databaseConnect.js.map +++ b/dist/events/databaseConnect.js.map @@ -1 +1 @@ -{"version":3,"file":"databaseConnect.js","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,qDAAqD;IAClE,QAAQ,EAAE,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAExF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"databaseConnect.js","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,qDAAqD;IAClE,QAAQ,EAAE,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAExF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEdit.d.ts.map b/dist/events/giveawayEdit.d.ts.map index ea5e8ae..aa91459 100644 --- a/dist/events/giveawayEdit.d.ts.map +++ b/dist/events/giveawayEdit.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEdit.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBA0BE"} \ No newline at end of file +{"version":3,"file":"giveawayEdit.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAwBE"} \ No newline at end of file diff --git a/dist/events/giveawayEdit.js b/dist/events/giveawayEdit.js index fff22d6..4b815e8 100644 --- a/dist/events/giveawayEdit.js +++ b/dist/events/giveawayEdit.js @@ -10,22 +10,20 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ description: "This event is fired when a giveaway was edited", listener: async function (old, newer) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEdit"); - if (commands?.length) { - for (const command of commands) { - const ctx = new structures_1.Context({ - obj: newer, - command, - client: this, - states: { - giveaway: { - new: newer, - old - } - }, - data: command.compiled.code, - }); - forgescript_1.Interpreter.run(ctx); - } + for (const command of commands) { + const ctx = new structures_1.Context({ + obj: newer, + command, + client: this, + states: { + giveaway: { + new: newer, + old + } + }, + data: command.compiled.code, + }); + forgescript_1.Interpreter.run(ctx); } }, }); diff --git a/dist/events/giveawayEdit.js.map b/dist/events/giveawayEdit.js.map index bd3b0e9..6680ec6 100644 --- a/dist/events/giveawayEdit.js.map +++ b/dist/events/giveawayEdit.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAErF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAErF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,KAAK;gBACV,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEnd.d.ts.map b/dist/events/giveawayEnd.d.ts.map index db55d76..a9ed235 100644 --- a/dist/events/giveawayEnd.d.ts.map +++ b/dist/events/giveawayEnd.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEnd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAyBE"} \ No newline at end of file +{"version":3,"file":"giveawayEnd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAuBE"} \ No newline at end of file diff --git a/dist/events/giveawayEnd.js b/dist/events/giveawayEnd.js index 9d11f31..2d76b75 100644 --- a/dist/events/giveawayEnd.js +++ b/dist/events/giveawayEnd.js @@ -10,21 +10,19 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ description: "This event is fired when a giveaway ended", listener: async function (gw) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEnd"); - if (commands?.length) { - for (const command of commands) { - const ctx = new structures_1.Context({ - obj: gw, - command, - client: this, - states: { - giveaway: { - new: gw, - } - }, - data: command.compiled.code, - }); - forgescript_1.Interpreter.run(ctx); - } + for (const command of commands) { + const ctx = new structures_1.Context({ + obj: gw, + command, + client: this, + states: { + giveaway: { + new: gw, + } + }, + data: command.compiled.code, + }); + forgescript_1.Interpreter.run(ctx); } }, }); diff --git a/dist/events/giveawayEnd.js.map b/dist/events/giveawayEnd.js.map index ad87f3b..176facf 100644 --- a/dist/events/giveawayEnd.js.map +++ b/dist/events/giveawayEnd.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEnd.js","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAEpF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEnd.js","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAEpF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryAdd.d.ts.map b/dist/events/giveawayEntryAdd.d.ts.map index 5d00aee..cf3f2f1 100644 --- a/dist/events/giveawayEntryAdd.d.ts.map +++ b/dist/events/giveawayEntryAdd.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryAdd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBA0BE"} \ No newline at end of file +{"version":3,"file":"giveawayEntryAdd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAwBE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryAdd.js b/dist/events/giveawayEntryAdd.js index 57cebcf..7a9b3a5 100644 --- a/dist/events/giveawayEntryAdd.js +++ b/dist/events/giveawayEntryAdd.js @@ -10,22 +10,20 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ description: "This event is fired when a giveaway entry is added", listener: async function (old, newer) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEntryAdd"); - if (commands?.length) { - for (const command of commands) { - const ctx = new structures_1.Context({ - obj: newer, - command, - client: this, - states: { - giveaway: { - new: newer, - old - } - }, - data: command.compiled.code, - }); - forgescript_1.Interpreter.run(ctx); - } + for (const command of commands) { + const ctx = new structures_1.Context({ + obj: newer, + command, + client: this, + states: { + giveaway: { + new: newer, + old + } + }, + data: command.compiled.code, + }); + forgescript_1.Interpreter.run(ctx); } }, }); diff --git a/dist/events/giveawayEntryAdd.js.map b/dist/events/giveawayEntryAdd.js.map index 9dce04c..12eb861 100644 --- a/dist/events/giveawayEntryAdd.js.map +++ b/dist/events/giveawayEntryAdd.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAEzF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAEzF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,KAAK;gBACV,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.d.ts.map b/dist/events/giveawayEntryRemove.d.ts.map index c12c3c3..b683d73 100644 --- a/dist/events/giveawayEntryRemove.d.ts.map +++ b/dist/events/giveawayEntryRemove.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRemove.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBA0BE"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRemove.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAwBE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.js b/dist/events/giveawayEntryRemove.js index 9d0015e..a130e26 100644 --- a/dist/events/giveawayEntryRemove.js +++ b/dist/events/giveawayEntryRemove.js @@ -10,22 +10,20 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ description: "This event is fired when a giveaway entry is removed", listener: async function (old, newer) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEntryRemove"); - if (commands?.length) { - for (const command of commands) { - const ctx = new structures_1.Context({ - obj: newer, - command, - client: this, - states: { - giveaway: { - new: newer, - old - } - }, - data: command.compiled.code, - }); - forgescript_1.Interpreter.run(ctx); - } + for (const command of commands) { + const ctx = new structures_1.Context({ + obj: newer, + command, + client: this, + states: { + giveaway: { + new: newer, + old + } + }, + data: command.compiled.code, + }); + forgescript_1.Interpreter.run(ctx); } }, }); diff --git a/dist/events/giveawayEntryRemove.js.map b/dist/events/giveawayEntryRemove.js.map index 97ceef3..6045637 100644 --- a/dist/events/giveawayEntryRemove.js.map +++ b/dist/events/giveawayEntryRemove.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE5F,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE5F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,KAAK;gBACV,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayReroll.d.ts.map b/dist/events/giveawayReroll.d.ts.map index a611523..47c6f52 100644 --- a/dist/events/giveawayReroll.d.ts.map +++ b/dist/events/giveawayReroll.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayReroll.d.ts","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBA0BE"} \ No newline at end of file +{"version":3,"file":"giveawayReroll.d.ts","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAwBE"} \ No newline at end of file diff --git a/dist/events/giveawayReroll.js b/dist/events/giveawayReroll.js index 5d3c69f..47230b9 100644 --- a/dist/events/giveawayReroll.js +++ b/dist/events/giveawayReroll.js @@ -10,22 +10,20 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ description: "This event is fired when a giveaway was rerolled", listener: async function (old, newer) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayReroll"); - if (commands?.length) { - for (const command of commands) { - const ctx = new structures_1.Context({ - obj: newer, - command, - client: this, - states: { - giveaway: { - new: newer, - old - } - }, - data: command.compiled.code, - }); - forgescript_1.Interpreter.run(ctx); - } + for (const command of commands) { + const ctx = new structures_1.Context({ + obj: newer, + command, + client: this, + states: { + giveaway: { + new: newer, + old + } + }, + data: command.compiled.code, + }); + forgescript_1.Interpreter.run(ctx); } }, }); diff --git a/dist/events/giveawayReroll.js.map b/dist/events/giveawayReroll.js.map index 7620cc2..d89a3c3 100644 --- a/dist/events/giveawayReroll.js.map +++ b/dist/events/giveawayReroll.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAEvF,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,KAAK;oBACV,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,KAAK;4BACV,GAAG;yBACN;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B,CAAC,CAAA;gBAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAEvF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,KAAK;gBACV,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayStart.d.ts.map b/dist/events/giveawayStart.d.ts.map index 323158b..3db4072 100644 --- a/dist/events/giveawayStart.d.ts.map +++ b/dist/events/giveawayStart.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAMzE,wBA4CE"} \ No newline at end of file +{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAMzE,wBAyCE"} \ No newline at end of file diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index 4b4e6c8..e3b7c65 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -12,37 +12,34 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ listener: async function (gw) { const client = this.getExtension(__1.ForgeGiveaways, true); const commands = client.commands.get("giveawayStart"); - if (commands?.length) { - for (const command of commands) { - const ctx = new structures_1.Context({ - obj: gw, - command, - client: this, - states: { - giveaway: { - new: gw, - } - }, - data: command.compiled.code, - allowTopLevelReturn: true - }); - const result = await forgescript_1.Interpreter.run(ctx.runtime); - if (client.options.useDefault === false) { - const res = result?.trim(); - console.log(res); - const chan = this.channels.cache.get(gw.channelID); - const msg = res ? await chan?.messages.fetch(res).catch(ctx.noop) : undefined; - console.log(msg); - if (!msg) { - (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotFound, gw.id); - await structures_1.Database.delete(gw.id); - continue; + for (const command of commands) { + const ctx = new structures_1.Context({ + obj: gw, + command, + client: this, + states: { + giveaway: { + new: gw, } - gw.messageID = msg.id; - await structures_1.Database.set(gw); + }, + data: forgescript_1.Compiler.compile(command.data.code) + }); + const result = await forgescript_1.Interpreter.run(ctx); + if (client.options.useDefault === false) { + const res = result?.trim(); + console.log(res); + const chan = this.channels.cache.get(gw.channelID); + const msg = res ? await chan?.messages.fetch(res).catch(ctx.noop) : undefined; + console.log(msg); + if (!msg) { + (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotFound, gw.id); + await structures_1.Database.delete(gw.id); + continue; } + gw.messageID = msg.id; + await structures_1.Database.set(gw); } } - }, + } }); //# sourceMappingURL=giveawayStart.js.map \ No newline at end of file diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index bfb4632..c28aec4 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,8CAA4E;AAC5E,8CAAiD;AACjD,0BAAmC;AAGnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAErD,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;oBACpB,GAAG,EAAE,EAAE;oBACP,OAAO;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE;wBACJ,QAAQ,EAAE;4BACN,GAAG,EAAE,EAAE;yBACV;qBACJ;oBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;oBAC3B,mBAAmB,EAAE,IAAI;iBAC5B,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAEjD,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;oBAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAA;oBAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;oBAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAEhB,IAAI,CAAC,GAAG,EAAE,CAAC;wBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC9D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;wBAC5B,SAAQ;oBACZ,CAAC;oBAED,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAA6D;AAC7D,6EAAyE;AACzE,8CAA4E;AAC5E,8CAAiD;AACjD,0BAAmC;AAGnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAErD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;aAC5C,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;gBAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAA;gBAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEhB,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;oBAC9D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;oBAC5B,SAAQ;gBACZ,CAAC;gBAED,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;gBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC1B,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index c39b0b5..79e2102 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      constructor +Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        +

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        Parameters

        • Optionalprops: Partial<IRunnable>
        • OptionalsyncVars: boolean

        Returns Context

      • Returns Context

      • Returns IRunnable

      • Parameters

        • name: string

        Returns boolean

      • Parameters

        • name: string

        Returns boolean

      • Fetches all emojis of the application.

        Parameters

        • Optionalonce: boolean

          Whether to fetch only when the collection is empty.

        Returns Promise<void | Collection<string, ApplicationEmoji>>

      • Type Parameters

        • T

        Parameters

        • key: PropertyKey

        Returns T

      • Type Parameters

        • T extends ClassType

        Parameters

        • type: T
        • Rest...keys: string[]

        Returns null | ClassInstance<T>

      • Parameters

        • Rest...args: string[]

        Returns undefined | object

      • Type Parameters

        • K extends string
        • T extends ClassType

        Parameters

        • key: K
        • type: T

        Returns null | (Context & {
            [P in "bro" as K]: ClassInstance<T>
        })[K]

      • Parameters

        • name: string

        Returns unknown

      • Type Parameters

        • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
        • Unwrap extends boolean

        Parameters

        Returns Promise<Return<ReturnType>>

      • Parameters

        • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
        • rt: Return<ReturnType>

        Returns boolean

      • Returns undefined | boolean

      • Type Parameters

        • K extends string
        • V extends ClassType

        Parameters

        • key: K
        • type: V

        Returns this is Context & {
            [P in "bro" as K]: ClassInstance<V>
        }

      • Parameters

        • name: string

        Returns boolean

      • Returns this is Context & {
            get interaction(): ChatInputCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): ContextMenuCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): AnySelectMenuInteraction;
        }

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • value: unknown
        • Rest...keys: string[]

        Returns boolean

      • Parameters

        • Rest...keys: string[]

        Returns boolean | any[]

      • Parameters

        • previous: object
        • Rest...args: string[]

        Returns undefined | object

      diff --git a/docs/classes/Database.html b/docs/classes/Database.html index 5364f13..17b6c10 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      constructor +Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      Properties

      database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        +

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        Parameters

        • id: string

          The id of the giveaway to delete.

          -

        Returns Promise<DeleteResult>

      • Gets an existing giveaway.

        +

      Returns Promise<DeleteResult>

      • Saves a giveaway in the database.

        +

      Returns Promise<null | Giveaway>

      +

      Returns Promise<void>

      diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index d9ee58a..0c15d53 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      constructor +ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      Properties

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      -
      targetVersions?: string[]

      Only the versions written here will be allowed

      -
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      +

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      +
      targetVersions?: string[]

      Only the versions written here will be allowed

      +
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index 97a9227..de09016 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      constructor +Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | Giveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Returns whether a user has entered this giveaway.

        Parameters

        • userID: string

          The user to check for.

          -

        Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | Giveaway

      diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index f4ad815..5d58a81 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      constructor +GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      Properties

      Accessors

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      +

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 5b2411c..98b201d 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      constructor +GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      Properties

      Methods

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      +

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 72ad493..54b4346 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      constructor +GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      Properties

      Accessors

      Methods

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      +

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      diff --git a/docs/classes/GiveawaysInteractionManager.html b/docs/classes/GiveawaysInteractionManager.html index fc89a9d..c9dc744 100644 --- a/docs/classes/GiveawaysInteractionManager.html +++ b/docs/classes/GiveawaysInteractionManager.html @@ -1,2 +1,2 @@ -GiveawaysInteractionManager | forge.giveaways

      Class GiveawaysInteractionManager

      Constructors

      Constructors

      +GiveawaysInteractionManager | forge.giveaways

      Class GiveawaysInteractionManager

      Constructors

      Constructors

      diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index efe271c..8c057dd 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,15 +1,15 @@ -GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      constructor +GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      Methods

      Constructors

      Methods

      • Edits an existing giveaway.

        +

      Constructors

      Methods

      • Ends an existing giveaway.

        +

      Returns Promise<null | Giveaway>

      • Rerolls an existing giveaway.

        +

      Returns Promise<null | Giveaway>

      • Starts a new giveaway on a guild.

        +

      Returns Promise<null | Giveaway>

      +

      Returns Promise<undefined | Giveaway>

      diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index 8b0ff0b..cb37b3a 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      constructor +MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      mongoId?: string

      The object id for MongoDB.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      mongoId?: string

      The object id for MongoDB.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | MongoGiveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | MongoGiveaway

      diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 040bf63..eca99a9 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      automod +IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      +

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index 31fe390..d3d794b 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      extras?: unknown

      Extras data

      keywords?: Record<string, string>

      The already existing variables defined with $let

      The context this code will run in

      -
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      +
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      The old and new states of an event

      -
      +
      diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index 5dfb659..f996808 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      audit +IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      +

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index aa52e2f..6453727 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          useDefault?: boolean;
      }

      Properties

      events? +IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          useDefault?: boolean;
      }

      Properties

      Properties

      events?: keyof IGiveawayEvents

      The giveaway events to use.

      -
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      -
      +
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      +
      diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index c73553d..85b3e18 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID +IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 57834fe..7614768 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,8 +1,8 @@ -IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect +IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      +

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index fa8f960..104193d 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles? +IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      +

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index a4fbf01..497dd5b 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID +IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index 9f2698f..84ec9dc 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      +AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index 14a1e71..acdd9ff 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      +ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index cb2ff3d..18cd8b2 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      +ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 3ec9662..d9e1a3a 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      +IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      diff --git a/src/events/databaseConnect.ts b/src/events/databaseConnect.ts index c17b0e3..12a4dbb 100644 --- a/src/events/databaseConnect.ts +++ b/src/events/databaseConnect.ts @@ -10,17 +10,15 @@ export default new GiveawaysEventHandler({ listener: async function() { const commands = this.getExtension(ForgeGiveaways, true).commands.get("databaseConnect") - if (commands?.length) { - for (const command of commands) { - const ctx = new Context({ - obj: {}, - command, - client: this, - data: command.compiled.code, - }) + for (const command of commands) { + const ctx = new Context({ + obj: {}, + command, + client: this, + data: command.compiled.code, + }) - Interpreter.run(ctx) - } + Interpreter.run(ctx) } }, }) \ No newline at end of file diff --git a/src/events/giveawayEdit.ts b/src/events/giveawayEdit.ts index 562abe1..7b50b8c 100644 --- a/src/events/giveawayEdit.ts +++ b/src/events/giveawayEdit.ts @@ -10,23 +10,21 @@ export default new GiveawaysEventHandler({ listener: async function(old, newer) { const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEdit") - if (commands?.length) { - for (const command of commands) { - const ctx = new Context({ - obj: newer, - command, - client: this, - states: { - giveaway: { - new: newer, - old - } - }, - data: command.compiled.code, - }) + for (const command of commands) { + const ctx = new Context({ + obj: newer, + command, + client: this, + states: { + giveaway: { + new: newer, + old + } + }, + data: command.compiled.code, + }) - Interpreter.run(ctx) - } + Interpreter.run(ctx) } }, }) \ No newline at end of file diff --git a/src/events/giveawayEnd.ts b/src/events/giveawayEnd.ts index b977340..b0f3450 100644 --- a/src/events/giveawayEnd.ts +++ b/src/events/giveawayEnd.ts @@ -10,22 +10,20 @@ export default new GiveawaysEventHandler({ listener: async function(gw) { const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEnd") - if (commands?.length) { - for (const command of commands) { - const ctx = new Context({ - obj: gw, - command, - client: this, - states: { - giveaway: { - new: gw, - } - }, - data: command.compiled.code, - }) + for (const command of commands) { + const ctx = new Context({ + obj: gw, + command, + client: this, + states: { + giveaway: { + new: gw, + } + }, + data: command.compiled.code, + }) - Interpreter.run(ctx) - } + Interpreter.run(ctx) } }, }) \ No newline at end of file diff --git a/src/events/giveawayEntryAdd.ts b/src/events/giveawayEntryAdd.ts index a42d1e3..fe4998c 100644 --- a/src/events/giveawayEntryAdd.ts +++ b/src/events/giveawayEntryAdd.ts @@ -10,23 +10,21 @@ export default new GiveawaysEventHandler({ listener: async function(old, newer) { const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEntryAdd") - if (commands?.length) { - for (const command of commands) { - const ctx = new Context({ - obj: newer, - command, - client: this, - states: { - giveaway: { - new: newer, - old - } - }, - data: command.compiled.code, - }) + for (const command of commands) { + const ctx = new Context({ + obj: newer, + command, + client: this, + states: { + giveaway: { + new: newer, + old + } + }, + data: command.compiled.code, + }) - Interpreter.run(ctx) - } + Interpreter.run(ctx) } }, }) \ No newline at end of file diff --git a/src/events/giveawayEntryRemove.ts b/src/events/giveawayEntryRemove.ts index 303b3ea..2a4695d 100644 --- a/src/events/giveawayEntryRemove.ts +++ b/src/events/giveawayEntryRemove.ts @@ -10,23 +10,21 @@ export default new GiveawaysEventHandler({ listener: async function(old, newer) { const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEntryRemove") - if (commands?.length) { - for (const command of commands) { - const ctx = new Context({ - obj: newer, - command, - client: this, - states: { - giveaway: { - new: newer, - old - } - }, - data: command.compiled.code, - }) + for (const command of commands) { + const ctx = new Context({ + obj: newer, + command, + client: this, + states: { + giveaway: { + new: newer, + old + } + }, + data: command.compiled.code, + }) - Interpreter.run(ctx) - } + Interpreter.run(ctx) } }, }) \ No newline at end of file diff --git a/src/events/giveawayReroll.ts b/src/events/giveawayReroll.ts index b1f8489..4762eb8 100644 --- a/src/events/giveawayReroll.ts +++ b/src/events/giveawayReroll.ts @@ -10,23 +10,21 @@ export default new GiveawaysEventHandler({ listener: async function(old, newer) { const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayReroll") - if (commands?.length) { - for (const command of commands) { - const ctx = new Context({ - obj: newer, - command, - client: this, - states: { - giveaway: { - new: newer, - old - } - }, - data: command.compiled.code, - }) + for (const command of commands) { + const ctx = new Context({ + obj: newer, + command, + client: this, + states: { + giveaway: { + new: newer, + old + } + }, + data: command.compiled.code, + }) - Interpreter.run(ctx) - } + Interpreter.run(ctx) } }, }) \ No newline at end of file diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index a27b935..d95ef37 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -1,4 +1,4 @@ -import { Interpreter } from "@tryforge/forgescript" +import { Compiler, Interpreter } from "@tryforge/forgescript" import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" import { GiveawaysErrorType, throwGiveawaysError } from "../functions/error" import { Context, Database } from "../structures" @@ -13,40 +13,37 @@ export default new GiveawaysEventHandler({ const client = this.getExtension(ForgeGiveaways, true) const commands = client.commands.get("giveawayStart") - if (commands?.length) { - for (const command of commands) { - const ctx = new Context({ - obj: gw, - command, - client: this, - states: { - giveaway: { - new: gw, - } - }, - data: command.compiled.code, - allowTopLevelReturn: true - }) - - const result = await Interpreter.run(ctx.runtime) + for (const command of commands) { + const ctx = new Context({ + obj: gw, + command, + client: this, + states: { + giveaway: { + new: gw, + } + }, + data: Compiler.compile(command.data.code) + }) - if (client.options.useDefault === false) { - const res = result?.trim() - console.log(res) - const chan = this.channels.cache.get(gw.channelID) as TextChannel | undefined - const msg = res ? await chan?.messages.fetch(res).catch(ctx.noop) : undefined - console.log(msg) + const result = await Interpreter.run(ctx) - if (!msg) { - throwGiveawaysError(GiveawaysErrorType.MessageNotFound, gw.id) - await Database.delete(gw.id) - continue - } + if (client.options.useDefault === false) { + const res = result?.trim() + console.log(res) + const chan = this.channels.cache.get(gw.channelID) as TextChannel | undefined + const msg = res ? await chan?.messages.fetch(res).catch(ctx.noop) : undefined + console.log(msg) - gw.messageID = msg.id - await Database.set(gw) + if (!msg) { + throwGiveawaysError(GiveawaysErrorType.MessageNotFound, gw.id) + await Database.delete(gw.id) + continue } + + gw.messageID = msg.id + await Database.set(gw) } } - }, + } }) \ No newline at end of file From aba12edc2fe8b8c0f511c75e7940f73e58b3505b Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 18:34:57 +0200 Subject: [PATCH 63/87] Clear up dist --- dist/events/databaseConnect.d.ts | 2 +- dist/events/databaseConnect.js | 4 +- dist/events/giveawayEdit.d.ts | 2 +- dist/events/giveawayEdit.js | 4 +- dist/events/giveawayEnd.d.ts | 2 +- dist/events/giveawayEnd.js | 4 +- dist/events/giveawayEntryAdd.d.ts | 2 +- dist/events/giveawayEntryAdd.js | 4 +- dist/events/giveawayEntryRemove.d.ts | 2 +- dist/events/giveawayEntryRemove.js | 4 +- dist/events/giveawayReroll.d.ts | 2 +- dist/events/giveawayReroll.js | 4 +- dist/events/giveawayStart.d.ts | 2 +- dist/events/giveawayStart.js | 10 ++-- dist/events/giveawayStart.js.map | 2 +- .../GiveawaysEventHandler.d.ts} | 2 +- .../GiveawaysEventHandler.d.ts.map} | 2 +- .../GiveawaysEventHandler.js} | 2 +- .../GiveawaysEventHandler.js.map} | 2 +- .../GiveawaysInteractionHandler.d.ts} | 4 +- .../GiveawaysInteractionHandler.d.ts.map} | 2 +- .../GiveawaysInteractionHandler.js} | 8 +-- .../GiveawaysInteractionHandler.js.map} | 2 +- dist/index.d.ts.map | 2 +- dist/index.js | 2 +- dist/managers/DatabaseManager.d.ts | 1 - dist/managers/DatabaseManager.d.ts.map | 1 - dist/managers/DatabaseManager.js | 2 - dist/managers/DatabaseManager.js.map | 1 - dist/managers/Giveaway.d.ts | 40 -------------- dist/managers/Giveaway.d.ts.map | 1 - dist/managers/Giveaway.js | 53 ------------------- dist/managers/Giveaway.js.map | 1 - dist/managers/GiveawaysCommandManager.d.ts | 2 +- .../managers/GiveawaysCommandManager.d.ts.map | 2 +- dist/managers/index.d.ts | 4 +- dist/managers/index.d.ts.map | 2 +- dist/managers/index.js | 4 +- dist/managers/index.js.map | 2 +- docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 ++--- docs/classes/ForgeGiveaways.html | 8 +-- docs/classes/Giveaway.html | 42 +++++++-------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 2 + docs/classes/GiveawaysInteractionManager.html | 2 - docs/classes/GiveawaysManager.html | 12 ++--- docs/classes/MongoGiveaway.html | 44 +++++++-------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 6 +-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/modules.html | 2 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- src/events/databaseConnect.ts | 2 +- src/events/giveawayEdit.ts | 2 +- src/events/giveawayEnd.ts | 2 +- src/events/giveawayEntryAdd.ts | 2 +- src/events/giveawayEntryRemove.ts | 2 +- src/events/giveawayReroll.ts | 2 +- src/events/giveawayStart.ts | 8 +-- .../GiveawaysEventHandler.ts} | 0 .../GiveawaysInteractionHandler.ts} | 2 +- src/index.ts | 4 +- src/managers/GiveawaysCommandManager.ts | 2 +- src/managers/index.ts | 4 +- 77 files changed, 158 insertions(+), 258 deletions(-) rename dist/{managers/GiveawaysEventManager.d.ts => handlers/GiveawaysEventHandler.d.ts} (91%) rename dist/{managers/GiveawaysEventManager.d.ts.map => handlers/GiveawaysEventHandler.d.ts.map} (81%) rename dist/{managers/GiveawaysEventManager.js => handlers/GiveawaysEventHandler.js} (90%) rename dist/{managers/GiveawaysEventManager.js.map => handlers/GiveawaysEventHandler.js.map} (68%) rename dist/{managers/GiveawaysInteractionManager.d.ts => handlers/GiveawaysInteractionHandler.d.ts} (57%) rename dist/{managers/GiveawaysInteractionManager.d.ts.map => handlers/GiveawaysInteractionHandler.d.ts.map} (55%) rename dist/{managers/GiveawaysInteractionManager.js => handlers/GiveawaysInteractionHandler.js} (89%) rename dist/{managers/GiveawaysInteractionManager.js.map => handlers/GiveawaysInteractionHandler.js.map} (91%) delete mode 100644 dist/managers/DatabaseManager.d.ts delete mode 100644 dist/managers/DatabaseManager.d.ts.map delete mode 100644 dist/managers/DatabaseManager.js delete mode 100644 dist/managers/DatabaseManager.js.map delete mode 100644 dist/managers/Giveaway.d.ts delete mode 100644 dist/managers/Giveaway.d.ts.map delete mode 100644 dist/managers/Giveaway.js delete mode 100644 dist/managers/Giveaway.js.map create mode 100644 docs/classes/GiveawaysInteractionHandler.html delete mode 100644 docs/classes/GiveawaysInteractionManager.html rename src/{managers/GiveawaysEventManager.ts => handlers/GiveawaysEventHandler.ts} (100%) rename src/{managers/GiveawaysInteractionManager.ts => handlers/GiveawaysInteractionHandler.ts} (97%) diff --git a/dist/events/databaseConnect.d.ts b/dist/events/databaseConnect.d.ts index 788ddb3..d3c1290 100644 --- a/dist/events/databaseConnect.d.ts +++ b/dist/events/databaseConnect.d.ts @@ -1,4 +1,4 @@ -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; +import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler"; declare const _default: GiveawaysEventHandler<"databaseConnect">; export default _default; //# sourceMappingURL=databaseConnect.d.ts.map \ No newline at end of file diff --git a/dist/events/databaseConnect.js b/dist/events/databaseConnect.js index 2ec1551..3fabd1f 100644 --- a/dist/events/databaseConnect.js +++ b/dist/events/databaseConnect.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); +const GiveawaysEventHandler_1 = require("../handlers/GiveawaysEventHandler"); const __1 = require(".."); const structures_1 = require("../structures"); -exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ +exports.default = new GiveawaysEventHandler_1.GiveawaysEventHandler({ name: "databaseConnect", version: "1.0.0", description: "This event is fired when the database has connected", diff --git a/dist/events/giveawayEdit.d.ts b/dist/events/giveawayEdit.d.ts index df8d711..a7bd439 100644 --- a/dist/events/giveawayEdit.d.ts +++ b/dist/events/giveawayEdit.d.ts @@ -1,4 +1,4 @@ -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; +import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler"; declare const _default: GiveawaysEventHandler<"giveawayEdit">; export default _default; //# sourceMappingURL=giveawayEdit.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayEdit.js b/dist/events/giveawayEdit.js index 4b815e8..2101448 100644 --- a/dist/events/giveawayEdit.js +++ b/dist/events/giveawayEdit.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); +const GiveawaysEventHandler_1 = require("../handlers/GiveawaysEventHandler"); const __1 = require(".."); const structures_1 = require("../structures"); -exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ +exports.default = new GiveawaysEventHandler_1.GiveawaysEventHandler({ name: "giveawayEdit", version: "1.0.0", description: "This event is fired when a giveaway was edited", diff --git a/dist/events/giveawayEnd.d.ts b/dist/events/giveawayEnd.d.ts index 8c6b341..922405e 100644 --- a/dist/events/giveawayEnd.d.ts +++ b/dist/events/giveawayEnd.d.ts @@ -1,4 +1,4 @@ -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; +import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler"; declare const _default: GiveawaysEventHandler<"giveawayEnd">; export default _default; //# sourceMappingURL=giveawayEnd.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayEnd.js b/dist/events/giveawayEnd.js index 2d76b75..97998ca 100644 --- a/dist/events/giveawayEnd.js +++ b/dist/events/giveawayEnd.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); +const GiveawaysEventHandler_1 = require("../handlers/GiveawaysEventHandler"); const __1 = require(".."); const structures_1 = require("../structures"); -exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ +exports.default = new GiveawaysEventHandler_1.GiveawaysEventHandler({ name: "giveawayEnd", version: "1.0.0", description: "This event is fired when a giveaway ended", diff --git a/dist/events/giveawayEntryAdd.d.ts b/dist/events/giveawayEntryAdd.d.ts index 3a997e0..f8ac914 100644 --- a/dist/events/giveawayEntryAdd.d.ts +++ b/dist/events/giveawayEntryAdd.d.ts @@ -1,4 +1,4 @@ -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; +import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler"; declare const _default: GiveawaysEventHandler<"giveawayEntryAdd">; export default _default; //# sourceMappingURL=giveawayEntryAdd.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayEntryAdd.js b/dist/events/giveawayEntryAdd.js index 7a9b3a5..b00984c 100644 --- a/dist/events/giveawayEntryAdd.js +++ b/dist/events/giveawayEntryAdd.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); +const GiveawaysEventHandler_1 = require("../handlers/GiveawaysEventHandler"); const __1 = require(".."); const structures_1 = require("../structures"); -exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ +exports.default = new GiveawaysEventHandler_1.GiveawaysEventHandler({ name: "giveawayEntryAdd", version: "1.0.0", description: "This event is fired when a giveaway entry is added", diff --git a/dist/events/giveawayEntryRemove.d.ts b/dist/events/giveawayEntryRemove.d.ts index 5670d9b..1c703bf 100644 --- a/dist/events/giveawayEntryRemove.d.ts +++ b/dist/events/giveawayEntryRemove.d.ts @@ -1,4 +1,4 @@ -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; +import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler"; declare const _default: GiveawaysEventHandler<"giveawayEntryRemove">; export default _default; //# sourceMappingURL=giveawayEntryRemove.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.js b/dist/events/giveawayEntryRemove.js index a130e26..382b7e8 100644 --- a/dist/events/giveawayEntryRemove.js +++ b/dist/events/giveawayEntryRemove.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); +const GiveawaysEventHandler_1 = require("../handlers/GiveawaysEventHandler"); const __1 = require(".."); const structures_1 = require("../structures"); -exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ +exports.default = new GiveawaysEventHandler_1.GiveawaysEventHandler({ name: "giveawayEntryRemove", version: "1.0.0", description: "This event is fired when a giveaway entry is removed", diff --git a/dist/events/giveawayReroll.d.ts b/dist/events/giveawayReroll.d.ts index cecf22f..cea71a0 100644 --- a/dist/events/giveawayReroll.d.ts +++ b/dist/events/giveawayReroll.d.ts @@ -1,4 +1,4 @@ -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; +import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler"; declare const _default: GiveawaysEventHandler<"giveawayReroll">; export default _default; //# sourceMappingURL=giveawayReroll.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayReroll.js b/dist/events/giveawayReroll.js index 47230b9..2bac712 100644 --- a/dist/events/giveawayReroll.js +++ b/dist/events/giveawayReroll.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); +const GiveawaysEventHandler_1 = require("../handlers/GiveawaysEventHandler"); const __1 = require(".."); const structures_1 = require("../structures"); -exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ +exports.default = new GiveawaysEventHandler_1.GiveawaysEventHandler({ name: "giveawayReroll", version: "1.0.0", description: "This event is fired when a giveaway was rerolled", diff --git a/dist/events/giveawayStart.d.ts b/dist/events/giveawayStart.d.ts index 4a2884a..aa8b437 100644 --- a/dist/events/giveawayStart.d.ts +++ b/dist/events/giveawayStart.d.ts @@ -1,4 +1,4 @@ -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager"; +import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler"; declare const _default: GiveawaysEventHandler<"giveawayStart">; export default _default; //# sourceMappingURL=giveawayStart.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index e3b7c65..45ac969 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -1,11 +1,11 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysEventManager_1 = require("../managers/GiveawaysEventManager"); +const GiveawaysEventHandler_1 = require("../handlers/GiveawaysEventHandler"); const error_1 = require("../functions/error"); const structures_1 = require("../structures"); const __1 = require(".."); -exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ +exports.default = new GiveawaysEventHandler_1.GiveawaysEventHandler({ name: "giveawayStart", version: "1.0.0", description: "This event is fired when a giveaway started", @@ -22,11 +22,11 @@ exports.default = new GiveawaysEventManager_1.GiveawaysEventHandler({ new: gw, } }, - data: forgescript_1.Compiler.compile(command.data.code) + data: command.compiled.code }); - const result = await forgescript_1.Interpreter.run(ctx); + const result = forgescript_1.Interpreter.run(ctx); if (client.options.useDefault === false) { - const res = result?.trim(); + const res = (await result)?.trim(); console.log(res); const chan = this.channels.cache.get(gw.channelID); const msg = res ? await chan?.messages.fetch(res).catch(ctx.noop) : undefined; diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index c28aec4..199c4b5 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAA6D;AAC7D,6EAAyE;AACzE,8CAA4E;AAC5E,8CAAiD;AACjD,0BAAmC;AAGnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAErD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;aAC5C,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;gBAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAA;gBAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEhB,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;oBAC9D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;oBAC5B,SAAQ;gBACZ,CAAC;gBAED,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;gBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC1B,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAA6D;AAC7D,6EAAyE;AACzE,8CAA4E;AAC5E,8CAAiD;AACjD,0BAAmC;AAGnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAErD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEnC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,EAAE,IAAI,EAAE,CAAA;gBAClC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAA;gBAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEhB,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;oBAC9D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;oBAC5B,SAAQ;gBACZ,CAAC;gBAED,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;gBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC1B,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.d.ts b/dist/handlers/GiveawaysEventHandler.d.ts similarity index 91% rename from dist/managers/GiveawaysEventManager.d.ts rename to dist/handlers/GiveawaysEventHandler.d.ts index e5c67f4..dfffbee 100644 --- a/dist/managers/GiveawaysEventManager.d.ts +++ b/dist/handlers/GiveawaysEventHandler.d.ts @@ -12,4 +12,4 @@ export interface IGiveawayEvents { export declare class GiveawaysEventHandler extends BaseEventHandler { register(client: ForgeClient): void; } -//# sourceMappingURL=GiveawaysEventManager.d.ts.map \ No newline at end of file +//# sourceMappingURL=GiveawaysEventHandler.d.ts.map \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.d.ts.map b/dist/handlers/GiveawaysEventHandler.d.ts.map similarity index 81% rename from dist/managers/GiveawaysEventManager.d.ts.map rename to dist/handlers/GiveawaysEventHandler.d.ts.map index b083d09..1f83f3b 100644 --- a/dist/managers/GiveawaysEventManager.d.ts.map +++ b/dist/handlers/GiveawaysEventHandler.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,MAAM,WAAW,eAAe;IAC5B,eAAe,EAAE,EAAE,CAAA;IACnB,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClC,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACtC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;CAC5C;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,MAAM,WAAW,eAAe;IAC5B,eAAe,EAAE,EAAE,CAAA;IACnB,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClC,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACtC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;CAC5C;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.js b/dist/handlers/GiveawaysEventHandler.js similarity index 90% rename from dist/managers/GiveawaysEventManager.js rename to dist/handlers/GiveawaysEventHandler.js index fa34855..14811fd 100644 --- a/dist/managers/GiveawaysEventManager.js +++ b/dist/handlers/GiveawaysEventHandler.js @@ -10,4 +10,4 @@ class GiveawaysEventHandler extends forgescript_1.BaseEventHandler { } } exports.GiveawaysEventHandler = GiveawaysEventHandler; -//# sourceMappingURL=GiveawaysEventManager.js.map \ No newline at end of file +//# sourceMappingURL=GiveawaysEventHandler.js.map \ No newline at end of file diff --git a/dist/managers/GiveawaysEventManager.js.map b/dist/handlers/GiveawaysEventHandler.js.map similarity index 68% rename from dist/managers/GiveawaysEventManager.js.map rename to dist/handlers/GiveawaysEventHandler.js.map index 2697908..68878b7 100644 --- a/dist/managers/GiveawaysEventManager.js.map +++ b/dist/handlers/GiveawaysEventHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysEventManager.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AAYnC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AAYnC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysInteractionManager.d.ts b/dist/handlers/GiveawaysInteractionHandler.d.ts similarity index 57% rename from dist/managers/GiveawaysInteractionManager.d.ts rename to dist/handlers/GiveawaysInteractionHandler.d.ts index 359e30f..86a6a2c 100644 --- a/dist/managers/GiveawaysInteractionManager.d.ts +++ b/dist/handlers/GiveawaysInteractionHandler.d.ts @@ -1,7 +1,7 @@ import { ForgeClient } from "@tryforge/forgescript"; -export declare class GiveawaysInteractionManager { +export declare class GiveawaysInteractionHandler { private readonly client; constructor(client: ForgeClient); private _register; } -//# sourceMappingURL=GiveawaysInteractionManager.d.ts.map \ No newline at end of file +//# sourceMappingURL=GiveawaysInteractionHandler.d.ts.map \ No newline at end of file diff --git a/dist/managers/GiveawaysInteractionManager.d.ts.map b/dist/handlers/GiveawaysInteractionHandler.d.ts.map similarity index 55% rename from dist/managers/GiveawaysInteractionManager.d.ts.map rename to dist/handlers/GiveawaysInteractionHandler.d.ts.map index 2e1d93c..0cfd608 100644 --- a/dist/managers/GiveawaysInteractionManager.d.ts.map +++ b/dist/handlers/GiveawaysInteractionHandler.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAKnD,qBAAa,2BAA2B;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;YAIzC,SAAS;CA+B1B"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAKnD,qBAAa,2BAA2B;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;YAIzC,SAAS;CA+B1B"} \ No newline at end of file diff --git a/dist/managers/GiveawaysInteractionManager.js b/dist/handlers/GiveawaysInteractionHandler.js similarity index 89% rename from dist/managers/GiveawaysInteractionManager.js rename to dist/handlers/GiveawaysInteractionHandler.js index cf71bd3..2fc63fd 100644 --- a/dist/managers/GiveawaysInteractionManager.js +++ b/dist/handlers/GiveawaysInteractionHandler.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.GiveawaysInteractionManager = void 0; +exports.GiveawaysInteractionHandler = void 0; const discord_js_1 = require("discord.js"); const __1 = require(".."); const structures_1 = require("../structures"); -class GiveawaysInteractionManager { +class GiveawaysInteractionHandler { client; constructor(client) { this.client = client; @@ -41,5 +41,5 @@ class GiveawaysInteractionManager { }); } } -exports.GiveawaysInteractionManager = GiveawaysInteractionManager; -//# sourceMappingURL=GiveawaysInteractionManager.js.map \ No newline at end of file +exports.GiveawaysInteractionHandler = GiveawaysInteractionHandler; +//# sourceMappingURL=GiveawaysInteractionHandler.js.map \ No newline at end of file diff --git a/dist/managers/GiveawaysInteractionManager.js.map b/dist/handlers/GiveawaysInteractionHandler.js.map similarity index 91% rename from dist/managers/GiveawaysInteractionManager.js.map rename to dist/handlers/GiveawaysInteractionHandler.js.map index 478aa60..ad613e0 100644 --- a/dist/managers/GiveawaysInteractionManager.js.map +++ b/dist/handlers/GiveawaysInteractionHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysInteractionManager.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AACtD,0BAAmC;AACnC,8CAAwC;AAExC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAM;YACzF,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM,YAAY,wBAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAM;YAEzE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE9C,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC/B,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC5B,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClE,CAAC;YAED,WAAW,CAAC,KAAK,CAAC;gBACd,OAAO,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB;gBAC9E,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AApCD,kEAoCC"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AACtD,0BAAmC;AACnC,8CAAwC;AAExC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAM;YACzF,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM,YAAY,wBAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAM;YAEzE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE9C,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC/B,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC5B,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClE,CAAC;YAED,WAAW,CAAC,KAAK,CAAC;gBACd,OAAO,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB;gBAC9E,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AApCD,kEAoCC"} \ No newline at end of file diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 27f30ba..0d70315 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA+B,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,MAAyC;IACpD,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAexC;AAED,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,gBAAgB,EAA+B,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,MAAyC;IACpD,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAexC;AAED,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index fa374cb..fc66716 100644 --- a/dist/index.js +++ b/dist/index.js @@ -37,7 +37,7 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { this.commands = new managers_1.GiveawaysCommandManager(client); forgescript_1.EventManager.load("ForgeGiveawaysEvents", __dirname + "/events"); this.load(__dirname + "/native"); - new managers_1.GiveawaysInteractionManager(client); + new managers_1.GiveawaysInteractionHandler(client); if (this.options.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); } diff --git a/dist/managers/DatabaseManager.d.ts b/dist/managers/DatabaseManager.d.ts deleted file mode 100644 index 0453fde..0000000 --- a/dist/managers/DatabaseManager.d.ts +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=DatabaseManager.d.ts.map \ No newline at end of file diff --git a/dist/managers/DatabaseManager.d.ts.map b/dist/managers/DatabaseManager.d.ts.map deleted file mode 100644 index f2360e3..0000000 --- a/dist/managers/DatabaseManager.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"DatabaseManager.d.ts","sourceRoot":"","sources":["../../src/managers/DatabaseManager.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/managers/DatabaseManager.js b/dist/managers/DatabaseManager.js deleted file mode 100644 index b94be23..0000000 --- a/dist/managers/DatabaseManager.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -//# sourceMappingURL=DatabaseManager.js.map \ No newline at end of file diff --git a/dist/managers/DatabaseManager.js.map b/dist/managers/DatabaseManager.js.map deleted file mode 100644 index 48f4462..0000000 --- a/dist/managers/DatabaseManager.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"DatabaseManager.js","sourceRoot":"","sources":["../../src/managers/DatabaseManager.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/managers/Giveaway.d.ts b/dist/managers/Giveaway.d.ts deleted file mode 100644 index aac8b71..0000000 --- a/dist/managers/Giveaway.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { Snowflake } from "discord.js"; -import { IGiveawayStartOptions } from "./GiveawaysManager"; -export interface IGiveaway extends IGiveawayStartOptions { - id: Snowflake; - messageID?: Snowflake; - entries: Snowflake[]; - winners: Snowflake[]; -} -export declare class Giveaway implements IGiveaway { - id: Snowflake; - prize: string; - duration: number; - winnersCount: number; - hostID: Snowflake; - guildID: Snowflake; - channelID: Snowflake; - entries: Snowflake[]; - winners: Snowflake[]; - requirements?: IGiveawayStartOptions["requirements"]; - messageID?: Snowflake; - constructor(options: IGiveawayStartOptions & { - id?: Snowflake; - }); - /** - * Returns whether the giveaway has ended. - * @returns - */ - hasEnded(): boolean; - /** - * Adds a user entry to the giveaway. - * @param userID The user to add as participant. - */ - addEntry(userID: Snowflake): void; - /** - * Removes a user entry from the giveaway. - * @param userID The user to remove as participant. - */ - removeEntry(userID: Snowflake): void; -} -//# sourceMappingURL=Giveaway.d.ts.map \ No newline at end of file diff --git a/dist/managers/Giveaway.d.ts.map b/dist/managers/Giveaway.d.ts.map deleted file mode 100644 index 76d6372..0000000 --- a/dist/managers/Giveaway.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/managers/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBAAa,QAAS,YAAW,SAAS;IAC/B,EAAE,EAAE,SAAS,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IACpD,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,EAAE,qBAAqB,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAa/D;;;OAGG;IACI,QAAQ;IAIf;;;OAGG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAIjC;;;OAGG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;CAGvC"} \ No newline at end of file diff --git a/dist/managers/Giveaway.js b/dist/managers/Giveaway.js deleted file mode 100644 index cedf72a..0000000 --- a/dist/managers/Giveaway.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Giveaway = void 0; -const discord_js_1 = require("discord.js"); -class Giveaway { - id; - prize; - duration; - winnersCount; - hostID; - guildID; - channelID; - entries; - winners; - requirements; - messageID; - constructor(options) { - this.id = options.id ?? discord_js_1.SnowflakeUtil.generate().toString(); - this.prize = options.prize; - this.duration = options.duration; - this.winnersCount = options.winnersCount; - this.hostID = options.hostID; - this.guildID = options.guildID; - this.channelID = options.channelID; - this.requirements = options.requirements; - this.entries = []; - this.winners = []; - } - /** - * Returns whether the giveaway has ended. - * @returns - */ - hasEnded() { - return (Date.now() > discord_js_1.SnowflakeUtil.timestampFrom(this.id) + this.duration); - } - /** - * Adds a user entry to the giveaway. - * @param userID The user to add as participant. - */ - addEntry(userID) { - if (!this.entries.includes(userID)) - this.entries.push(userID); - } - /** - * Removes a user entry from the giveaway. - * @param userID The user to remove as participant. - */ - removeEntry(userID) { - this.entries = this.entries.filter((e) => e !== userID); - } -} -exports.Giveaway = Giveaway; -//# sourceMappingURL=Giveaway.js.map \ No newline at end of file diff --git a/dist/managers/Giveaway.js.map b/dist/managers/Giveaway.js.map deleted file mode 100644 index cddc15b..0000000 --- a/dist/managers/Giveaway.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/managers/Giveaway.ts"],"names":[],"mappings":";;;AAAA,2CAAqD;AAUrD,MAAa,QAAQ;IACV,EAAE,CAAW;IACb,KAAK,CAAQ;IACb,QAAQ,CAAQ;IAChB,YAAY,CAAQ;IACpB,MAAM,CAAW;IACjB,OAAO,CAAW;IAClB,SAAS,CAAW;IACpB,OAAO,CAAa;IACpB,OAAO,CAAa;IACpB,YAAY,CAAwC;IACpD,SAAS,CAAY;IAE5B,YAAY,OAAmD;QAC3D,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,0BAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAA;QAC3D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IACrB,CAAC;IAED;;;OAGG;IACI,QAAQ;QACX,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,0BAAa,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC9E,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,MAAiB;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjE,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,MAAiB;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;IAC3D,CAAC;CACJ;AAjDD,4BAiDC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysCommandManager.d.ts b/dist/managers/GiveawaysCommandManager.d.ts index 56254b7..46a7aae 100644 --- a/dist/managers/GiveawaysCommandManager.d.ts +++ b/dist/managers/GiveawaysCommandManager.d.ts @@ -1,5 +1,5 @@ import { BaseCommandManager } from "@tryforge/forgescript"; -import { IGiveawayEvents } from "./GiveawaysEventManager"; +import { IGiveawayEvents } from "../handlers/GiveawaysEventHandler"; export declare class GiveawaysCommandManager extends BaseCommandManager { handlerName: string; } diff --git a/dist/managers/GiveawaysCommandManager.d.ts.map b/dist/managers/GiveawaysCommandManager.d.ts.map index 7953f1c..8ab64ef 100644 --- a/dist/managers/GiveawaysCommandManager.d.ts.map +++ b/dist/managers/GiveawaysCommandManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysCommandManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysCommandManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,qBAAa,uBAAwB,SAAQ,kBAAkB,CAAC,MAAM,eAAe,CAAC;IAClF,WAAW,SAAyB;CACvC"} \ No newline at end of file +{"version":3,"file":"GiveawaysCommandManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysCommandManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAEnE,qBAAa,uBAAwB,SAAQ,kBAAkB,CAAC,MAAM,eAAe,CAAC;IAClF,WAAW,SAAyB;CACvC"} \ No newline at end of file diff --git a/dist/managers/index.d.ts b/dist/managers/index.d.ts index cb4e935..27975db 100644 --- a/dist/managers/index.d.ts +++ b/dist/managers/index.d.ts @@ -1,6 +1,6 @@ export * from "./GiveawaysCommandManager"; export * from "./GiveawaysDatabaseManager"; -export * from "./GiveawaysEventManager"; -export * from "./GiveawaysInteractionManager"; +export * from "../handlers/GiveawaysEventHandler"; +export * from "../handlers/GiveawaysInteractionHandler"; export * from "./GiveawaysManager"; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/managers/index.d.ts.map b/dist/managers/index.d.ts.map index e73791c..6e50ac0 100644 --- a/dist/managers/index.d.ts.map +++ b/dist/managers/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oBAAoB,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mCAAmC,CAAA;AACjD,cAAc,yCAAyC,CAAA;AACvD,cAAc,oBAAoB,CAAA"} \ No newline at end of file diff --git a/dist/managers/index.js b/dist/managers/index.js index 8a4d37e..dd436f7 100644 --- a/dist/managers/index.js +++ b/dist/managers/index.js @@ -16,7 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) { Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./GiveawaysCommandManager"), exports); __exportStar(require("./GiveawaysDatabaseManager"), exports); -__exportStar(require("./GiveawaysEventManager"), exports); -__exportStar(require("./GiveawaysInteractionManager"), exports); +__exportStar(require("../handlers/GiveawaysEventHandler"), exports); +__exportStar(require("../handlers/GiveawaysInteractionHandler"), exports); __exportStar(require("./GiveawaysManager"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/managers/index.js.map b/dist/managers/index.js.map index da4dc2a..fe07f1a 100644 --- a/dist/managers/index.js.map +++ b/dist/managers/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,6DAA0C;AAC1C,0DAAuC;AACvC,gEAA6C;AAC7C,qDAAkC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,6DAA0C;AAC1C,oEAAiD;AACjD,0EAAuD;AACvD,qDAAkC"} \ No newline at end of file diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 167aa60..3b90f60 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE43TTU+DQBAG4P+y50YsSf3gZrBqD41JezQepuzYEmFAdlrbGP+7aSkVdpdlbyTzzsMyO7z9CMY9i0jEBZ2eRqIE3ohIJBkohSo4F642nGdiJD5TkiIah3e/o0vvIzCsQKHZ3FRc3U9FtcbndIfwDQdlGt26S2pCptFUfLpVXOQ5kJwDwRqrfkwLetnNQIZxLemlT3dI/AIkMyfdjnm5M2KsIOG0oOGDm2GvdwzDHtq8oHXRvwadssuZTfeMJFGetz+GZNNa7/T4iR+QoAqsyS4dTm5s9GJLBKtsgG1SXuSSgVG5wTrj5Lp/3Gt5vMoe1Rp14ubttD375fQQpz3uOVg348Ut8GubVpgPo+2kF71kqNg5SFvSRT/QwZwkH0pUQaukCdf3t+NJ2FIuS4Eku7tYU3rd29MWUdNsK2hY/1coU3N2tWjL2N33P7cIAATrBgAA" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE43TTW+CQBAG4P+yZ1Mqif3g1lDbejBN9Nj0MLJTJYWBsqPVNP3vjSIWdpdlbybzzgPMjG8/gnHPIhJxQadfI1ECb0QkkgyUQhWcC1cbzjMxEp8pSRGNw7vf0aX3ERhWoNBsbiqu7qeiWuNzukP4hoMyjW7dJTUh02gqPt0qLvIcSM6BYI1VP6YFvexmIMO4lvTSpzskfgGSmZNux7zcGTFWkHBa0LBuhr2eMTwRj0nMC1oX/WfQKbuc2XTPSBLl+fpjSDat806Pn/gBCarAmuzS4eTGRi+2RLDKBtgm5UUuGRiVG6wzTq77j3stj6vsUa1RJ25up+3Zl9NDnO6458W6GS9ugV/btMJ8GG0nveglQ8XOQdqSLvqBDuYk+VCiClolTbi+vx1PwpZyOQok2b3FmtLr3p52iJpmO0HD+l+hTM3Z1aItY3ff/wCD4wTm6wYAAA==" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 9f74e32..884370f 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 79e2102..244cb2a 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      constructor +Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        +

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        Parameters

        • Optionalprops: Partial<IRunnable>
        • OptionalsyncVars: boolean

        Returns Context

      • Returns Context

      • Returns IRunnable

      • Parameters

        • name: string

        Returns boolean

      • Parameters

        • name: string

        Returns boolean

      • Fetches all emojis of the application.

        Parameters

        • Optionalonce: boolean

          Whether to fetch only when the collection is empty.

        Returns Promise<void | Collection<string, ApplicationEmoji>>

      • Type Parameters

        • T

        Parameters

        • key: PropertyKey

        Returns T

      • Type Parameters

        • T extends ClassType

        Parameters

        • type: T
        • Rest...keys: string[]

        Returns null | ClassInstance<T>

      • Parameters

        • Rest...args: string[]

        Returns undefined | object

      • Type Parameters

        • K extends string
        • T extends ClassType

        Parameters

        • key: K
        • type: T

        Returns null | (Context & {
            [P in "bro" as K]: ClassInstance<T>
        })[K]

      • Parameters

        • name: string

        Returns unknown

      • Type Parameters

        • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
        • Unwrap extends boolean

        Parameters

        Returns Promise<Return<ReturnType>>

      • Parameters

        • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
        • rt: Return<ReturnType>

        Returns boolean

      • Returns undefined | boolean

      • Type Parameters

        • K extends string
        • V extends ClassType

        Parameters

        • key: K
        • type: V

        Returns this is Context & {
            [P in "bro" as K]: ClassInstance<V>
        }

      • Parameters

        • name: string

        Returns boolean

      • Returns this is Context & {
            get interaction(): ChatInputCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): ContextMenuCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): AnySelectMenuInteraction;
        }

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • value: unknown
        • Rest...keys: string[]

        Returns boolean

      • Parameters

        • Rest...keys: string[]

        Returns boolean | any[]

      • Parameters

        • previous: object
        • Rest...args: string[]

        Returns undefined | object

      diff --git a/docs/classes/Database.html b/docs/classes/Database.html index 17b6c10..eb022bc 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      constructor +Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      Properties

      database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        +

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        Parameters

        • id: string

          The id of the giveaway to delete.

          -

        Returns Promise<DeleteResult>

      • Gets an existing giveaway.

        +

      Returns Promise<DeleteResult>

      • Saves a giveaway in the database.

        +

      Returns Promise<null | Giveaway>

      +

      Returns Promise<void>

      diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 0c15d53..c67ce71 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      constructor +ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      Properties

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      -
      targetVersions?: string[]

      Only the versions written here will be allowed

      -
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      +

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      +
      targetVersions?: string[]

      Only the versions written here will be allowed

      +
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index de09016..2764d84 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      constructor +Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | Giveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Returns whether a user has entered this giveaway.

        Parameters

        • userID: string

          The user to check for.

          -

        Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | Giveaway

      diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 5d58a81..1bc053b 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      constructor +GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      Properties

      Accessors

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      +

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 98b201d..937a38b 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      constructor +GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      Properties

      Methods

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      +

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 54b4346..ccf38dd 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      constructor +GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      Properties

      Accessors

      Methods

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      +

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      • Parameters

        • client: ForgeClient

        Returns void

      diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html new file mode 100644 index 0000000..48560d2 --- /dev/null +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -0,0 +1,2 @@ +GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      diff --git a/docs/classes/GiveawaysInteractionManager.html b/docs/classes/GiveawaysInteractionManager.html deleted file mode 100644 index c9dc744..0000000 --- a/docs/classes/GiveawaysInteractionManager.html +++ /dev/null @@ -1,2 +0,0 @@ -GiveawaysInteractionManager | forge.giveaways

      Class GiveawaysInteractionManager

      Constructors

      Constructors

      diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 8c057dd..4e19bc0 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,15 +1,15 @@ -GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      constructor +GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      Methods

      Constructors

      Methods

      • Edits an existing giveaway.

        +

      Constructors

      Methods

      • Ends an existing giveaway.

        +

      Returns Promise<null | Giveaway>

      • Rerolls an existing giveaway.

        +

      Returns Promise<null | Giveaway>

      • Starts a new giveaway on a guild.

        +

      Returns Promise<null | Giveaway>

      +

      Returns Promise<undefined | Giveaway>

      diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index cb37b3a..f5e9066 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      constructor +MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      mongoId?: string

      The object id for MongoDB.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      mongoId?: string

      The object id for MongoDB.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | MongoGiveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | MongoGiveaway

      diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index eca99a9..6b4f3dc 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      automod +IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      +

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index d3d794b..0b6a3ed 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      extras?: unknown

      Extras data

      keywords?: Record<string, string>

      The already existing variables defined with $let

      The context this code will run in

      -
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      +
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      The old and new states of an event

      -
      +
      diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index f996808..1102788 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      audit +IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      +

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 6453727..6fc3310 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          useDefault?: boolean;
      }

      Properties

      events? +IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          useDefault?: boolean;
      }

      Properties

      Properties

      events?: keyof IGiveawayEvents

      The giveaway events to use.

      -
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      -
      +
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      +
      diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 85b3e18..18ca432 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID +IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 7614768..896b395 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,8 +1,8 @@ -IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect +IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      +

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index 104193d..cf86315 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles? +IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      +

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 497dd5b..13e0c59 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID +IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      diff --git a/docs/modules.html b/docs/modules.html index 1f26426..d4a59c7 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -5,7 +5,7 @@ GiveawaysCommandManager GiveawaysDatabaseManager GiveawaysEventHandler -GiveawaysInteractionManager +GiveawaysInteractionHandler GiveawaysManager MongoGiveaway

      Interfaces

      IExtendedContextCache diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index 84ec9dc..c9d53c1 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      +AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index acdd9ff..a3a2105 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      +ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index 18cd8b2..b65ef75 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      +ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index d9e1a3a..dc8a50b 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      +IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      diff --git a/src/events/databaseConnect.ts b/src/events/databaseConnect.ts index 12a4dbb..bdff131 100644 --- a/src/events/databaseConnect.ts +++ b/src/events/databaseConnect.ts @@ -1,5 +1,5 @@ import { Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler" import { ForgeGiveaways } from ".." import { Context } from "../structures" diff --git a/src/events/giveawayEdit.ts b/src/events/giveawayEdit.ts index 7b50b8c..4bafda0 100644 --- a/src/events/giveawayEdit.ts +++ b/src/events/giveawayEdit.ts @@ -1,5 +1,5 @@ import { Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler" import { ForgeGiveaways } from ".." import { Context } from "../structures" diff --git a/src/events/giveawayEnd.ts b/src/events/giveawayEnd.ts index b0f3450..0ec49c0 100644 --- a/src/events/giveawayEnd.ts +++ b/src/events/giveawayEnd.ts @@ -1,5 +1,5 @@ import { Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler" import { ForgeGiveaways } from ".." import { Context } from "../structures" diff --git a/src/events/giveawayEntryAdd.ts b/src/events/giveawayEntryAdd.ts index fe4998c..bf280df 100644 --- a/src/events/giveawayEntryAdd.ts +++ b/src/events/giveawayEntryAdd.ts @@ -1,5 +1,5 @@ import { Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler" import { ForgeGiveaways } from ".." import { Context } from "../structures" diff --git a/src/events/giveawayEntryRemove.ts b/src/events/giveawayEntryRemove.ts index 2a4695d..fbddf15 100644 --- a/src/events/giveawayEntryRemove.ts +++ b/src/events/giveawayEntryRemove.ts @@ -1,5 +1,5 @@ import { Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler" import { ForgeGiveaways } from ".." import { Context } from "../structures" diff --git a/src/events/giveawayReroll.ts b/src/events/giveawayReroll.ts index 4762eb8..eb09807 100644 --- a/src/events/giveawayReroll.ts +++ b/src/events/giveawayReroll.ts @@ -1,5 +1,5 @@ import { Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler" import { ForgeGiveaways } from ".." import { Context } from "../structures" diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index d95ef37..09daf32 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -1,5 +1,5 @@ import { Compiler, Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../managers/GiveawaysEventManager" +import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler" import { GiveawaysErrorType, throwGiveawaysError } from "../functions/error" import { Context, Database } from "../structures" import { ForgeGiveaways } from ".." @@ -23,13 +23,13 @@ export default new GiveawaysEventHandler({ new: gw, } }, - data: Compiler.compile(command.data.code) + data: command.compiled.code }) - const result = await Interpreter.run(ctx) + const result = Interpreter.run(ctx) if (client.options.useDefault === false) { - const res = result?.trim() + const res = (await result)?.trim() console.log(res) const chan = this.channels.cache.get(gw.channelID) as TextChannel | undefined const msg = res ? await chan?.messages.fetch(res).catch(ctx.noop) : undefined diff --git a/src/managers/GiveawaysEventManager.ts b/src/handlers/GiveawaysEventHandler.ts similarity index 100% rename from src/managers/GiveawaysEventManager.ts rename to src/handlers/GiveawaysEventHandler.ts diff --git a/src/managers/GiveawaysInteractionManager.ts b/src/handlers/GiveawaysInteractionHandler.ts similarity index 97% rename from src/managers/GiveawaysInteractionManager.ts rename to src/handlers/GiveawaysInteractionHandler.ts index db72463..3eb402f 100644 --- a/src/managers/GiveawaysInteractionManager.ts +++ b/src/handlers/GiveawaysInteractionHandler.ts @@ -3,7 +3,7 @@ import { GuildMember, MessageFlags } from "discord.js" import { ForgeGiveaways } from ".." import { Database } from "../structures" -export class GiveawaysInteractionManager { +export class GiveawaysInteractionHandler { public constructor(private readonly client: ForgeClient) { this._register() } diff --git a/src/index.ts b/src/index.ts index d96cc82..fae5003 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,5 @@ import { EventManager, ForgeClient, ForgeExtension } from "@tryforge/forgescript" -import { IGiveawayEvents, GiveawaysCommandManager, GiveawaysInteractionManager, GiveawaysManager } from "./managers" +import { IGiveawayEvents, GiveawaysCommandManager, GiveawaysManager, GiveawaysInteractionHandler } from "./managers" import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" import { Database } from "./structures" @@ -38,7 +38,7 @@ export class ForgeGiveaways extends ForgeExtension { EventManager.load("ForgeGiveawaysEvents", __dirname + "/events") this.load(__dirname + "/native") - new GiveawaysInteractionManager(client) + new GiveawaysInteractionHandler(client) if (this.options.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events) diff --git a/src/managers/GiveawaysCommandManager.ts b/src/managers/GiveawaysCommandManager.ts index d799d70..cf6323f 100644 --- a/src/managers/GiveawaysCommandManager.ts +++ b/src/managers/GiveawaysCommandManager.ts @@ -1,5 +1,5 @@ import { BaseCommandManager } from "@tryforge/forgescript" -import { IGiveawayEvents } from "./GiveawaysEventManager" +import { IGiveawayEvents } from "../handlers/GiveawaysEventHandler" export class GiveawaysCommandManager extends BaseCommandManager { handlerName = "ForgeGiveawaysEvents" diff --git a/src/managers/index.ts b/src/managers/index.ts index 2934f24..fe1e454 100644 --- a/src/managers/index.ts +++ b/src/managers/index.ts @@ -1,5 +1,5 @@ export * from "./GiveawaysCommandManager" export * from "./GiveawaysDatabaseManager" -export * from "./GiveawaysEventManager" -export * from "./GiveawaysInteractionManager" +export * from "../handlers/GiveawaysEventHandler" +export * from "../handlers/GiveawaysInteractionHandler" export * from "./GiveawaysManager" \ No newline at end of file From 7cb644c06e8814789c22c205c8bd841451496257 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Sun, 19 Oct 2025 23:28:26 +0200 Subject: [PATCH 64/87] New event --- dist/events/databaseConnect.d.ts | 2 +- dist/events/databaseConnect.d.ts.map | 2 +- dist/events/databaseConnect.js | 4 +- dist/events/databaseConnect.js.map | 2 +- dist/events/giveawayEdit.d.ts | 2 +- dist/events/giveawayEdit.d.ts.map | 2 +- dist/events/giveawayEdit.js | 4 +- dist/events/giveawayEdit.js.map | 2 +- dist/events/giveawayEnd.d.ts | 2 +- dist/events/giveawayEnd.d.ts.map | 2 +- dist/events/giveawayEnd.js | 4 +- dist/events/giveawayEnd.js.map | 2 +- dist/events/giveawayEntryAdd.d.ts | 2 +- dist/events/giveawayEntryAdd.d.ts.map | 2 +- dist/events/giveawayEntryAdd.js | 4 +- dist/events/giveawayEntryAdd.js.map | 2 +- dist/events/giveawayEntryRemove.d.ts | 2 +- dist/events/giveawayEntryRemove.d.ts.map | 2 +- dist/events/giveawayEntryRemove.js | 4 +- dist/events/giveawayEntryRemove.js.map | 2 +- dist/events/giveawayEntryRevoked.d.ts | 4 ++ dist/events/giveawayEntryRevoked.d.ts.map | 1 + dist/events/giveawayEntryRevoked.js | 29 ++++++++++++ dist/events/giveawayEntryRevoked.js.map | 1 + dist/events/giveawayReroll.d.ts | 2 +- dist/events/giveawayReroll.d.ts.map | 2 +- dist/events/giveawayReroll.js | 4 +- dist/events/giveawayReroll.js.map | 2 +- dist/events/giveawayStart.d.ts | 2 +- dist/events/giveawayStart.d.ts.map | 2 +- dist/events/giveawayStart.js | 24 ++-------- dist/events/giveawayStart.js.map | 2 +- dist/handlers/GiveawaysEventHandler.d.ts | 1 + dist/handlers/GiveawaysEventHandler.d.ts.map | 2 +- dist/handlers/GiveawaysEventHandler.js.map | 2 +- dist/handlers/index.d.ts | 3 ++ dist/handlers/index.d.ts.map | 1 + dist/handlers/index.js | 19 ++++++++ dist/handlers/index.js.map | 1 + dist/index.d.ts | 4 +- dist/index.d.ts.map | 2 +- dist/index.js | 4 +- dist/index.js.map | 2 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 25 +++++++---- dist/managers/GiveawaysManager.js.map | 2 +- dist/managers/index.d.ts | 2 - dist/managers/index.d.ts.map | 2 +- dist/managers/index.js | 2 - dist/managers/index.js.map | 2 +- dist/structures/Database.d.ts | 3 +- dist/structures/Database.d.ts.map | 2 +- dist/structures/Database.js.map | 2 +- docs/assets/search.js | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 12 ++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 6 +-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 5 ++- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- metadata/events.json | 2 +- src/events/databaseConnect.ts | 2 +- src/events/giveawayEdit.ts | 2 +- src/events/giveawayEnd.ts | 2 +- src/events/giveawayEntryAdd.ts | 2 +- src/events/giveawayEntryRemove.ts | 2 +- src/events/giveawayEntryRevoked.ts | 29 ++++++++++++ src/events/giveawayReroll.ts | 2 +- src/events/giveawayStart.ts | 30 +++---------- src/handlers/GiveawaysEventHandler.ts | 1 + src/handlers/index.ts | 2 + src/index.ts | 4 +- src/managers/GiveawaysManager.ts | 33 ++++++++++---- src/managers/index.ts | 2 - src/structures/Database.ts | 3 +- 91 files changed, 300 insertions(+), 215 deletions(-) create mode 100644 dist/events/giveawayEntryRevoked.d.ts create mode 100644 dist/events/giveawayEntryRevoked.d.ts.map create mode 100644 dist/events/giveawayEntryRevoked.js create mode 100644 dist/events/giveawayEntryRevoked.js.map create mode 100644 dist/handlers/index.d.ts create mode 100644 dist/handlers/index.d.ts.map create mode 100644 dist/handlers/index.js create mode 100644 dist/handlers/index.js.map create mode 100644 src/events/giveawayEntryRevoked.ts create mode 100644 src/handlers/index.ts diff --git a/dist/events/databaseConnect.d.ts b/dist/events/databaseConnect.d.ts index d3c1290..49cca82 100644 --- a/dist/events/databaseConnect.d.ts +++ b/dist/events/databaseConnect.d.ts @@ -1,4 +1,4 @@ -import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler"; +import { GiveawaysEventHandler } from "../handlers"; declare const _default: GiveawaysEventHandler<"databaseConnect">; export default _default; //# sourceMappingURL=databaseConnect.d.ts.map \ No newline at end of file diff --git a/dist/events/databaseConnect.d.ts.map b/dist/events/databaseConnect.d.ts.map index 2401df8..ccfa257 100644 --- a/dist/events/databaseConnect.d.ts.map +++ b/dist/events/databaseConnect.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"databaseConnect.d.ts","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAkBE"} \ No newline at end of file +{"version":3,"file":"databaseConnect.d.ts","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAkBE"} \ No newline at end of file diff --git a/dist/events/databaseConnect.js b/dist/events/databaseConnect.js index 3fabd1f..74e432a 100644 --- a/dist/events/databaseConnect.js +++ b/dist/events/databaseConnect.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysEventHandler_1 = require("../handlers/GiveawaysEventHandler"); +const handlers_1 = require("../handlers"); const __1 = require(".."); const structures_1 = require("../structures"); -exports.default = new GiveawaysEventHandler_1.GiveawaysEventHandler({ +exports.default = new handlers_1.GiveawaysEventHandler({ name: "databaseConnect", version: "1.0.0", description: "This event is fired when the database has connected", diff --git a/dist/events/databaseConnect.js.map b/dist/events/databaseConnect.js.map index 23550b3..a4cc385 100644 --- a/dist/events/databaseConnect.js.map +++ b/dist/events/databaseConnect.js.map @@ -1 +1 @@ -{"version":3,"file":"databaseConnect.js","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,qDAAqD;IAClE,QAAQ,EAAE,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAExF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"databaseConnect.js","sourceRoot":"","sources":["../../src/events/databaseConnect.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,qDAAqD;IAClE,QAAQ,EAAE,KAAK;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAExF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEdit.d.ts b/dist/events/giveawayEdit.d.ts index a7bd439..294509a 100644 --- a/dist/events/giveawayEdit.d.ts +++ b/dist/events/giveawayEdit.d.ts @@ -1,4 +1,4 @@ -import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler"; +import { GiveawaysEventHandler } from "../handlers"; declare const _default: GiveawaysEventHandler<"giveawayEdit">; export default _default; //# sourceMappingURL=giveawayEdit.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayEdit.d.ts.map b/dist/events/giveawayEdit.d.ts.map index aa91459..d49bd4b 100644 --- a/dist/events/giveawayEdit.d.ts.map +++ b/dist/events/giveawayEdit.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEdit.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAwBE"} \ No newline at end of file +{"version":3,"file":"giveawayEdit.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAwBE"} \ No newline at end of file diff --git a/dist/events/giveawayEdit.js b/dist/events/giveawayEdit.js index 2101448..d559ccb 100644 --- a/dist/events/giveawayEdit.js +++ b/dist/events/giveawayEdit.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysEventHandler_1 = require("../handlers/GiveawaysEventHandler"); +const handlers_1 = require("../handlers"); const __1 = require(".."); const structures_1 = require("../structures"); -exports.default = new GiveawaysEventHandler_1.GiveawaysEventHandler({ +exports.default = new handlers_1.GiveawaysEventHandler({ name: "giveawayEdit", version: "1.0.0", description: "This event is fired when a giveaway was edited", diff --git a/dist/events/giveawayEdit.js.map b/dist/events/giveawayEdit.js.map index 6680ec6..2adda6a 100644 --- a/dist/events/giveawayEdit.js.map +++ b/dist/events/giveawayEdit.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAErF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,KAAK;gBACV,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAErF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,KAAK;gBACV,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEnd.d.ts b/dist/events/giveawayEnd.d.ts index 922405e..136ef1d 100644 --- a/dist/events/giveawayEnd.d.ts +++ b/dist/events/giveawayEnd.d.ts @@ -1,4 +1,4 @@ -import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler"; +import { GiveawaysEventHandler } from "../handlers"; declare const _default: GiveawaysEventHandler<"giveawayEnd">; export default _default; //# sourceMappingURL=giveawayEnd.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayEnd.d.ts.map b/dist/events/giveawayEnd.d.ts.map index a9ed235..a8aeee8 100644 --- a/dist/events/giveawayEnd.d.ts.map +++ b/dist/events/giveawayEnd.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEnd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAuBE"} \ No newline at end of file +{"version":3,"file":"giveawayEnd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAuBE"} \ No newline at end of file diff --git a/dist/events/giveawayEnd.js b/dist/events/giveawayEnd.js index 97998ca..f029089 100644 --- a/dist/events/giveawayEnd.js +++ b/dist/events/giveawayEnd.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysEventHandler_1 = require("../handlers/GiveawaysEventHandler"); +const handlers_1 = require("../handlers"); const __1 = require(".."); const structures_1 = require("../structures"); -exports.default = new GiveawaysEventHandler_1.GiveawaysEventHandler({ +exports.default = new handlers_1.GiveawaysEventHandler({ name: "giveawayEnd", version: "1.0.0", description: "This event is fired when a giveaway ended", diff --git a/dist/events/giveawayEnd.js.map b/dist/events/giveawayEnd.js.map index 176facf..cfd2e4b 100644 --- a/dist/events/giveawayEnd.js.map +++ b/dist/events/giveawayEnd.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEnd.js","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAEpF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEnd.js","sourceRoot":"","sources":["../../src/events/giveawayEnd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAEpF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryAdd.d.ts b/dist/events/giveawayEntryAdd.d.ts index f8ac914..b43f2fd 100644 --- a/dist/events/giveawayEntryAdd.d.ts +++ b/dist/events/giveawayEntryAdd.d.ts @@ -1,4 +1,4 @@ -import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler"; +import { GiveawaysEventHandler } from "../handlers"; declare const _default: GiveawaysEventHandler<"giveawayEntryAdd">; export default _default; //# sourceMappingURL=giveawayEntryAdd.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayEntryAdd.d.ts.map b/dist/events/giveawayEntryAdd.d.ts.map index cf3f2f1..cdbbedf 100644 --- a/dist/events/giveawayEntryAdd.d.ts.map +++ b/dist/events/giveawayEntryAdd.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryAdd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAwBE"} \ No newline at end of file +{"version":3,"file":"giveawayEntryAdd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAwBE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryAdd.js b/dist/events/giveawayEntryAdd.js index b00984c..bf53acd 100644 --- a/dist/events/giveawayEntryAdd.js +++ b/dist/events/giveawayEntryAdd.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysEventHandler_1 = require("../handlers/GiveawaysEventHandler"); +const handlers_1 = require("../handlers"); const __1 = require(".."); const structures_1 = require("../structures"); -exports.default = new GiveawaysEventHandler_1.GiveawaysEventHandler({ +exports.default = new handlers_1.GiveawaysEventHandler({ name: "giveawayEntryAdd", version: "1.0.0", description: "This event is fired when a giveaway entry is added", diff --git a/dist/events/giveawayEntryAdd.js.map b/dist/events/giveawayEntryAdd.js.map index 12eb861..944e9a3 100644 --- a/dist/events/giveawayEntryAdd.js.map +++ b/dist/events/giveawayEntryAdd.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAEzF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,KAAK;gBACV,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAEzF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,KAAK;gBACV,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.d.ts b/dist/events/giveawayEntryRemove.d.ts index 1c703bf..1898cf9 100644 --- a/dist/events/giveawayEntryRemove.d.ts +++ b/dist/events/giveawayEntryRemove.d.ts @@ -1,4 +1,4 @@ -import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler"; +import { GiveawaysEventHandler } from "../handlers"; declare const _default: GiveawaysEventHandler<"giveawayEntryRemove">; export default _default; //# sourceMappingURL=giveawayEntryRemove.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.d.ts.map b/dist/events/giveawayEntryRemove.d.ts.map index b683d73..837d587 100644 --- a/dist/events/giveawayEntryRemove.d.ts.map +++ b/dist/events/giveawayEntryRemove.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRemove.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAwBE"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRemove.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAwBE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.js b/dist/events/giveawayEntryRemove.js index 382b7e8..126aa56 100644 --- a/dist/events/giveawayEntryRemove.js +++ b/dist/events/giveawayEntryRemove.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysEventHandler_1 = require("../handlers/GiveawaysEventHandler"); +const handlers_1 = require("../handlers"); const __1 = require(".."); const structures_1 = require("../structures"); -exports.default = new GiveawaysEventHandler_1.GiveawaysEventHandler({ +exports.default = new handlers_1.GiveawaysEventHandler({ name: "giveawayEntryRemove", version: "1.0.0", description: "This event is fired when a giveaway entry is removed", diff --git a/dist/events/giveawayEntryRemove.js.map b/dist/events/giveawayEntryRemove.js.map index 6045637..21bd08b 100644 --- a/dist/events/giveawayEntryRemove.js.map +++ b/dist/events/giveawayEntryRemove.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE5F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,KAAK;gBACV,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE5F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,KAAK;gBACV,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRevoked.d.ts b/dist/events/giveawayEntryRevoked.d.ts new file mode 100644 index 0000000..537a500 --- /dev/null +++ b/dist/events/giveawayEntryRevoked.d.ts @@ -0,0 +1,4 @@ +import { GiveawaysEventHandler } from "../handlers"; +declare const _default: GiveawaysEventHandler<"giveawayEntryRevoked">; +export default _default; +//# sourceMappingURL=giveawayEntryRevoked.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayEntryRevoked.d.ts.map b/dist/events/giveawayEntryRevoked.d.ts.map new file mode 100644 index 0000000..cb7ad85 --- /dev/null +++ b/dist/events/giveawayEntryRevoked.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayEntryRevoked.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoked.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAuBE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRevoked.js b/dist/events/giveawayEntryRevoked.js new file mode 100644 index 0000000..08017a8 --- /dev/null +++ b/dist/events/giveawayEntryRevoked.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const handlers_1 = require("../handlers"); +const __1 = require(".."); +const structures_1 = require("../structures"); +exports.default = new handlers_1.GiveawaysEventHandler({ + name: "giveawayEntryRevoked", + version: "1.0.0", + description: "This event is fired when a giveaway entry is revoked", + listener: async function (gw) { + const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEntryRevoked"); + for (const command of commands) { + const ctx = new structures_1.Context({ + obj: gw, + command, + client: this, + states: { + giveaway: { + new: gw + } + }, + data: command.compiled.code, + }); + forgescript_1.Interpreter.run(ctx); + } + }, +}); +//# sourceMappingURL=giveawayEntryRevoked.js.map \ No newline at end of file diff --git a/dist/events/giveawayEntryRevoked.js.map b/dist/events/giveawayEntryRevoked.js.map new file mode 100644 index 0000000..8ac6e06 --- /dev/null +++ b/dist/events/giveawayEntryRevoked.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayEntryRevoked.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoked.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QAE7F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayReroll.d.ts b/dist/events/giveawayReroll.d.ts index cea71a0..e876183 100644 --- a/dist/events/giveawayReroll.d.ts +++ b/dist/events/giveawayReroll.d.ts @@ -1,4 +1,4 @@ -import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler"; +import { GiveawaysEventHandler } from "../handlers"; declare const _default: GiveawaysEventHandler<"giveawayReroll">; export default _default; //# sourceMappingURL=giveawayReroll.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayReroll.d.ts.map b/dist/events/giveawayReroll.d.ts.map index 47c6f52..88779ea 100644 --- a/dist/events/giveawayReroll.d.ts.map +++ b/dist/events/giveawayReroll.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayReroll.d.ts","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAIzE,wBAwBE"} \ No newline at end of file +{"version":3,"file":"giveawayReroll.d.ts","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAwBE"} \ No newline at end of file diff --git a/dist/events/giveawayReroll.js b/dist/events/giveawayReroll.js index 2bac712..05dd2c3 100644 --- a/dist/events/giveawayReroll.js +++ b/dist/events/giveawayReroll.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysEventHandler_1 = require("../handlers/GiveawaysEventHandler"); +const handlers_1 = require("../handlers"); const __1 = require(".."); const structures_1 = require("../structures"); -exports.default = new GiveawaysEventHandler_1.GiveawaysEventHandler({ +exports.default = new handlers_1.GiveawaysEventHandler({ name: "giveawayReroll", version: "1.0.0", description: "This event is fired when a giveaway was rerolled", diff --git a/dist/events/giveawayReroll.js.map b/dist/events/giveawayReroll.js.map index d89a3c3..3fd1bd5 100644 --- a/dist/events/giveawayReroll.js.map +++ b/dist/events/giveawayReroll.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,6EAAyE;AACzE,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAEvF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,KAAK;gBACV,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayReroll.js","sourceRoot":"","sources":["../../src/events/giveawayReroll.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAEvF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,KAAK;gBACV,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayStart.d.ts b/dist/events/giveawayStart.d.ts index aa8b437..8190803 100644 --- a/dist/events/giveawayStart.d.ts +++ b/dist/events/giveawayStart.d.ts @@ -1,4 +1,4 @@ -import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler"; +import { GiveawaysEventHandler } from "../handlers"; declare const _default: GiveawaysEventHandler<"giveawayStart">; export default _default; //# sourceMappingURL=giveawayStart.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayStart.d.ts.map b/dist/events/giveawayStart.d.ts.map index 3db4072..099ef40 100644 --- a/dist/events/giveawayStart.d.ts.map +++ b/dist/events/giveawayStart.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;;AAMzE,wBAyCE"} \ No newline at end of file +{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAuBE"} \ No newline at end of file diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index 45ac969..49add4b 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -1,17 +1,15 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const GiveawaysEventHandler_1 = require("../handlers/GiveawaysEventHandler"); -const error_1 = require("../functions/error"); +const handlers_1 = require("../handlers"); const structures_1 = require("../structures"); const __1 = require(".."); -exports.default = new GiveawaysEventHandler_1.GiveawaysEventHandler({ +exports.default = new handlers_1.GiveawaysEventHandler({ name: "giveawayStart", version: "1.0.0", description: "This event is fired when a giveaway started", listener: async function (gw) { - const client = this.getExtension(__1.ForgeGiveaways, true); - const commands = client.commands.get("giveawayStart"); + const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayStart"); for (const command of commands) { const ctx = new structures_1.Context({ obj: gw, @@ -24,21 +22,7 @@ exports.default = new GiveawaysEventHandler_1.GiveawaysEventHandler({ }, data: command.compiled.code }); - const result = forgescript_1.Interpreter.run(ctx); - if (client.options.useDefault === false) { - const res = (await result)?.trim(); - console.log(res); - const chan = this.channels.cache.get(gw.channelID); - const msg = res ? await chan?.messages.fetch(res).catch(ctx.noop) : undefined; - console.log(msg); - if (!msg) { - (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotFound, gw.id); - await structures_1.Database.delete(gw.id); - continue; - } - gw.messageID = msg.id; - await structures_1.Database.set(gw); - } + forgescript_1.Interpreter.run(ctx); } } }); diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index 199c4b5..3ca4eeb 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAA6D;AAC7D,6EAAyE;AACzE,8CAA4E;AAC5E,8CAAiD;AACjD,0BAAmC;AAGnC,kBAAe,IAAI,6CAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAErD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEnC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,EAAE,IAAI,EAAE,CAAA;gBAClC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAA4B,CAAA;gBAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEhB,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;oBAC9D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;oBAC5B,SAAQ;gBACZ,CAAC;gBAED,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;gBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC1B,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,8CAAuC;AACvC,0BAAmC;AAEnC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAEtF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/handlers/GiveawaysEventHandler.d.ts b/dist/handlers/GiveawaysEventHandler.d.ts index dfffbee..e644581 100644 --- a/dist/handlers/GiveawaysEventHandler.d.ts +++ b/dist/handlers/GiveawaysEventHandler.d.ts @@ -8,6 +8,7 @@ export interface IGiveawayEvents { giveawayReroll: [Giveaway, Giveaway]; giveawayEntryAdd: [Giveaway, Giveaway]; giveawayEntryRemove: [Giveaway, Giveaway]; + giveawayEntryRevoked: [Giveaway]; } export declare class GiveawaysEventHandler extends BaseEventHandler { register(client: ForgeClient): void; diff --git a/dist/handlers/GiveawaysEventHandler.d.ts.map b/dist/handlers/GiveawaysEventHandler.d.ts.map index 1f83f3b..c6383f3 100644 --- a/dist/handlers/GiveawaysEventHandler.d.ts.map +++ b/dist/handlers/GiveawaysEventHandler.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,MAAM,WAAW,eAAe;IAC5B,eAAe,EAAE,EAAE,CAAA;IACnB,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClC,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACtC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;CAC5C;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,MAAM,WAAW,eAAe;IAC5B,eAAe,EAAE,EAAE,CAAA;IACnB,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClC,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACtC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACzC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,CAAA;CACnC;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file diff --git a/dist/handlers/GiveawaysEventHandler.js.map b/dist/handlers/GiveawaysEventHandler.js.map index 68878b7..c739a8a 100644 --- a/dist/handlers/GiveawaysEventHandler.js.map +++ b/dist/handlers/GiveawaysEventHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AAYnC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AAanC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file diff --git a/dist/handlers/index.d.ts b/dist/handlers/index.d.ts new file mode 100644 index 0000000..334d5aa --- /dev/null +++ b/dist/handlers/index.d.ts @@ -0,0 +1,3 @@ +export * from "./GiveawaysEventHandler"; +export * from "./GiveawaysInteractionHandler"; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/handlers/index.d.ts.map b/dist/handlers/index.d.ts.map new file mode 100644 index 0000000..af91bfc --- /dev/null +++ b/dist/handlers/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA"} \ No newline at end of file diff --git a/dist/handlers/index.js b/dist/handlers/index.js new file mode 100644 index 0000000..ed790c6 --- /dev/null +++ b/dist/handlers/index.js @@ -0,0 +1,19 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./GiveawaysEventHandler"), exports); +__exportStar(require("./GiveawaysInteractionHandler"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/handlers/index.js.map b/dist/handlers/index.js.map new file mode 100644 index 0000000..b03d5dd --- /dev/null +++ b/dist/handlers/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,gEAA6C"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index 16ee4ea..fd0ceff 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -1,5 +1,6 @@ import { ForgeClient, ForgeExtension } from "@tryforge/forgescript"; -import { IGiveawayEvents, GiveawaysCommandManager, GiveawaysManager } from "./managers"; +import { GiveawaysCommandManager, GiveawaysManager } from "./managers"; +import { IGiveawayEvents } from "./handlers"; import { TypedEmitter } from "tiny-typed-emitter"; import { TransformEvents } from "@tryforge/forge.db"; export interface IForgeGiveawaysOptions { @@ -24,6 +25,7 @@ export declare class ForgeGiveaways extends ForgeExtension { constructor(options?: IForgeGiveawaysOptions); init(client: ForgeClient): Promise; } +export * from "./handlers"; export * from "./managers"; export * from "./structures"; export * from "./types"; diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 0d70315..d4dc31e 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,gBAAgB,EAA+B,MAAM,YAAY,CAAA;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,MAAyC;IACpD,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAexC;AAED,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,EAA+B,eAAe,EAAE,MAAM,YAAY,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,MAAyC;IACpD,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAexC;AAED,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index fc66716..e4d6129 100644 --- a/dist/index.js +++ b/dist/index.js @@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.ForgeGiveaways = void 0; const forgescript_1 = require("@tryforge/forgescript"); const managers_1 = require("./managers"); +const handlers_1 = require("./handlers"); const tiny_typed_emitter_1 = require("tiny-typed-emitter"); const structures_1 = require("./structures"); class ForgeGiveaways extends forgescript_1.ForgeExtension { @@ -37,7 +38,7 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { this.commands = new managers_1.GiveawaysCommandManager(client); forgescript_1.EventManager.load("ForgeGiveawaysEvents", __dirname + "/events"); this.load(__dirname + "/native"); - new managers_1.GiveawaysInteractionHandler(client); + new handlers_1.GiveawaysInteractionHandler(client); if (this.options.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); } @@ -46,6 +47,7 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { } } exports.ForgeGiveaways = ForgeGiveaways; +__exportStar(require("./handlers"), exports); __exportStar(require("./managers"), exports); __exportStar(require("./structures"), exports); __exportStar(require("./types"), exports); diff --git a/dist/index.js.map b/dist/index.js.map index 5ebb1fe..8f11b07 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AACjF,yCAAoH;AACpH,2DAAiD;AAEjD,6CAAuC;AAcvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAA;IACpD,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;CACJ;AA/BD,wCA+BC;AAED,6CAA0B;AAC1B,+CAA4B;AAC5B,0CAAuB"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AACjF,yCAAsE;AACtE,yCAAyE;AACzE,2DAAiD;AAEjD,6CAAuC;AAcvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAA;IACpD,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;CACJ;AA/BD,wCA+BC;AAED,6CAA0B;AAC1B,6CAA0B;AAC1B,+CAA4B;AAC5B,0CAAuB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index a7a9b29..e166050 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IA0CjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAgD9B;;;;OAIG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS;IAiBjC;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IA8CjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IA6D9B;;;;OAIG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS;IAiBjC;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 4c3cfd5..1001026 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -28,13 +28,16 @@ class GiveawaysManager { const embed = new discord_js_1.EmbedBuilder() .setTitle("🎉 GIVEAWAY 🎉") .setDescription(`**Prize:** ${giveaway.prize}\n**Winners:** ${giveaway.winnersCount}`) - .setFields({ name: "Ends", value: `${(0, discord_js_1.time)(new Date(Date.now() + giveaway.duration), "R")}`, inline: true }, { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }) + .setFields({ name: "Ends", value: `${(0, discord_js_1.time)(new Date(Date.now() + giveaway.timeLeft()), "R")}`, inline: true }, { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }) .setColor("Green"); const comps = new discord_js_1.ActionRowBuilder() .addComponents(new discord_js_1.ButtonBuilder() .setCustomId(`giveawayEntry-${giveaway.id}`) .setLabel("Entry") - .setStyle(discord_js_1.ButtonStyle.Primary)); + .setStyle(discord_js_1.ButtonStyle.Success), new discord_js_1.ButtonBuilder() + .setCustomId(`giveawayEnd-${giveaway.id}`) + .setLabel("End") + .setStyle(discord_js_1.ButtonStyle.Danger)); const msg = await chan?.send({ embeds: [embed], components: [comps.toJSON()] @@ -71,20 +74,26 @@ class GiveawaysManager { const chan = this.client.channels.cache.get(giveaway.channelID); const msg = giveaway.messageID ? await chan?.messages.fetch(giveaway.messageID).catch(noop_1.default) : undefined; if (msg) { - const oldEmbed = msg.embeds[0]; - const embed = discord_js_1.EmbedBuilder.from(oldEmbed) + const plural = winners.length > 1 ? "s" : ""; + const mentions = winners.map((id) => `<@${id}>`).join(", "); + const embed = new discord_js_1.EmbedBuilder() .setTitle("🎉 GIVEAWAY ENDED 🎉") - .spliceFields(0, 1, { name: "Ended", value: oldEmbed.fields[0].value, inline: true }) + .setDescription(`**Prize:** ${giveaway.prize}\n**Winner${plural}:** ${mentions}`) + .addFields({ name: "Ended", value: `${(0, discord_js_1.time)(new Date(), "R")}`, inline: true }, { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }) .setColor("Red"); + const comps = new discord_js_1.ActionRowBuilder() + .addComponents(new discord_js_1.ButtonBuilder() + .setCustomId(`giveawayReroll-${giveaway.id}`) + .setLabel("Reroll") + .setStyle(discord_js_1.ButtonStyle.Primary)); msg.edit({ embeds: [embed], - components: [] + components: [comps.toJSON()] }).catch(noop_1.default); - const plural = winners.length > 1 ? "s" : ""; msg.reply({ content: winners.length === 0 ? "😢 No winners for this giveaway!" - : `🎉 Congratulations to the winner${plural} of **${giveaway.prize}**!\n> 🏆 **Winner${plural}:** ${winners.map((id) => `<@${id}>`).join(", ")}`, + : `🎉 Congratulations to the winner${plural} of **${giveaway.prize}**!\n🏆 **Winner${plural}:** ${mentions}`, allowedMentions: { repliedUser: false, parse: ["users"] diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index edd1adb..a882647 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/managers/index.d.ts b/dist/managers/index.d.ts index 27975db..916d9e9 100644 --- a/dist/managers/index.d.ts +++ b/dist/managers/index.d.ts @@ -1,6 +1,4 @@ export * from "./GiveawaysCommandManager"; export * from "./GiveawaysDatabaseManager"; -export * from "../handlers/GiveawaysEventHandler"; -export * from "../handlers/GiveawaysInteractionHandler"; export * from "./GiveawaysManager"; //# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/dist/managers/index.d.ts.map b/dist/managers/index.d.ts.map index 6e50ac0..e5bdc56 100644 --- a/dist/managers/index.d.ts.map +++ b/dist/managers/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mCAAmC,CAAA;AACjD,cAAc,yCAAyC,CAAA;AACvD,cAAc,oBAAoB,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA"} \ No newline at end of file diff --git a/dist/managers/index.js b/dist/managers/index.js index dd436f7..d2701d6 100644 --- a/dist/managers/index.js +++ b/dist/managers/index.js @@ -16,7 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) { Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./GiveawaysCommandManager"), exports); __exportStar(require("./GiveawaysDatabaseManager"), exports); -__exportStar(require("../handlers/GiveawaysEventHandler"), exports); -__exportStar(require("../handlers/GiveawaysInteractionHandler"), exports); __exportStar(require("./GiveawaysManager"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/managers/index.js.map b/dist/managers/index.js.map index fe07f1a..2f5ccea 100644 --- a/dist/managers/index.js.map +++ b/dist/managers/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,6DAA0C;AAC1C,oEAAiD;AACjD,0EAAuD;AACvD,qDAAkC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,6DAA0C;AAC1C,qDAAkC"} \ No newline at end of file diff --git a/dist/structures/Database.d.ts b/dist/structures/Database.d.ts index 14eea7d..22c0c4a 100644 --- a/dist/structures/Database.d.ts +++ b/dist/structures/Database.d.ts @@ -1,4 +1,5 @@ -import { GiveawaysDatabaseManager, IGiveawayEvents } from "../managers"; +import { GiveawaysDatabaseManager } from "../managers"; +import { IGiveawayEvents } from "../handlers"; import { TypedEmitter } from "tiny-typed-emitter"; import { TransformEvents } from "@tryforge/forge.db"; import { Snowflake } from "discord.js"; diff --git a/dist/structures/Database.d.ts.map b/dist/structures/Database.d.ts.map index 018ba0c..129064d 100644 --- a/dist/structures/Database.d.ts.map +++ b/dist/structures/Database.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;AAEhE,qBAAa,QAAS,SAAQ,wBAAwB;IAkBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjB7B,QAAQ,SAAiB;IAEzB,aAAa;;;;;MAKnB;IAED,OAAc,QAAQ,EAAE;QACpB,QAAQ,EAAE,WAAW,CAAA;KACxB,CAAA;IAED,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAgD;gBAEzC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IASvE,IAAI;IAMjB;;;;OAIG;WACiB,GAAG,CAAC,EAAE,EAAE,SAAS;IAIrC;;;OAGG;WACiB,MAAM;IAI1B;;;OAGG;WACiB,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa;IAUtD;;;;OAIG;WACiB,MAAM,CAAC,EAAE,EAAE,SAAS;IAIxC;;;OAGG;WACiB,IAAI;CAG3B"} \ No newline at end of file +{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;AAEhE,qBAAa,QAAS,SAAQ,wBAAwB;IAkBtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjB7B,QAAQ,SAAiB;IAEzB,aAAa;;;;;MAKnB;IAED,OAAc,QAAQ,EAAE;QACpB,QAAQ,EAAE,WAAW,CAAA;KACxB,CAAA;IAED,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAgD;gBAEzC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IASvE,IAAI;IAMjB;;;;OAIG;WACiB,GAAG,CAAC,EAAE,EAAE,SAAS;IAIrC;;;OAGG;WACiB,MAAM;IAI1B;;;OAGG;WACiB,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa;IAUtD;;;;OAIG;WACiB,MAAM,CAAC,EAAE,EAAE,SAAS;IAIxC;;;OAGG;WACiB,IAAI;CAG3B"} \ No newline at end of file diff --git a/dist/structures/Database.js.map b/dist/structures/Database.js.map index dabe3fd..a946d74 100644 --- a/dist/structures/Database.js.map +++ b/dist/structures/Database.js.map @@ -1 +1 @@ -{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/structures/Database.ts"],"names":[],"mappings":";;;AAAA,0CAAsD;AAMtD,yCAAoD;AAIpD,MAAa,QAAS,SAAQ,mCAAwB;IAkBrB;IAjBtB,QAAQ,GAAG,cAAc,CAAA;IAEzB,aAAa,GAAG;QACnB,MAAM,EAAE,CAAC,mBAAQ,CAAC;QAClB,OAAO,EAAE,CAAC,wBAAa,CAAC;QACxB,KAAK,EAAE,CAAC,mBAAQ,CAAC;QACjB,QAAQ,EAAE,CAAC,mBAAQ,CAAC;KACvB,CAAA;IAEM,MAAM,CAAC,QAAQ,CAErB;IAEO,EAAE,CAAqB;IACvB,MAAM,CAAC,EAAE,CAAY;IACrB,MAAM,CAAC,OAAO,CAAgD;IAEtE,YAA6B,OAAuD;QAChF,KAAK,EAAE,CAAA;QADkB,YAAO,GAAP,OAAO,CAAgD;QAEhF,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAA;QACtB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACtB,QAAQ,CAAC,QAAQ,GAAG;YAChB,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzF,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC/B,QAAQ,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAA;QAC3B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC5C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAa;QACjC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAChF,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM;QACtB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAA;IACrE,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAA8B;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QAE9F,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAChF,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClE,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAa;QACpC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI;QACpB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAA;IACtE,CAAC;CACJ;AAhFD,4BAgFC"} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 884370f..7687906 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 244cb2a..8cacda7 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      constructor +Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        +

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        Parameters

        • Optionalprops: Partial<IRunnable>
        • OptionalsyncVars: boolean

        Returns Context

      • Returns Context

      • Returns IRunnable

      • Parameters

        • name: string

        Returns boolean

      • Parameters

        • name: string

        Returns boolean

      • Fetches all emojis of the application.

        Parameters

        • Optionalonce: boolean

          Whether to fetch only when the collection is empty.

        Returns Promise<void | Collection<string, ApplicationEmoji>>

      • Type Parameters

        • T

        Parameters

        • key: PropertyKey

        Returns T

      • Type Parameters

        • T extends ClassType

        Parameters

        • type: T
        • Rest...keys: string[]

        Returns null | ClassInstance<T>

      • Parameters

        • Rest...args: string[]

        Returns undefined | object

      • Type Parameters

        • K extends string
        • T extends ClassType

        Parameters

        • key: K
        • type: T

        Returns null | (Context & {
            [P in "bro" as K]: ClassInstance<T>
        })[K]

      • Parameters

        • name: string

        Returns unknown

      • Type Parameters

        • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
        • Unwrap extends boolean

        Parameters

        Returns Promise<Return<ReturnType>>

      • Parameters

        • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
        • rt: Return<ReturnType>

        Returns boolean

      • Returns undefined | boolean

      • Type Parameters

        • K extends string
        • V extends ClassType

        Parameters

        • key: K
        • type: V

        Returns this is Context & {
            [P in "bro" as K]: ClassInstance<V>
        }

      • Parameters

        • name: string

        Returns boolean

      • Returns this is Context & {
            get interaction(): ChatInputCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): ContextMenuCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): AnySelectMenuInteraction;
        }

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • value: unknown
        • Rest...keys: string[]

        Returns boolean

      • Parameters

        • Rest...keys: string[]

        Returns boolean | any[]

      • Parameters

        • previous: object
        • Rest...args: string[]

        Returns undefined | object

      diff --git a/docs/classes/Database.html b/docs/classes/Database.html index eb022bc..294ccc4 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      constructor +Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      Properties

      database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        +

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        Parameters

        • id: string

          The id of the giveaway to delete.

          -

        Returns Promise<DeleteResult>

      • Gets an existing giveaway.

        +

      Returns Promise<DeleteResult>

      • Saves a giveaway in the database.

        +

      Returns Promise<null | Giveaway>

      +

      Returns Promise<void>

      diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index c67ce71..8bdff14 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      constructor +ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      Properties

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      -
      targetVersions?: string[]

      Only the versions written here will be allowed

      -
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      +

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      +
      targetVersions?: string[]

      Only the versions written here will be allowed

      +
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index 2764d84..a6fda68 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      constructor +Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | Giveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Returns whether a user has entered this giveaway.

        Parameters

        • userID: string

          The user to check for.

          -

        Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | Giveaway

      diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 1bc053b..6b40c1d 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      constructor +GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      Properties

      Accessors

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      +

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 937a38b..768cb4e 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      constructor +GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      Properties

      Methods

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      +

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index ccf38dd..2d87493 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      constructor +GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      Properties

      Accessors

      Methods

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      • Parameters

        • client: ForgeClient

        Returns void

      +

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 48560d2..8afb3ff 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      +GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 4e19bc0..bc28e31 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,15 +1,15 @@ -GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      constructor +GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      Methods

      Constructors

      Methods

      • Edits an existing giveaway.

        +

      Constructors

      Methods

      • Ends an existing giveaway.

        +

      Returns Promise<null | Giveaway>

      • Rerolls an existing giveaway.

        +

      Returns Promise<null | Giveaway>

      • Starts a new giveaway on a guild.

        +

      Returns Promise<null | Giveaway>

      +

      Returns Promise<undefined | Giveaway>

      diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index f5e9066..c2aed10 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      constructor +MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      mongoId?: string

      The object id for MongoDB.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      mongoId?: string

      The object id for MongoDB.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | MongoGiveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | MongoGiveaway

      diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 6b4f3dc..fb8e25d 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      automod +IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      +

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index 0b6a3ed..525848f 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      extras?: unknown

      Extras data

      keywords?: Record<string, string>

      The already existing variables defined with $let

      The context this code will run in

      -
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      +
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      The old and new states of an event

      -
      +
      diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index 1102788..04f2f33 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      audit +IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      +

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 6fc3310..95fb6fb 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          useDefault?: boolean;
      }

      Properties

      events? +IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          useDefault?: boolean;
      }

      Properties

      Properties

      events?: keyof IGiveawayEvents

      The giveaway events to use.

      -
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      -
      +
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      +
      diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 18ca432..71b34a9 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID +IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 896b395..65b3116 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,8 +1,9 @@ -IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect +IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayEntryRevoked: [Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      +

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayEntryRevoked: [Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index cf86315..5c814d8 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles? +IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      +

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 13e0c59..03403e3 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID +IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index c9d53c1..daae584 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      +AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index a3a2105..e9b9e16 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      +ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index b65ef75..deaf659 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      +ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index dc8a50b..fa4aaeb 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      +IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      diff --git a/metadata/events.json b/metadata/events.json index 1969ccd..db48bb2 100644 --- a/metadata/events.json +++ b/metadata/events.json @@ -1 +1 @@ -[{"name":"databaseConnect","version":"1.0.0","description":"This event is fired when the database has connected"},{"name":"giveawayEdit","version":"1.0.0","description":"This event is fired when a giveaway was edited"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayEntryAdd","version":"1.0.0","description":"This event is fired when a giveaway entry is added"},{"name":"giveawayEntryRemove","version":"1.0.0","description":"This event is fired when a giveaway entry is removed"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file +[{"name":"databaseConnect","version":"1.0.0","description":"This event is fired when the database has connected"},{"name":"giveawayEdit","version":"1.0.0","description":"This event is fired when a giveaway was edited"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayEntryAdd","version":"1.0.0","description":"This event is fired when a giveaway entry is added"},{"name":"giveawayEntryRemove","version":"1.0.0","description":"This event is fired when a giveaway entry is removed"},{"name":"giveawayEntryRevoked","version":"1.0.0","description":"This event is fired when a giveaway entry is revoked"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file diff --git a/src/events/databaseConnect.ts b/src/events/databaseConnect.ts index bdff131..f7a62a8 100644 --- a/src/events/databaseConnect.ts +++ b/src/events/databaseConnect.ts @@ -1,5 +1,5 @@ import { Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler" +import { GiveawaysEventHandler } from "../handlers" import { ForgeGiveaways } from ".." import { Context } from "../structures" diff --git a/src/events/giveawayEdit.ts b/src/events/giveawayEdit.ts index 4bafda0..f062290 100644 --- a/src/events/giveawayEdit.ts +++ b/src/events/giveawayEdit.ts @@ -1,5 +1,5 @@ import { Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler" +import { GiveawaysEventHandler } from "../handlers" import { ForgeGiveaways } from ".." import { Context } from "../structures" diff --git a/src/events/giveawayEnd.ts b/src/events/giveawayEnd.ts index 0ec49c0..e8aba68 100644 --- a/src/events/giveawayEnd.ts +++ b/src/events/giveawayEnd.ts @@ -1,5 +1,5 @@ import { Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler" +import { GiveawaysEventHandler } from "../handlers" import { ForgeGiveaways } from ".." import { Context } from "../structures" diff --git a/src/events/giveawayEntryAdd.ts b/src/events/giveawayEntryAdd.ts index bf280df..37695d2 100644 --- a/src/events/giveawayEntryAdd.ts +++ b/src/events/giveawayEntryAdd.ts @@ -1,5 +1,5 @@ import { Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler" +import { GiveawaysEventHandler } from "../handlers" import { ForgeGiveaways } from ".." import { Context } from "../structures" diff --git a/src/events/giveawayEntryRemove.ts b/src/events/giveawayEntryRemove.ts index fbddf15..f6f9960 100644 --- a/src/events/giveawayEntryRemove.ts +++ b/src/events/giveawayEntryRemove.ts @@ -1,5 +1,5 @@ import { Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler" +import { GiveawaysEventHandler } from "../handlers" import { ForgeGiveaways } from ".." import { Context } from "../structures" diff --git a/src/events/giveawayEntryRevoked.ts b/src/events/giveawayEntryRevoked.ts new file mode 100644 index 0000000..d2427c8 --- /dev/null +++ b/src/events/giveawayEntryRevoked.ts @@ -0,0 +1,29 @@ +import { Interpreter } from "@tryforge/forgescript" +import { GiveawaysEventHandler } from "../handlers" +import { ForgeGiveaways } from ".." +import { Context } from "../structures" + +export default new GiveawaysEventHandler({ + name: "giveawayEntryRevoked", + version: "1.0.0", + description: "This event is fired when a giveaway entry is revoked", + listener: async function(gw) { + const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEntryRevoked") + + for (const command of commands) { + const ctx = new Context({ + obj: gw, + command, + client: this, + states: { + giveaway: { + new: gw + } + }, + data: command.compiled.code, + }) + + Interpreter.run(ctx) + } + }, +}) \ No newline at end of file diff --git a/src/events/giveawayReroll.ts b/src/events/giveawayReroll.ts index eb09807..87d2456 100644 --- a/src/events/giveawayReroll.ts +++ b/src/events/giveawayReroll.ts @@ -1,5 +1,5 @@ import { Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler" +import { GiveawaysEventHandler } from "../handlers" import { ForgeGiveaways } from ".." import { Context } from "../structures" diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index 09daf32..f5e8036 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -1,17 +1,14 @@ -import { Compiler, Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../handlers/GiveawaysEventHandler" -import { GiveawaysErrorType, throwGiveawaysError } from "../functions/error" -import { Context, Database } from "../structures" +import { Interpreter } from "@tryforge/forgescript" +import { GiveawaysEventHandler } from "../handlers" +import { Context } from "../structures" import { ForgeGiveaways } from ".." -import { TextChannel } from "discord.js" export default new GiveawaysEventHandler({ name: "giveawayStart", version: "1.0.0", description: "This event is fired when a giveaway started", listener: async function(gw) { - const client = this.getExtension(ForgeGiveaways, true) - const commands = client.commands.get("giveawayStart") + const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayStart") for (const command of commands) { const ctx = new Context({ @@ -26,24 +23,7 @@ export default new GiveawaysEventHandler({ data: command.compiled.code }) - const result = Interpreter.run(ctx) - - if (client.options.useDefault === false) { - const res = (await result)?.trim() - console.log(res) - const chan = this.channels.cache.get(gw.channelID) as TextChannel | undefined - const msg = res ? await chan?.messages.fetch(res).catch(ctx.noop) : undefined - console.log(msg) - - if (!msg) { - throwGiveawaysError(GiveawaysErrorType.MessageNotFound, gw.id) - await Database.delete(gw.id) - continue - } - - gw.messageID = msg.id - await Database.set(gw) - } + Interpreter.run(ctx) } } }) \ No newline at end of file diff --git a/src/handlers/GiveawaysEventHandler.ts b/src/handlers/GiveawaysEventHandler.ts index 4cb7abf..6c4fa4e 100644 --- a/src/handlers/GiveawaysEventHandler.ts +++ b/src/handlers/GiveawaysEventHandler.ts @@ -10,6 +10,7 @@ export interface IGiveawayEvents { giveawayReroll: [Giveaway, Giveaway] giveawayEntryAdd: [Giveaway, Giveaway] giveawayEntryRemove: [Giveaway, Giveaway] + giveawayEntryRevoked: [Giveaway] } export class GiveawaysEventHandler extends BaseEventHandler { diff --git a/src/handlers/index.ts b/src/handlers/index.ts new file mode 100644 index 0000000..a46e6f3 --- /dev/null +++ b/src/handlers/index.ts @@ -0,0 +1,2 @@ +export * from "./GiveawaysEventHandler" +export * from "./GiveawaysInteractionHandler" \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index fae5003..25d1ac3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,6 @@ import { EventManager, ForgeClient, ForgeExtension } from "@tryforge/forgescript" -import { IGiveawayEvents, GiveawaysCommandManager, GiveawaysManager, GiveawaysInteractionHandler } from "./managers" +import { GiveawaysCommandManager, GiveawaysManager } from "./managers" +import { GiveawaysInteractionHandler, IGiveawayEvents } from "./handlers" import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" import { Database } from "./structures" @@ -49,6 +50,7 @@ export class ForgeGiveaways extends ForgeExtension { } } +export * from "./handlers" export * from "./managers" export * from "./structures" export * from "./types" \ No newline at end of file diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 9155bad..95aeec0 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -39,7 +39,7 @@ export class GiveawaysManager { .setTitle("🎉 GIVEAWAY 🎉") .setDescription(`**Prize:** ${giveaway.prize}\n**Winners:** ${giveaway.winnersCount}`) .setFields( - { name: "Ends", value: `${time(new Date(Date.now() + giveaway.duration), "R")}`, inline: true }, + { name: "Ends", value: `${time(new Date(Date.now() + giveaway.timeLeft()), "R")}`, inline: true }, { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }, ) .setColor("Green") @@ -49,7 +49,11 @@ export class GiveawaysManager { new ButtonBuilder() .setCustomId(`giveawayEntry-${giveaway.id}`) .setLabel("Entry") - .setStyle(ButtonStyle.Primary) + .setStyle(ButtonStyle.Success), + new ButtonBuilder() + .setCustomId(`giveawayEnd-${giveaway.id}`) + .setLabel("End") + .setStyle(ButtonStyle.Danger) ) const msg = await chan?.send({ @@ -95,22 +99,35 @@ export class GiveawaysManager { const msg = giveaway.messageID ? await chan?.messages.fetch(giveaway.messageID).catch(noop) : undefined if (msg) { - const oldEmbed = msg.embeds[0] - const embed = EmbedBuilder.from(oldEmbed) + const plural = winners.length > 1 ? "s" : "" + const mentions = winners.map((id) => `<@${id}>`).join(", ") + + const embed = new EmbedBuilder() .setTitle("🎉 GIVEAWAY ENDED 🎉") - .spliceFields(0, 1, { name: "Ended", value: oldEmbed.fields[0].value, inline: true }) + .setDescription(`**Prize:** ${giveaway.prize}\n**Winner${plural}:** ${mentions}`) + .addFields( + { name: "Ended", value: `${time(new Date(), "R")}`, inline: true }, + { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }, + ) .setColor("Red") + const comps = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId(`giveawayReroll-${giveaway.id}`) + .setLabel("Reroll") + .setStyle(ButtonStyle.Primary), + ) + msg.edit({ embeds: [embed], - components: [] + components: [comps.toJSON()] }).catch(noop) - const plural = winners.length > 1 ? "s" : "" msg.reply({ content: winners.length === 0 ? "😢 No winners for this giveaway!" - : `🎉 Congratulations to the winner${plural} of **${giveaway.prize}**!\n> 🏆 **Winner${plural}:** ${winners.map((id) => `<@${id}>`).join(", ")}`, + : `🎉 Congratulations to the winner${plural} of **${giveaway.prize}**!\n🏆 **Winner${plural}:** ${mentions}`, allowedMentions: { repliedUser: false, parse: ["users"] diff --git a/src/managers/index.ts b/src/managers/index.ts index fe1e454..85e4119 100644 --- a/src/managers/index.ts +++ b/src/managers/index.ts @@ -1,5 +1,3 @@ export * from "./GiveawaysCommandManager" export * from "./GiveawaysDatabaseManager" -export * from "../handlers/GiveawaysEventHandler" -export * from "../handlers/GiveawaysInteractionHandler" export * from "./GiveawaysManager" \ No newline at end of file diff --git a/src/structures/Database.ts b/src/structures/Database.ts index 2be7e3b..bdeb093 100644 --- a/src/structures/Database.ts +++ b/src/structures/Database.ts @@ -1,4 +1,5 @@ -import { GiveawaysDatabaseManager, IGiveawayEvents } from "../managers" +import { GiveawaysDatabaseManager } from "../managers" +import { IGiveawayEvents } from "../handlers" import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" import { Snowflake } from "discord.js" From 45f0138da54c998fb88bd7cf7e297bb120e162df Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Mon, 20 Oct 2025 00:59:42 +0200 Subject: [PATCH 65/87] Finish default messages --- dist/managers/GiveawaysManager.d.ts | 23 +++++-- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 56 ++++++++++++++--- dist/managers/GiveawaysManager.js.map | 2 +- dist/native/manage/rerollGiveaway.d.ts | 5 ++ dist/native/manage/rerollGiveaway.d.ts.map | 2 +- dist/native/manage/rerollGiveaway.js | 10 ++- dist/native/manage/rerollGiveaway.js.map | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 ++--- docs/classes/ForgeGiveaways.html | 8 +-- docs/classes/Giveaway.html | 42 ++++++------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 13 ++-- docs/classes/MongoGiveaway.html | 44 ++++++------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 6 +- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- metadata/functions.json | 2 +- src/managers/GiveawaysManager.ts | 62 +++++++++++++++---- src/native/manage/rerollGiveaway.ts | 10 ++- 33 files changed, 234 insertions(+), 127 deletions(-) diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index 24f9d10..c2728a0 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -1,6 +1,6 @@ import { Snowflake } from "discord.js"; import { ForgeClient } from "@tryforge/forgescript"; -import { IGiveawayRequirements } from "../structures"; +import { Giveaway, IGiveawayRequirements } from "../structures"; import { ForgeGiveaways } from ".."; export interface IGiveawayStartOptions { prize: string; @@ -21,25 +21,26 @@ export declare class GiveawaysManager { * @param options The start options for the giveaway. * @returns */ - start(options: IGiveawayStartOptions): Promise; + start(options: IGiveawayStartOptions): Promise; /** * Ends an existing giveaway. * @param id The id of the giveaway to end. * @returns */ - end(id: Snowflake): Promise; + end(id: Snowflake): Promise; /** * Rerolls an existing giveaway. * @param id The id of the giveaway to reroll. + * @param amount The amount of new winners. * @returns */ - reroll(id: Snowflake): Promise; + reroll(id: Snowflake, amount?: number): Promise; /** * Edits an existing giveaway. * @param id The id of the giveaway to edit. * @param options The options used to edit this giveaway. */ - edit(id: Snowflake, options: IGiveawayEditOptions): Promise; + edit(id: Snowflake, options: IGiveawayEditOptions): Promise; /** * Randomly picks X amount of winners from the provided entries. * @param entries The entries to pick winners from. @@ -47,6 +48,18 @@ export declare class GiveawaysManager { * @returns */ private _pickWinners; + /** + * Parses the mentions for all giveaway winners. + * @param winners The winners to parse mentions for. + * @returns + */ + private _parseMentions; + /** + * Fetches the message of a giveaway. + * @param data The giveaway data to use. + * @returns + */ + private _fetchMessage; /** * Restores all active giveaways on startup. * @returns diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index e166050..1471870 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IA8CjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IA6D9B;;;;OAIG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS;IAiBjC;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAiB,MAAM,eAAe,CAAA;AAExF,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IAiDjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IA+D9B;;;;;OAKG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM;IAgClD;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;OAIG;YACW,aAAa;IAK3B;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 1001026..920e9c3 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -27,13 +27,16 @@ class GiveawaysManager { if (this.giveaways.options.useDefault) { const embed = new discord_js_1.EmbedBuilder() .setTitle("🎉 GIVEAWAY 🎉") - .setDescription(`**Prize:** ${giveaway.prize}\n**Winners:** ${giveaway.winnersCount}`) + .setDescription(`🎁 **Prize:** ${giveaway.prize}\n🏆 **Winners:** ${giveaway.winnersCount}`) .setFields({ name: "Ends", value: `${(0, discord_js_1.time)(new Date(Date.now() + giveaway.timeLeft()), "R")}`, inline: true }, { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }) + .setFooter({ text: "Join by clicking the button below!" }) + .setTimestamp() .setColor("Green"); const comps = new discord_js_1.ActionRowBuilder() .addComponents(new discord_js_1.ButtonBuilder() .setCustomId(`giveawayEntry-${giveaway.id}`) - .setLabel("Entry") + .setLabel("Join") + .setEmoji("🎉") .setStyle(discord_js_1.ButtonStyle.Success), new discord_js_1.ButtonBuilder() .setCustomId(`giveawayEnd-${giveaway.id}`) .setLabel("End") @@ -71,20 +74,22 @@ class GiveawaysManager { const winners = this._pickWinners(eligibleEntries, giveaway.winnersCount); giveaway.winners = winners; if (this.giveaways.options.useDefault) { - const chan = this.client.channels.cache.get(giveaway.channelID); - const msg = giveaway.messageID ? await chan?.messages.fetch(giveaway.messageID).catch(noop_1.default) : undefined; + const msg = await this._fetchMessage(giveaway); if (msg) { - const plural = winners.length > 1 ? "s" : ""; - const mentions = winners.map((id) => `<@${id}>`).join(", "); + const plural = winners.length === 1 ? "" : "s"; + const mentions = this._parseMentions(winners); const embed = new discord_js_1.EmbedBuilder() .setTitle("🎉 GIVEAWAY ENDED 🎉") - .setDescription(`**Prize:** ${giveaway.prize}\n**Winner${plural}:** ${mentions}`) + .setDescription(`>>> 🎁 **Prize:** ${giveaway.prize}\n🏆 **Winner${plural}:** ${mentions || "None"}\n👥 **Total Entries:** ${giveaway.entries.length}`) .addFields({ name: "Ended", value: `${(0, discord_js_1.time)(new Date(), "R")}`, inline: true }, { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }) + .setFooter({ text: "Thanks for participating!" }) + .setTimestamp(giveaway.timestamp) .setColor("Red"); const comps = new discord_js_1.ActionRowBuilder() .addComponents(new discord_js_1.ButtonBuilder() .setCustomId(`giveawayReroll-${giveaway.id}`) .setLabel("Reroll") + .setEmoji("🔁") .setStyle(discord_js_1.ButtonStyle.Primary)); msg.edit({ embeds: [embed], @@ -108,17 +113,31 @@ class GiveawaysManager { /** * Rerolls an existing giveaway. * @param id The id of the giveaway to reroll. + * @param amount The amount of new winners. * @returns */ - async reroll(id) { + async reroll(id, amount) { const giveaway = await structures_1.Database.get(id); if (!giveaway || !giveaway.hasEnded) return null; const oldGiveaway = giveaway.clone(); + amount ??= giveaway.winnersCount; const eligibleEntries = giveaway.entries.filter((e) => !giveaway.winners.includes(e)); - const newWinners = this._pickWinners(eligibleEntries, giveaway.winnersCount); + const newWinners = this._pickWinners(eligibleEntries, amount); giveaway.winners = newWinners; - if (this.giveaways.options.useDefault) { } + if (this.giveaways.options.useDefault) { + const msg = await this._fetchMessage(giveaway); + if (msg) { + const plural = newWinners.length === 1 ? "" : "s"; + msg.reply({ + content: `🔁 Rerolled giveaway, congratulations to the new winner${plural}!\n🏆 **New Winner${plural}:** ${this._parseMentions(newWinners)}`, + allowedMentions: { + repliedUser: false, + parse: ["users"] + } + }).catch(noop_1.default); + } + } await structures_1.Database.set(giveaway).catch(noop_1.default); this.giveaways.emitter.emit("giveawayReroll", oldGiveaway, giveaway); return giveaway; @@ -158,6 +177,23 @@ class GiveawaysManager { const shuffled = entries.sort(() => Math.random() - 0.5); return shuffled.slice(0, amount); } + /** + * Parses the mentions for all giveaway winners. + * @param winners The winners to parse mentions for. + * @returns + */ + _parseMentions(winners) { + return winners.map((id) => `<@${id}>`).join(", "); + } + /** + * Fetches the message of a giveaway. + * @param data The giveaway data to use. + * @returns + */ + async _fetchMessage(data) { + const chan = this.client.channels.cache.get(data.channelID); + return (data.messageID ? await chan?.messages.fetch(data.messageID).catch(noop_1.default) : undefined); + } /** * Restores all active giveaways on startup. * @returns diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index a882647..bd2b670 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAqH;AAErH,8CAA+D;AAC/D,8CAA4E;AAE5E,6DAAoC;AAcpC,MAAa,gBAAgB;IAEJ;IACA;IAFrB,YACqB,SAAyB,EACzB,MAAmB;QADnB,cAAS,GAAT,SAAS,CAAgB;QACzB,WAAM,GAAN,MAAM,CAAa;QAEpC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK,CAAC,OAA8B;QAC7C,MAAM,QAAQ,GAAG,IAAI,qBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAA;QAE1F,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,yBAAY,EAAE;iBAC3B,QAAQ,CAAC,gBAAgB,CAAC;iBAC1B,cAAc,CAAC,cAAc,QAAQ,CAAC,KAAK,kBAAkB,QAAQ,CAAC,YAAY,EAAE,CAAC;iBACrF,SAAS,CACN,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAI,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EACjG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,QAAQ,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CACtE;iBACA,QAAQ,CAAC,OAAO,CAAC,CAAA;YAEtB,MAAM,KAAK,GAAG,IAAI,6BAAgB,EAAE;iBAC/B,aAAa,CACV,IAAI,0BAAa,EAAE;iBACd,WAAW,CAAC,iBAAiB,QAAQ,CAAC,EAAE,EAAE,CAAC;iBAC3C,QAAQ,CAAC,OAAO,CAAC;iBACjB,QAAQ,CAAC,wBAAW,CAAC,OAAO,CAAC,EAClC,IAAI,0BAAa,EAAE;iBACd,WAAW,CAAC,eAAe,QAAQ,CAAC,EAAE,EAAE,CAAC;iBACzC,QAAQ,CAAC,KAAK,CAAC;iBACf,QAAQ,CAAC,wBAAW,CAAC,MAAM,CAAC,CACpC,CAAA;YAEL,MAAM,GAAG,GAAG,MAAM,IAAI,EAAE,IAAI,CAAC;gBACzB,MAAM,EAAE,CAAC,KAAK,CAAC;gBACf,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC/B,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAEd,IAAI,CAAC,GAAG,EAAE,CAAC;gBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;gBACpE,OAAM;YACV,CAAC;YAED,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;QAC/B,CAAC;QAED,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;QACtD,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAElF,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG,CAAC,EAAa;QAC1B,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC/C,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAA;QAExB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC5D,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC1C,OAAO,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QACzE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;QAE1B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAA;YAC1F,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAEvG,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAE3D,MAAM,KAAK,GAAG,IAAI,yBAAY,EAAE;qBAC3B,QAAQ,CAAC,sBAAsB,CAAC;qBAChC,cAAc,CAAC,cAAc,QAAQ,CAAC,KAAK,aAAa,MAAM,OAAO,QAAQ,EAAE,CAAC;qBAChF,SAAS,CACN,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAI,EAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAClE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,QAAQ,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CACtE;qBACA,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAEpB,MAAM,KAAK,GAAG,IAAI,6BAAgB,EAAE;qBACnC,aAAa,CACV,IAAI,0BAAa,EAAE;qBACd,WAAW,CAAC,kBAAkB,QAAQ,CAAC,EAAE,EAAE,CAAC;qBAC5C,QAAQ,CAAC,QAAQ,CAAC;qBAClB,QAAQ,CAAC,wBAAW,CAAC,OAAO,CAAC,CACrC,CAAA;gBAED,GAAG,CAAC,IAAI,CAAC;oBACL,MAAM,EAAE,CAAC,KAAK,CAAC;oBACf,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;iBAC/B,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBAEd,GAAG,CAAC,KAAK,CAAC;oBACN,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;wBACzB,CAAC,CAAC,kCAAkC;wBACpC,CAAC,CAAC,mCAAmC,MAAM,SAAS,QAAQ,CAAC,KAAK,mBAAmB,MAAM,OAAO,QAAQ,EAAE;oBAChH,eAAe,EAAE;wBACb,WAAW,EAAE,KAAK;wBAClB,KAAK,EAAE,CAAC,OAAO,CAAC;qBACnB;iBACJ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAClB,CAAC;QACL,CAAC;QAED,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAEpD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CAAC,EAAa;QAC7B,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QAEpC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACrF,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC5E,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAA;QAE7B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA,CAAC;QAEzC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAEpE,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CAAC,EAAa,EAAE,OAA6B;QAC1D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QAEpC,IAAI,OAAO,CAAC,KAAK;YAAE,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QACjD,IAAI,OAAO,CAAC,QAAQ;YAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAC1D,IAAI,OAAO,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACtE,IAAI,OAAO,CAAC,MAAM;YAAE,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QACpD,IAAI,OAAO,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QAEtE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA,CAAC;QAEzC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAElE,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAAC,OAAoB,EAAE,MAAc;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;QACxD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB;QAC3B,MAAM,SAAS,GAAG,MAAM,qBAAQ,CAAC,MAAM,EAAE,CAAA;QACzC,IAAI,CAAC,SAAS;YAAE,OAAM;QAEtB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,QAAQ,CAAC,QAAQ;gBAAE,SAAQ;YAE/B,IAAI,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC1B,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxF,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAC3C,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AAxMD,4CAwMC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/native/manage/rerollGiveaway.d.ts b/dist/native/manage/rerollGiveaway.d.ts index 160bb3e..d649a50 100644 --- a/dist/native/manage/rerollGiveaway.d.ts +++ b/dist/native/manage/rerollGiveaway.d.ts @@ -5,6 +5,11 @@ declare const _default: NativeFunction<[{ rest: false; required: true; type: ArgType.String; +}, { + name: string; + description: string; + rest: false; + type: ArgType.Number; }], true>; export default _default; //# sourceMappingURL=rerollGiveaway.d.ts.map \ No newline at end of file diff --git a/dist/native/manage/rerollGiveaway.d.ts.map b/dist/native/manage/rerollGiveaway.d.ts.map index 275c7b0..c914906 100644 --- a/dist/native/manage/rerollGiveaway.d.ts.map +++ b/dist/native/manage/rerollGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"rerollGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/manage/rerollGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAqBE"} \ No newline at end of file +{"version":3,"file":"rerollGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/manage/rerollGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAG/D,wBA2BE"} \ No newline at end of file diff --git a/dist/native/manage/rerollGiveaway.js b/dist/native/manage/rerollGiveaway.js index 102dca0..91a76c0 100644 --- a/dist/native/manage/rerollGiveaway.js +++ b/dist/native/manage/rerollGiveaway.js @@ -16,11 +16,17 @@ exports.default = new forgescript_1.NativeFunction({ required: true, type: forgescript_1.ArgType.String, }, + { + name: "amount", + description: "The amount of new winners, defaults to winners count", + rest: false, + type: forgescript_1.ArgType.Number, + }, ], output: forgescript_1.ArgType.Boolean, - async execute(ctx, [id]) { + async execute(ctx, [id, amount]) { const client = ctx.client.getExtension(__1.ForgeGiveaways, true); - const giveaway = await client.giveawaysManager.reroll(id).catch(ctx.noop); + const giveaway = await client.giveawaysManager.reroll(id, amount || undefined).catch(ctx.noop); return this.success(!!giveaway); } }); diff --git a/dist/native/manage/rerollGiveaway.js.map b/dist/native/manage/rerollGiveaway.js.map index 5ffa0b8..6589faf 100644 --- a/dist/native/manage/rerollGiveaway.js.map +++ b/dist/native/manage/rerollGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"rerollGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/rerollGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"rerollGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/rerollGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sDAAsD;YACnE,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC;QAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC9F,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 8cacda7..7204bb2 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      constructor +Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        +

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        Parameters

        • Optionalprops: Partial<IRunnable>
        • OptionalsyncVars: boolean

        Returns Context

      • Returns Context

      • Returns IRunnable

      • Parameters

        • name: string

        Returns boolean

      • Parameters

        • name: string

        Returns boolean

      • Fetches all emojis of the application.

        Parameters

        • Optionalonce: boolean

          Whether to fetch only when the collection is empty.

        Returns Promise<void | Collection<string, ApplicationEmoji>>

      • Type Parameters

        • T

        Parameters

        • key: PropertyKey

        Returns T

      • Type Parameters

        • T extends ClassType

        Parameters

        • type: T
        • Rest...keys: string[]

        Returns null | ClassInstance<T>

      • Parameters

        • Rest...args: string[]

        Returns undefined | object

      • Type Parameters

        • K extends string
        • T extends ClassType

        Parameters

        • key: K
        • type: T

        Returns null | (Context & {
            [P in "bro" as K]: ClassInstance<T>
        })[K]

      • Parameters

        • name: string

        Returns unknown

      • Type Parameters

        • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
        • Unwrap extends boolean

        Parameters

        Returns Promise<Return<ReturnType>>

      • Parameters

        • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
        • rt: Return<ReturnType>

        Returns boolean

      • Returns undefined | boolean

      • Type Parameters

        • K extends string
        • V extends ClassType

        Parameters

        • key: K
        • type: V

        Returns this is Context & {
            [P in "bro" as K]: ClassInstance<V>
        }

      • Parameters

        • name: string

        Returns boolean

      • Returns this is Context & {
            get interaction(): ChatInputCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): ContextMenuCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): AnySelectMenuInteraction;
        }

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • value: unknown
        • Rest...keys: string[]

        Returns boolean

      • Parameters

        • Rest...keys: string[]

        Returns boolean | any[]

      • Parameters

        • previous: object
        • Rest...args: string[]

        Returns undefined | object

      diff --git a/docs/classes/Database.html b/docs/classes/Database.html index 294ccc4..0b3b25a 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      constructor +Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      Properties

      database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        +

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        Parameters

        • id: string

          The id of the giveaway to delete.

          -

        Returns Promise<DeleteResult>

      • Gets an existing giveaway.

        +

      Returns Promise<DeleteResult>

      • Saves a giveaway in the database.

        +

      Returns Promise<null | Giveaway>

      +

      Returns Promise<void>

      diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 8bdff14..65f5060 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      constructor +ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      Properties

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      -
      targetVersions?: string[]

      Only the versions written here will be allowed

      -
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      +

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      +
      targetVersions?: string[]

      Only the versions written here will be allowed

      +
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index a6fda68..cc7976a 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      constructor +Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | Giveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Returns whether a user has entered this giveaway.

        Parameters

        • userID: string

          The user to check for.

          -

        Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | Giveaway

      diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 6b40c1d..e094f07 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      constructor +GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      Properties

      Accessors

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      +

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 768cb4e..51e7e29 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      constructor +GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      Properties

      Methods

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      +

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 2d87493..660776b 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      constructor +GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      Properties

      Accessors

      Methods

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      +

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 8afb3ff..28e6cc6 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      +GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index bc28e31..66aef90 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,15 +1,16 @@ -GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      constructor +GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      Methods

      Constructors

      Methods

      • Edits an existing giveaway.

        +

      Constructors

      Methods

      • Ends an existing giveaway.

        +

      Returns Promise<null | Giveaway>

      • Rerolls an existing giveaway.

        +

      Returns Promise<null | Giveaway>

      • Starts a new giveaway on a guild.

        +
      • Optionalamount: number

        The amount of new winners.

        +

      Returns Promise<null | Giveaway>

      +

      Returns Promise<undefined | Giveaway>

      diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index c2aed10..e25118e 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      constructor +MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      mongoId?: string

      The object id for MongoDB.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      mongoId?: string

      The object id for MongoDB.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | MongoGiveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | MongoGiveaway

      diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index fb8e25d..0c875a3 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      automod +IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      +

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index 525848f..c3909e8 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      extras?: unknown

      Extras data

      keywords?: Record<string, string>

      The already existing variables defined with $let

      The context this code will run in

      -
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      +
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      The old and new states of an event

      -
      +
      diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index 04f2f33..f9b52d9 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      audit +IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      +

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 95fb6fb..0090cb8 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          useDefault?: boolean;
      }

      Properties

      events? +IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          useDefault?: boolean;
      }

      Properties

      Properties

      events?: keyof IGiveawayEvents

      The giveaway events to use.

      -
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      -
      +
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      +
      diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 71b34a9..2c2d4f4 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID +IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 65b3116..069a950 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,4 +1,4 @@ -IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayEntryRevoked: [Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect +IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayEntryRevoked: [Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayEntryRevoked: [Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      +

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayEntryRevoked: [Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index 5c814d8..3b4c767 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles? +IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      +

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 03403e3..64ad878 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID +IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index daae584..6c425a8 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      +AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index e9b9e16..8124333 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      +ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index deaf659..da92c79 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      +ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index fa4aaeb..a49af52 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      +IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      diff --git a/metadata/functions.json b/metadata/functions.json index d3d08db..0c2133e 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayExists","version":"1.0.0","description":"Returns whether a giveaway exists","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The id of the giveaway to check for","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayTimestamp","version":"1.0.0","description":"Returns the created timestamp of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$addRequiredRoles","version":"1.0.0","description":"Adds required roles to the current giveaway","aliases":["$addRequiredRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$addRestrictedMembers","version":"1.0.0","description":"Adds restricted members to the current giveaway","aliases":["$addRestrictedMember"],"unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$addRestrictedRoles","version":"1.0.0","description":"Adds restricted roles to the current giveaway","aliases":["$addRestrictedRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file +[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayExists","version":"1.0.0","description":"Returns whether a giveaway exists","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The id of the giveaway to check for","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayTimestamp","version":"1.0.0","description":"Returns the created timestamp of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$addRequiredRoles","version":"1.0.0","description":"Adds required roles to the current giveaway","aliases":["$addRequiredRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$addRestrictedMembers","version":"1.0.0","description":"Adds restricted members to the current giveaway","aliases":["$addRestrictedMember"],"unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$addRestrictedRoles","version":"1.0.0","description":"Adds restricted roles to the current giveaway","aliases":["$addRestrictedRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"},{"name":"amount","description":"The amount of new winners, defaults to winners count","rest":false,"type":"Number"}],"output":["Boolean"],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 95aeec0..82b0224 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -1,6 +1,6 @@ import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, Snowflake, TextChannel, time } from "discord.js" import { ForgeClient } from "@tryforge/forgescript" -import { Database, IGiveawayRequirements } from "../structures" +import { Database, Giveaway, IGiveawayRequirements, MongoGiveaway } from "../structures" import { GiveawaysErrorType, throwGiveawaysError } from "../functions/error" import { ForgeGiveaways } from ".." import noop from "../functions/noop" @@ -37,18 +37,21 @@ export class GiveawaysManager { if (this.giveaways.options.useDefault) { const embed = new EmbedBuilder() .setTitle("🎉 GIVEAWAY 🎉") - .setDescription(`**Prize:** ${giveaway.prize}\n**Winners:** ${giveaway.winnersCount}`) + .setDescription(`🎁 **Prize:** ${giveaway.prize}\n🏆 **Winners:** ${giveaway.winnersCount}`) .setFields( { name: "Ends", value: `${time(new Date(Date.now() + giveaway.timeLeft()), "R")}`, inline: true }, { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }, ) + .setFooter({ text: "Join by clicking the button below!" }) + .setTimestamp() .setColor("Green") const comps = new ActionRowBuilder() .addComponents( new ButtonBuilder() .setCustomId(`giveawayEntry-${giveaway.id}`) - .setLabel("Entry") + .setLabel("Join") + .setEmoji("🎉") .setStyle(ButtonStyle.Success), new ButtonBuilder() .setCustomId(`giveawayEnd-${giveaway.id}`) @@ -95,20 +98,21 @@ export class GiveawaysManager { giveaway.winners = winners if (this.giveaways.options.useDefault) { - const chan = this.client.channels.cache.get(giveaway.channelID) as TextChannel | undefined - const msg = giveaway.messageID ? await chan?.messages.fetch(giveaway.messageID).catch(noop) : undefined + const msg = await this._fetchMessage(giveaway) if (msg) { - const plural = winners.length > 1 ? "s" : "" - const mentions = winners.map((id) => `<@${id}>`).join(", ") + const plural = winners.length === 1 ? "" : "s" + const mentions = this._parseMentions(winners) const embed = new EmbedBuilder() .setTitle("🎉 GIVEAWAY ENDED 🎉") - .setDescription(`**Prize:** ${giveaway.prize}\n**Winner${plural}:** ${mentions}`) + .setDescription(`>>> 🎁 **Prize:** ${giveaway.prize}\n🏆 **Winner${plural}:** ${mentions || "None"}\n👥 **Total Entries:** ${giveaway.entries.length}`) .addFields( { name: "Ended", value: `${time(new Date(), "R")}`, inline: true }, { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }, ) + .setFooter({ text: "Thanks for participating!" }) + .setTimestamp(giveaway.timestamp) .setColor("Red") const comps = new ActionRowBuilder() @@ -116,6 +120,7 @@ export class GiveawaysManager { new ButtonBuilder() .setCustomId(`giveawayReroll-${giveaway.id}`) .setLabel("Reroll") + .setEmoji("🔁") .setStyle(ButtonStyle.Primary), ) @@ -145,18 +150,34 @@ export class GiveawaysManager { /** * Rerolls an existing giveaway. * @param id The id of the giveaway to reroll. + * @param amount The amount of new winners. * @returns */ - public async reroll(id: Snowflake) { + public async reroll(id: Snowflake, amount?: number) { const giveaway = await Database.get(id) if (!giveaway || !giveaway.hasEnded) return null const oldGiveaway = giveaway.clone() + amount ??= giveaway.winnersCount const eligibleEntries = giveaway.entries.filter((e) => !giveaway.winners.includes(e)) - const newWinners = this._pickWinners(eligibleEntries, giveaway.winnersCount) + const newWinners = this._pickWinners(eligibleEntries, amount) giveaway.winners = newWinners - if (this.giveaways.options.useDefault) {} + if (this.giveaways.options.useDefault) { + const msg = await this._fetchMessage(giveaway) + + if (msg) { + const plural = newWinners.length === 1 ? "" : "s" + + msg.reply({ + content: `🔁 Rerolled giveaway, congratulations to the new winner${plural}!\n🏆 **New Winner${plural}:** ${this._parseMentions(newWinners)}`, + allowedMentions: { + repliedUser: false, + parse: ["users"] + } + }).catch(noop) + } + } await Database.set(giveaway).catch(noop) this.giveaways.emitter.emit("giveawayReroll", oldGiveaway, giveaway) @@ -199,6 +220,25 @@ export class GiveawaysManager { return shuffled.slice(0, amount) } + /** + * Parses the mentions for all giveaway winners. + * @param winners The winners to parse mentions for. + * @returns + */ + private _parseMentions(winners: Snowflake[]) { + return winners.map((id) => `<@${id}>`).join(", ") + } + + /** + * Fetches the message of a giveaway. + * @param data The giveaway data to use. + * @returns + */ + private async _fetchMessage(data: Giveaway | MongoGiveaway) { + const chan = this.client.channels.cache.get(data.channelID) as TextChannel | undefined + return (data.messageID ? await chan?.messages.fetch(data.messageID).catch(noop) : undefined) + } + /** * Restores all active giveaways on startup. * @returns diff --git a/src/native/manage/rerollGiveaway.ts b/src/native/manage/rerollGiveaway.ts index 4c8176c..f9dc4ec 100644 --- a/src/native/manage/rerollGiveaway.ts +++ b/src/native/manage/rerollGiveaway.ts @@ -15,11 +15,17 @@ export default new NativeFunction({ required: true, type: ArgType.String, }, + { + name: "amount", + description: "The amount of new winners, defaults to winners count", + rest: false, + type: ArgType.Number, + }, ], output: ArgType.Boolean, - async execute(ctx, [id]) { + async execute(ctx, [id, amount]) { const client = ctx.client.getExtension(ForgeGiveaways, true) - const giveaway = await client.giveawaysManager.reroll(id).catch(ctx.noop) + const giveaway = await client.giveawaysManager.reroll(id, amount || undefined).catch(ctx.noop) return this.success(!!giveaway) } }) \ No newline at end of file From ce4a115ff60fd12eb6d3ee1f6d4d4d33d5c6ad50 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Mon, 20 Oct 2025 01:56:07 +0200 Subject: [PATCH 66/87] Add unique param for rerolls --- dist/functions/error.d.ts | 3 +- dist/functions/error.d.ts.map | 2 +- dist/functions/error.js | 3 +- dist/functions/error.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 3 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 30 ++++++++----- dist/managers/GiveawaysManager.js.map | 2 +- dist/native/manage/rerollGiveaway.d.ts | 5 +++ dist/native/manage/rerollGiveaway.d.ts.map | 2 +- dist/native/manage/rerollGiveaway.js | 12 +++-- dist/native/manage/rerollGiveaway.js.map | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 13 +++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 6 +-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- metadata/functions.json | 2 +- src/functions/error.ts | 3 +- src/managers/GiveawaysManager.ts | 28 +++++++----- src/native/manage/rerollGiveaway.ts | 12 +++-- 38 files changed, 169 insertions(+), 129 deletions(-) diff --git a/dist/functions/error.d.ts b/dist/functions/error.d.ts index b8e23fa..1d2f926 100644 --- a/dist/functions/error.d.ts +++ b/dist/functions/error.d.ts @@ -1,6 +1,7 @@ import { Snowflake } from "discord.js"; export declare enum GiveawaysErrorType { - MessageNotFound = "Could not determine the messageID for giveaway with ID \"$1\", giveaway terminated" + MessageNotFound = "Could not find and update the message for giveaway with ID \"$1\"", + MessageNotDetermined = "Could not determine the messageID for giveaway with ID \"$1\", giveaway terminated" } /** * Throws a giveaways error in the console. diff --git a/dist/functions/error.d.ts.map b/dist/functions/error.d.ts.map index 95f0f45..4eeccc0 100644 --- a/dist/functions/error.d.ts.map +++ b/dist/functions/error.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,oBAAY,kBAAkB;IAC1B,eAAe,uFAAqF;CACvG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,QAI1E"} \ No newline at end of file +{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,oBAAY,kBAAkB;IAC1B,eAAe,sEAAoE;IACnF,oBAAoB,uFAAqF;CAC5G;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,QAI1E"} \ No newline at end of file diff --git a/dist/functions/error.js b/dist/functions/error.js index 96244c2..1faf4b1 100644 --- a/dist/functions/error.js +++ b/dist/functions/error.js @@ -5,7 +5,8 @@ exports.throwGiveawaysError = throwGiveawaysError; const forgescript_1 = require("@tryforge/forgescript"); var GiveawaysErrorType; (function (GiveawaysErrorType) { - GiveawaysErrorType["MessageNotFound"] = "Could not determine the messageID for giveaway with ID \"$1\", giveaway terminated"; + GiveawaysErrorType["MessageNotFound"] = "Could not find and update the message for giveaway with ID \"$1\""; + GiveawaysErrorType["MessageNotDetermined"] = "Could not determine the messageID for giveaway with ID \"$1\", giveaway terminated"; })(GiveawaysErrorType || (exports.GiveawaysErrorType = GiveawaysErrorType = {})); /** * Throws a giveaways error in the console. diff --git a/dist/functions/error.js.map b/dist/functions/error.js.map index 5dad3c2..2e43ff6 100644 --- a/dist/functions/error.js.map +++ b/dist/functions/error.js.map @@ -1 +1 @@ -{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":";;;AAYA,kDAIC;AAhBD,uDAA8C;AAG9C,IAAY,kBAEX;AAFD,WAAY,kBAAkB;IAC1B,4HAAoG,CAAA;AACxG,CAAC,EAFW,kBAAkB,kCAAlB,kBAAkB,QAE7B;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAwB,EAAE,EAAa;IACvE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAoC,CAAC,KAAK,IAAI,CAAC,CAAA;IAC1H,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAClD,oBAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,OAAO,EAAE,CAAC,CAAA;AACvD,CAAC"} \ No newline at end of file +{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":";;;AAaA,kDAIC;AAjBD,uDAA8C;AAG9C,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,2GAAmF,CAAA;IACnF,iIAAyG,CAAA;AAC7G,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAwB,EAAE,EAAa;IACvE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAoC,CAAC,KAAK,IAAI,CAAC,CAAA;IAC1H,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAClD,oBAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,OAAO,EAAE,CAAC,CAAA;AACvD,CAAC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index c2728a0..b010ff1 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -31,10 +31,11 @@ export declare class GiveawaysManager { /** * Rerolls an existing giveaway. * @param id The id of the giveaway to reroll. + * @param unique Whether to not include the previous winners. * @param amount The amount of new winners. * @returns */ - reroll(id: Snowflake, amount?: number): Promise; + reroll(id: Snowflake, unique?: boolean, amount?: number): Promise; /** * Edits an existing giveaway. * @param id The id of the giveaway to edit. diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 1471870..f5e53f3 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAiB,MAAM,eAAe,CAAA;AAExF,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IAiDjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IA+D9B;;;;;OAKG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM;IAgClD;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;OAIG;YACW,aAAa;IAK3B;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAiB,MAAM,eAAe,CAAA;AAExF,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IAiDjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAiE9B;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM;IAqC3E;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;OAIG;YACW,aAAa;IAK3B;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 920e9c3..a4a9154 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -29,7 +29,7 @@ class GiveawaysManager { .setTitle("🎉 GIVEAWAY 🎉") .setDescription(`🎁 **Prize:** ${giveaway.prize}\n🏆 **Winners:** ${giveaway.winnersCount}`) .setFields({ name: "Ends", value: `${(0, discord_js_1.time)(new Date(Date.now() + giveaway.timeLeft()), "R")}`, inline: true }, { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }) - .setFooter({ text: "Join by clicking the button below!" }) + .setFooter({ text: "Click the button below to join!" }) .setTimestamp() .setColor("Green"); const comps = new discord_js_1.ActionRowBuilder() @@ -46,7 +46,7 @@ class GiveawaysManager { components: [comps.toJSON()] }).catch(noop_1.default); if (!msg) { - (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotFound, giveaway.id); + (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotDetermined, giveaway.id); return; } giveaway.messageID = msg.id; @@ -80,7 +80,7 @@ class GiveawaysManager { const mentions = this._parseMentions(winners); const embed = new discord_js_1.EmbedBuilder() .setTitle("🎉 GIVEAWAY ENDED 🎉") - .setDescription(`>>> 🎁 **Prize:** ${giveaway.prize}\n🏆 **Winner${plural}:** ${mentions || "None"}\n👥 **Total Entries:** ${giveaway.entries.length}`) + .setDescription(`🎁 **Prize:** ${giveaway.prize}\n🏆 **Winner${plural}:** ${mentions || "None"}\n👥 **Total Entries:** ${giveaway.entries.length}`) .addFields({ name: "Ended", value: `${(0, discord_js_1.time)(new Date(), "R")}`, inline: true }, { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }) .setFooter({ text: "Thanks for participating!" }) .setTimestamp(giveaway.timestamp) @@ -96,15 +96,18 @@ class GiveawaysManager { components: [comps.toJSON()] }).catch(noop_1.default); msg.reply({ - content: winners.length === 0 - ? "😢 No winners for this giveaway!" - : `🎉 Congratulations to the winner${plural} of **${giveaway.prize}**!\n🏆 **Winner${plural}:** ${mentions}`, + content: winners.length + ? `🎉 Congratulations to the winner${plural} of **${giveaway.prize}**!\n🏆 **Winner${plural}:** ${mentions}` + : "😢 No winners for this giveaway!", allowedMentions: { repliedUser: false, parse: ["users"] } }).catch(noop_1.default); } + else { + (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotFound, giveaway.id); + } } await structures_1.Database.set(giveaway).catch(noop_1.default); this.giveaways.emitter.emit("giveawayEnd", giveaway); @@ -113,17 +116,21 @@ class GiveawaysManager { /** * Rerolls an existing giveaway. * @param id The id of the giveaway to reroll. + * @param unique Whether to not include the previous winners. * @param amount The amount of new winners. * @returns */ - async reroll(id, amount) { + async reroll(id, unique = false, amount) { const giveaway = await structures_1.Database.get(id); if (!giveaway || !giveaway.hasEnded) return null; const oldGiveaway = giveaway.clone(); amount ??= giveaway.winnersCount; - const eligibleEntries = giveaway.entries.filter((e) => !giveaway.winners.includes(e)); - const newWinners = this._pickWinners(eligibleEntries, amount); + const { entries, winners } = giveaway; + const eligibleEntries = unique ? entries.filter((e) => !winners.includes(e)) : entries; + let newWinners = this._pickWinners(eligibleEntries, amount); + if (!newWinners.length) + newWinners = this._pickWinners(entries, amount); giveaway.winners = newWinners; if (this.giveaways.options.useDefault) { const msg = await this._fetchMessage(giveaway); @@ -137,6 +144,9 @@ class GiveawaysManager { } }).catch(noop_1.default); } + else { + (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotFound, giveaway.id); + } } await structures_1.Database.set(giveaway).catch(noop_1.default); this.giveaways.emitter.emit("giveawayReroll", oldGiveaway, giveaway); @@ -174,7 +184,7 @@ class GiveawaysManager { * @returns */ _pickWinners(entries, amount) { - const shuffled = entries.sort(() => Math.random() - 0.5); + const shuffled = [...entries].sort(() => Math.random() - 0.5); return shuffled.slice(0, amount); } /** diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index bd2b670..18e88b3 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAqH;AAErH,8CAAwF;AACxF,8CAA4E;AAE5E,6DAAoC;AAcpC,MAAa,gBAAgB;IAEJ;IACA;IAFrB,YACqB,SAAyB,EACzB,MAAmB;QADnB,cAAS,GAAT,SAAS,CAAgB;QACzB,WAAM,GAAN,MAAM,CAAa;QAEpC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK,CAAC,OAA8B;QAC7C,MAAM,QAAQ,GAAG,IAAI,qBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAA;QAE1F,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,yBAAY,EAAE;iBAC3B,QAAQ,CAAC,gBAAgB,CAAC;iBAC1B,cAAc,CAAC,iBAAiB,QAAQ,CAAC,KAAK,qBAAqB,QAAQ,CAAC,YAAY,EAAE,CAAC;iBAC3F,SAAS,CACN,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAI,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EACjG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,QAAQ,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CACtE;iBACA,SAAS,CAAC,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC;iBACzD,YAAY,EAAE;iBACd,QAAQ,CAAC,OAAO,CAAC,CAAA;YAEtB,MAAM,KAAK,GAAG,IAAI,6BAAgB,EAAE;iBAC/B,aAAa,CACV,IAAI,0BAAa,EAAE;iBACd,WAAW,CAAC,iBAAiB,QAAQ,CAAC,EAAE,EAAE,CAAC;iBAC3C,QAAQ,CAAC,MAAM,CAAC;iBAChB,QAAQ,CAAC,IAAI,CAAC;iBACd,QAAQ,CAAC,wBAAW,CAAC,OAAO,CAAC,EAClC,IAAI,0BAAa,EAAE;iBACd,WAAW,CAAC,eAAe,QAAQ,CAAC,EAAE,EAAE,CAAC;iBACzC,QAAQ,CAAC,KAAK,CAAC;iBACf,QAAQ,CAAC,wBAAW,CAAC,MAAM,CAAC,CACpC,CAAA;YAEL,MAAM,GAAG,GAAG,MAAM,IAAI,EAAE,IAAI,CAAC;gBACzB,MAAM,EAAE,CAAC,KAAK,CAAC;gBACf,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC/B,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAEd,IAAI,CAAC,GAAG,EAAE,CAAC;gBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;gBACpE,OAAM;YACV,CAAC;YAED,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;QAC/B,CAAC;QAED,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;QACtD,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAElF,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG,CAAC,EAAa;QAC1B,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC/C,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAA;QAExB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC5D,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC1C,OAAO,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QACzE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;QAE1B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YAE9C,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;gBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;gBAE7C,MAAM,KAAK,GAAG,IAAI,yBAAY,EAAE;qBAC3B,QAAQ,CAAC,sBAAsB,CAAC;qBAChC,cAAc,CAAC,qBAAqB,QAAQ,CAAC,KAAK,gBAAgB,MAAM,OAAO,QAAQ,IAAI,MAAM,2BAA2B,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;qBACtJ,SAAS,CACN,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAI,EAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAClE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,QAAQ,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CACtE;qBACA,SAAS,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;qBAChD,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;qBAChC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAEpB,MAAM,KAAK,GAAG,IAAI,6BAAgB,EAAE;qBACnC,aAAa,CACV,IAAI,0BAAa,EAAE;qBACd,WAAW,CAAC,kBAAkB,QAAQ,CAAC,EAAE,EAAE,CAAC;qBAC5C,QAAQ,CAAC,QAAQ,CAAC;qBAClB,QAAQ,CAAC,IAAI,CAAC;qBACd,QAAQ,CAAC,wBAAW,CAAC,OAAO,CAAC,CACrC,CAAA;gBAED,GAAG,CAAC,IAAI,CAAC;oBACL,MAAM,EAAE,CAAC,KAAK,CAAC;oBACf,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;iBAC/B,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBAEd,GAAG,CAAC,KAAK,CAAC;oBACN,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;wBACzB,CAAC,CAAC,kCAAkC;wBACpC,CAAC,CAAC,mCAAmC,MAAM,SAAS,QAAQ,CAAC,KAAK,mBAAmB,MAAM,OAAO,QAAQ,EAAE;oBAChH,eAAe,EAAE;wBACb,WAAW,EAAE,KAAK;wBAClB,KAAK,EAAE,CAAC,OAAO,CAAC;qBACnB;iBACJ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAClB,CAAC;QACL,CAAC;QAED,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAEpD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,EAAa,EAAE,MAAe;QAC9C,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QACpC,MAAM,KAAK,QAAQ,CAAC,YAAY,CAAA;QAEhC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACrF,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;QAC7D,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAA;QAE7B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YAE9C,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;gBAEjD,GAAG,CAAC,KAAK,CAAC;oBACN,OAAO,EAAE,0DAA0D,MAAM,qBAAqB,MAAM,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;oBAC5I,eAAe,EAAE;wBACb,WAAW,EAAE,KAAK;wBAClB,KAAK,EAAE,CAAC,OAAO,CAAC;qBACnB;iBACJ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAClB,CAAC;QACL,CAAC;QAED,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAEpE,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CAAC,EAAa,EAAE,OAA6B;QAC1D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QAEpC,IAAI,OAAO,CAAC,KAAK;YAAE,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QACjD,IAAI,OAAO,CAAC,QAAQ;YAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAC1D,IAAI,OAAO,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACtE,IAAI,OAAO,CAAC,MAAM;YAAE,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QACpD,IAAI,OAAO,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QAEtE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA,CAAC;QAEzC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAElE,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAAC,OAAoB,EAAE,MAAc;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;QACxD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,OAAoB;QACvC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrD,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,aAAa,CAAC,IAA8B;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAA4B,CAAA;QACtF,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAChG,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB;QAC3B,MAAM,SAAS,GAAG,MAAM,qBAAQ,CAAC,MAAM,EAAE,CAAA;QACzC,IAAI,CAAC,SAAS;YAAE,OAAM;QAEtB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,QAAQ,CAAC,QAAQ;gBAAE,SAAQ;YAE/B,IAAI,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC1B,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxF,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAC3C,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AAhPD,4CAgPC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/native/manage/rerollGiveaway.d.ts b/dist/native/manage/rerollGiveaway.d.ts index d649a50..c4fcefd 100644 --- a/dist/native/manage/rerollGiveaway.d.ts +++ b/dist/native/manage/rerollGiveaway.d.ts @@ -5,6 +5,11 @@ declare const _default: NativeFunction<[{ rest: false; required: true; type: ArgType.String; +}, { + name: string; + description: string; + rest: false; + type: ArgType.Boolean; }, { name: string; description: string; diff --git a/dist/native/manage/rerollGiveaway.d.ts.map b/dist/native/manage/rerollGiveaway.d.ts.map index c914906..8b353db 100644 --- a/dist/native/manage/rerollGiveaway.d.ts.map +++ b/dist/native/manage/rerollGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"rerollGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/manage/rerollGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAG/D,wBA2BE"} \ No newline at end of file +{"version":3,"file":"rerollGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/manage/rerollGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;;;;;;AAG/D,wBAiCE"} \ No newline at end of file diff --git a/dist/native/manage/rerollGiveaway.js b/dist/native/manage/rerollGiveaway.js index 91a76c0..daa8a7d 100644 --- a/dist/native/manage/rerollGiveaway.js +++ b/dist/native/manage/rerollGiveaway.js @@ -16,17 +16,23 @@ exports.default = new forgescript_1.NativeFunction({ required: true, type: forgescript_1.ArgType.String, }, + { + name: "unique", + description: "Whether to not include the previous winners, defaults to false", + rest: false, + type: forgescript_1.ArgType.Boolean, + }, { name: "amount", - description: "The amount of new winners, defaults to winners count", + description: "The amount of new winners, defaults to max winners count", rest: false, type: forgescript_1.ArgType.Number, }, ], output: forgescript_1.ArgType.Boolean, - async execute(ctx, [id, amount]) { + async execute(ctx, [id, unique, amount]) { const client = ctx.client.getExtension(__1.ForgeGiveaways, true); - const giveaway = await client.giveawaysManager.reroll(id, amount || undefined).catch(ctx.noop); + const giveaway = await client.giveawaysManager.reroll(id, unique || undefined, amount || undefined).catch(ctx.noop); return this.success(!!giveaway); } }); diff --git a/dist/native/manage/rerollGiveaway.js.map b/dist/native/manage/rerollGiveaway.js.map index 6589faf..714cd8a 100644 --- a/dist/native/manage/rerollGiveaway.js.map +++ b/dist/native/manage/rerollGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"rerollGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/rerollGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sDAAsD;YACnE,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC;QAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC9F,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"rerollGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/rerollGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gEAAgE;YAC7E,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,OAAO;SACxB;QACD;YACI,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0DAA0D;YACvE,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC;QACnC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACnH,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 7204bb2..fcfb0ac 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      constructor +Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        +

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        Parameters

        • Optionalprops: Partial<IRunnable>
        • OptionalsyncVars: boolean

        Returns Context

      • Returns Context

      • Returns IRunnable

      • Parameters

        • name: string

        Returns boolean

      • Parameters

        • name: string

        Returns boolean

      • Fetches all emojis of the application.

        Parameters

        • Optionalonce: boolean

          Whether to fetch only when the collection is empty.

        Returns Promise<void | Collection<string, ApplicationEmoji>>

      • Type Parameters

        • T

        Parameters

        • key: PropertyKey

        Returns T

      • Type Parameters

        • T extends ClassType

        Parameters

        • type: T
        • Rest...keys: string[]

        Returns null | ClassInstance<T>

      • Parameters

        • Rest...args: string[]

        Returns undefined | object

      • Type Parameters

        • K extends string
        • T extends ClassType

        Parameters

        • key: K
        • type: T

        Returns null | (Context & {
            [P in "bro" as K]: ClassInstance<T>
        })[K]

      • Parameters

        • name: string

        Returns unknown

      • Type Parameters

        • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
        • Unwrap extends boolean

        Parameters

        Returns Promise<Return<ReturnType>>

      • Parameters

        • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
        • rt: Return<ReturnType>

        Returns boolean

      • Returns undefined | boolean

      • Type Parameters

        • K extends string
        • V extends ClassType

        Parameters

        • key: K
        • type: V

        Returns this is Context & {
            [P in "bro" as K]: ClassInstance<V>
        }

      • Parameters

        • name: string

        Returns boolean

      • Returns this is Context & {
            get interaction(): ChatInputCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): ContextMenuCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): AnySelectMenuInteraction;
        }

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • value: unknown
        • Rest...keys: string[]

        Returns boolean

      • Parameters

        • Rest...keys: string[]

        Returns boolean | any[]

      • Parameters

        • previous: object
        • Rest...args: string[]

        Returns undefined | object

      diff --git a/docs/classes/Database.html b/docs/classes/Database.html index 0b3b25a..8bceca7 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      constructor +Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      Properties

      database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        +

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        Parameters

        • id: string

          The id of the giveaway to delete.

          -

        Returns Promise<DeleteResult>

      • Gets an existing giveaway.

        +

      Returns Promise<DeleteResult>

      • Saves a giveaway in the database.

        +

      Returns Promise<null | Giveaway>

      +

      Returns Promise<void>

      diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 65f5060..2257fe8 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      constructor +ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      Properties

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      -
      targetVersions?: string[]

      Only the versions written here will be allowed

      -
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      +

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      +
      targetVersions?: string[]

      Only the versions written here will be allowed

      +
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index cc7976a..4c7f9f2 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      constructor +Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | Giveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Returns whether a user has entered this giveaway.

        Parameters

        • userID: string

          The user to check for.

          -

        Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | Giveaway

      diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index e094f07..b54fa4f 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      constructor +GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      Properties

      Accessors

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      +

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 51e7e29..7b8b7e9 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      constructor +GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      Properties

      Methods

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      +

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 660776b..216bcd5 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      constructor +GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      Properties

      Accessors

      Methods

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      +

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 28e6cc6..4c12a3c 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      +GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 66aef90..a79c933 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,16 +1,17 @@ -GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      constructor +GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      Methods

      Constructors

      Methods

      • Edits an existing giveaway.

        +

      Constructors

      Methods

      • Ends an existing giveaway.

        +

      Returns Promise<null | Giveaway>

      • Rerolls an existing giveaway.

        +

      Returns Promise<null | Giveaway>

      • Rerolls an existing giveaway.

        Parameters

        • id: string

          The id of the giveaway to reroll.

          +
        • unique: boolean = false

          Whether to not include the previous winners.

        • Optionalamount: number

          The amount of new winners.

          -

        Returns Promise<null | Giveaway>

      • Starts a new giveaway on a guild.

        +

      Returns Promise<null | Giveaway>

      +

      Returns Promise<undefined | Giveaway>

      diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index e25118e..e784f4b 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      constructor +MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      mongoId?: string

      The object id for MongoDB.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      mongoId?: string

      The object id for MongoDB.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | MongoGiveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | MongoGiveaway

      diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 0c875a3..667a86a 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      automod +IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      +

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index c3909e8..39db3d9 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      extras?: unknown

      Extras data

      keywords?: Record<string, string>

      The already existing variables defined with $let

      The context this code will run in

      -
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      +
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      The old and new states of an event

      -
      +
      diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index f9b52d9..e3c0d57 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      audit +IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      +

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 0090cb8..f827774 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          useDefault?: boolean;
      }

      Properties

      events? +IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          useDefault?: boolean;
      }

      Properties

      Properties

      events?: keyof IGiveawayEvents

      The giveaway events to use.

      -
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      -
      +
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      +
      diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 2c2d4f4..036e4e3 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID +IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 069a950..3038c01 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,4 +1,4 @@ -IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayEntryRevoked: [Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect +IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayEntryRevoked: [Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayEntryRevoked: [Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      +

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayEntryRevoked: [Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index 3b4c767..d6c5891 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles? +IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      +

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 64ad878..523d647 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID +IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index 6c425a8..8dbccff 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      +AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index 8124333..27dabe6 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      +ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index da92c79..2a394e2 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      +ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index a49af52..e232984 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      +IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      diff --git a/metadata/functions.json b/metadata/functions.json index 0c2133e..9f002e0 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayExists","version":"1.0.0","description":"Returns whether a giveaway exists","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The id of the giveaway to check for","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayTimestamp","version":"1.0.0","description":"Returns the created timestamp of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$addRequiredRoles","version":"1.0.0","description":"Adds required roles to the current giveaway","aliases":["$addRequiredRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$addRestrictedMembers","version":"1.0.0","description":"Adds restricted members to the current giveaway","aliases":["$addRestrictedMember"],"unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$addRestrictedRoles","version":"1.0.0","description":"Adds restricted roles to the current giveaway","aliases":["$addRestrictedRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"},{"name":"amount","description":"The amount of new winners, defaults to winners count","rest":false,"type":"Number"}],"output":["Boolean"],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file +[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayExists","version":"1.0.0","description":"Returns whether a giveaway exists","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The id of the giveaway to check for","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayTimestamp","version":"1.0.0","description":"Returns the created timestamp of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$addRequiredRoles","version":"1.0.0","description":"Adds required roles to the current giveaway","aliases":["$addRequiredRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$addRestrictedMembers","version":"1.0.0","description":"Adds restricted members to the current giveaway","aliases":["$addRestrictedMember"],"unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$addRestrictedRoles","version":"1.0.0","description":"Adds restricted roles to the current giveaway","aliases":["$addRestrictedRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"},{"name":"unique","description":"Whether to not include the previous winners, defaults to false","rest":false,"type":"Boolean"},{"name":"amount","description":"The amount of new winners, defaults to max winners count","rest":false,"type":"Number"}],"output":["Boolean"],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file diff --git a/src/functions/error.ts b/src/functions/error.ts index 7af5211..829f540 100644 --- a/src/functions/error.ts +++ b/src/functions/error.ts @@ -2,7 +2,8 @@ import { Logger } from "@tryforge/forgescript" import { Snowflake } from "discord.js" export enum GiveawaysErrorType { - MessageNotFound = `Could not determine the messageID for giveaway with ID "$1", giveaway terminated`, + MessageNotFound = `Could not find and update the message for giveaway with ID "$1"`, + MessageNotDetermined = `Could not determine the messageID for giveaway with ID "$1", giveaway terminated`, } /** diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 82b0224..f91250a 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -42,7 +42,7 @@ export class GiveawaysManager { { name: "Ends", value: `${time(new Date(Date.now() + giveaway.timeLeft()), "R")}`, inline: true }, { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }, ) - .setFooter({ text: "Join by clicking the button below!" }) + .setFooter({ text: "Click the button below to join!" }) .setTimestamp() .setColor("Green") @@ -65,7 +65,7 @@ export class GiveawaysManager { }).catch(noop) if (!msg) { - throwGiveawaysError(GiveawaysErrorType.MessageNotFound, giveaway.id) + throwGiveawaysError(GiveawaysErrorType.MessageNotDetermined, giveaway.id) return } @@ -106,7 +106,7 @@ export class GiveawaysManager { const embed = new EmbedBuilder() .setTitle("🎉 GIVEAWAY ENDED 🎉") - .setDescription(`>>> 🎁 **Prize:** ${giveaway.prize}\n🏆 **Winner${plural}:** ${mentions || "None"}\n👥 **Total Entries:** ${giveaway.entries.length}`) + .setDescription(`🎁 **Prize:** ${giveaway.prize}\n🏆 **Winner${plural}:** ${mentions || "None"}\n👥 **Total Entries:** ${giveaway.entries.length}`) .addFields( { name: "Ended", value: `${time(new Date(), "R")}`, inline: true }, { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }, @@ -130,14 +130,16 @@ export class GiveawaysManager { }).catch(noop) msg.reply({ - content: winners.length === 0 - ? "😢 No winners for this giveaway!" - : `🎉 Congratulations to the winner${plural} of **${giveaway.prize}**!\n🏆 **Winner${plural}:** ${mentions}`, + content: winners.length + ? `🎉 Congratulations to the winner${plural} of **${giveaway.prize}**!\n🏆 **Winner${plural}:** ${mentions}` + : "😢 No winners for this giveaway!", allowedMentions: { repliedUser: false, parse: ["users"] } }).catch(noop) + } else { + throwGiveawaysError(GiveawaysErrorType.MessageNotFound, giveaway.id) } } @@ -150,17 +152,21 @@ export class GiveawaysManager { /** * Rerolls an existing giveaway. * @param id The id of the giveaway to reroll. + * @param unique Whether to not include the previous winners. * @param amount The amount of new winners. * @returns */ - public async reroll(id: Snowflake, amount?: number) { + public async reroll(id: Snowflake, unique: boolean = false, amount?: number) { const giveaway = await Database.get(id) if (!giveaway || !giveaway.hasEnded) return null const oldGiveaway = giveaway.clone() amount ??= giveaway.winnersCount - const eligibleEntries = giveaway.entries.filter((e) => !giveaway.winners.includes(e)) - const newWinners = this._pickWinners(eligibleEntries, amount) + const { entries, winners } = giveaway + const eligibleEntries = unique ? entries.filter((e) => !winners.includes(e)) : entries + let newWinners = this._pickWinners(eligibleEntries, amount) + + if (!newWinners.length) newWinners = this._pickWinners(entries, amount) giveaway.winners = newWinners if (this.giveaways.options.useDefault) { @@ -176,6 +182,8 @@ export class GiveawaysManager { parse: ["users"] } }).catch(noop) + } else { + throwGiveawaysError(GiveawaysErrorType.MessageNotFound, giveaway.id) } } @@ -216,7 +224,7 @@ export class GiveawaysManager { * @returns */ private _pickWinners(entries: Snowflake[], amount: number) { - const shuffled = entries.sort(() => Math.random() - 0.5) + const shuffled = [...entries].sort(() => Math.random() - 0.5) return shuffled.slice(0, amount) } diff --git a/src/native/manage/rerollGiveaway.ts b/src/native/manage/rerollGiveaway.ts index f9dc4ec..76bc808 100644 --- a/src/native/manage/rerollGiveaway.ts +++ b/src/native/manage/rerollGiveaway.ts @@ -15,17 +15,23 @@ export default new NativeFunction({ required: true, type: ArgType.String, }, + { + name: "unique", + description: "Whether to not include the previous winners, defaults to false", + rest: false, + type: ArgType.Boolean, + }, { name: "amount", - description: "The amount of new winners, defaults to winners count", + description: "The amount of new winners, defaults to max winners count", rest: false, type: ArgType.Number, }, ], output: ArgType.Boolean, - async execute(ctx, [id, amount]) { + async execute(ctx, [id, unique, amount]) { const client = ctx.client.getExtension(ForgeGiveaways, true) - const giveaway = await client.giveawaysManager.reroll(id, amount || undefined).catch(ctx.noop) + const giveaway = await client.giveawaysManager.reroll(id, unique || undefined, amount || undefined).catch(ctx.noop) return this.success(!!giveaway) } }) \ No newline at end of file From 755e6026d6b3d64564dcae5b588c0d146e0bf958 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Mon, 20 Oct 2025 14:08:30 +0200 Subject: [PATCH 67/87] Added database functions --- dist/managers/GiveawaysManager.d.ts | 4 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 8 ++-- dist/managers/GiveawaysManager.js.map | 2 +- dist/native/database/deleteGiveaway.d.ts | 10 ++++ dist/native/database/deleteGiveaway.d.ts.map | 1 + dist/native/database/deleteGiveaway.js | 25 ++++++++++ dist/native/database/deleteGiveaway.js.map | 1 + dist/native/database/getAllGiveaways.d.ts | 17 +++++++ dist/native/database/getAllGiveaways.d.ts.map | 1 + dist/native/database/getAllGiveaways.js | 42 +++++++++++++++++ dist/native/database/getAllGiveaways.js.map | 1 + dist/native/database/getGiveaway.d.ts | 22 +++++++++ dist/native/database/getGiveaway.d.ts.map | 1 + dist/native/database/getGiveaway.js | 46 +++++++++++++++++++ dist/native/database/getGiveaway.js.map | 1 + dist/native/database/wipeGiveaways.d.ts | 4 ++ dist/native/database/wipeGiveaways.d.ts.map | 1 + dist/native/database/wipeGiveaways.js | 14 ++++++ dist/native/database/wipeGiveaways.js.map | 1 + dist/native/state/newGiveaway.d.ts.map | 2 +- dist/native/state/newGiveaway.js | 9 +++- dist/native/state/newGiveaway.js.map | 2 +- dist/native/state/oldGiveaway.d.ts.map | 2 +- dist/native/state/oldGiveaway.js | 9 +++- dist/native/state/oldGiveaway.js.map | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 ++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 12 ++--- docs/classes/MongoGiveaway.html | 44 +++++++++--------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 6 +-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- metadata/functions.json | 2 +- src/managers/GiveawaysManager.ts | 6 ++- src/native/database/deleteGiveaway.ts | 24 ++++++++++ src/native/database/getAllGiveaways.ts | 37 +++++++++++++++ src/native/database/getGiveaway.ts | 44 ++++++++++++++++++ src/native/database/wipeGiveaways.ts | 13 ++++++ src/native/state/newGiveaway.ts | 9 +++- src/native/state/oldGiveaway.ts | 9 +++- 56 files changed, 444 insertions(+), 114 deletions(-) create mode 100644 dist/native/database/deleteGiveaway.d.ts create mode 100644 dist/native/database/deleteGiveaway.d.ts.map create mode 100644 dist/native/database/deleteGiveaway.js create mode 100644 dist/native/database/deleteGiveaway.js.map create mode 100644 dist/native/database/getAllGiveaways.d.ts create mode 100644 dist/native/database/getAllGiveaways.d.ts.map create mode 100644 dist/native/database/getAllGiveaways.js create mode 100644 dist/native/database/getAllGiveaways.js.map create mode 100644 dist/native/database/getGiveaway.d.ts create mode 100644 dist/native/database/getGiveaway.d.ts.map create mode 100644 dist/native/database/getGiveaway.js create mode 100644 dist/native/database/getGiveaway.js.map create mode 100644 dist/native/database/wipeGiveaways.d.ts create mode 100644 dist/native/database/wipeGiveaways.d.ts.map create mode 100644 dist/native/database/wipeGiveaways.js create mode 100644 dist/native/database/wipeGiveaways.js.map create mode 100644 src/native/database/deleteGiveaway.ts create mode 100644 src/native/database/getAllGiveaways.ts create mode 100644 src/native/database/getGiveaway.ts create mode 100644 src/native/database/wipeGiveaways.ts diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index b010ff1..b24f76a 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -27,7 +27,7 @@ export declare class GiveawaysManager { * @param id The id of the giveaway to end. * @returns */ - end(id: Snowflake): Promise; + end(id: Snowflake): Promise; /** * Rerolls an existing giveaway. * @param id The id of the giveaway to reroll. @@ -35,7 +35,7 @@ export declare class GiveawaysManager { * @param amount The amount of new winners. * @returns */ - reroll(id: Snowflake, unique?: boolean, amount?: number): Promise; + reroll(id: Snowflake, unique?: boolean, amount?: number): Promise; /** * Edits an existing giveaway. * @param id The id of the giveaway to edit. diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index f5e53f3..89dce09 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAiB,MAAM,eAAe,CAAA;AAExF,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IAiDjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAiE9B;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM;IAqC3E;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;OAIG;YACW,aAAa;IAK3B;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAiB,MAAM,eAAe,CAAA;AAExF,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IAiDjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAkE9B;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM;IAsC3E;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;OAIG;YACW,aAAa;IAK3B;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index a4a9154..89c7264 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -64,7 +64,7 @@ class GiveawaysManager { async end(id) { const giveaway = await structures_1.Database.get(id); if (!giveaway || giveaway.hasEnded) - return null; + return; giveaway.hasEnded = true; const guild = this.client.guilds.cache.get(giveaway.guildID); const eligibleEntries = giveaway.entries.filter((e) => { @@ -107,6 +107,7 @@ class GiveawaysManager { } else { (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotFound, giveaway.id); + return; } } await structures_1.Database.set(giveaway).catch(noop_1.default); @@ -122,8 +123,8 @@ class GiveawaysManager { */ async reroll(id, unique = false, amount) { const giveaway = await structures_1.Database.get(id); - if (!giveaway || !giveaway.hasEnded) - return null; + if (!giveaway || !giveaway.hasEnded || !giveaway.winners.length) + return; const oldGiveaway = giveaway.clone(); amount ??= giveaway.winnersCount; const { entries, winners } = giveaway; @@ -146,6 +147,7 @@ class GiveawaysManager { } else { (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotFound, giveaway.id); + return; } } await structures_1.Database.set(giveaway).catch(noop_1.default); diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 18e88b3..a05d111 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAqH;AAErH,8CAAwF;AACxF,8CAA4E;AAE5E,6DAAoC;AAcpC,MAAa,gBAAgB;IAEJ;IACA;IAFrB,YACqB,SAAyB,EACzB,MAAmB;QADnB,cAAS,GAAT,SAAS,CAAgB;QACzB,WAAM,GAAN,MAAM,CAAa;QAEpC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK,CAAC,OAA8B;QAC7C,MAAM,QAAQ,GAAG,IAAI,qBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAA;QAE1F,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,yBAAY,EAAE;iBAC3B,QAAQ,CAAC,gBAAgB,CAAC;iBAC1B,cAAc,CAAC,iBAAiB,QAAQ,CAAC,KAAK,qBAAqB,QAAQ,CAAC,YAAY,EAAE,CAAC;iBAC3F,SAAS,CACN,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAI,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EACjG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,QAAQ,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CACtE;iBACA,SAAS,CAAC,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAC;iBACtD,YAAY,EAAE;iBACd,QAAQ,CAAC,OAAO,CAAC,CAAA;YAEtB,MAAM,KAAK,GAAG,IAAI,6BAAgB,EAAE;iBAC/B,aAAa,CACV,IAAI,0BAAa,EAAE;iBACd,WAAW,CAAC,iBAAiB,QAAQ,CAAC,EAAE,EAAE,CAAC;iBAC3C,QAAQ,CAAC,MAAM,CAAC;iBAChB,QAAQ,CAAC,IAAI,CAAC;iBACd,QAAQ,CAAC,wBAAW,CAAC,OAAO,CAAC,EAClC,IAAI,0BAAa,EAAE;iBACd,WAAW,CAAC,eAAe,QAAQ,CAAC,EAAE,EAAE,CAAC;iBACzC,QAAQ,CAAC,KAAK,CAAC;iBACf,QAAQ,CAAC,wBAAW,CAAC,MAAM,CAAC,CACpC,CAAA;YAEL,MAAM,GAAG,GAAG,MAAM,IAAI,EAAE,IAAI,CAAC;gBACzB,MAAM,EAAE,CAAC,KAAK,CAAC;gBACf,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC/B,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAEd,IAAI,CAAC,GAAG,EAAE,CAAC;gBACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;gBACzE,OAAM;YACV,CAAC;YAED,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;QAC/B,CAAC;QAED,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;QACtD,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAElF,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG,CAAC,EAAa;QAC1B,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAM;QAC1C,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAA;QAExB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC5D,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC1C,OAAO,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QACzE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;QAE1B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YAE9C,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;gBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;gBAE7C,MAAM,KAAK,GAAG,IAAI,yBAAY,EAAE;qBAC3B,QAAQ,CAAC,sBAAsB,CAAC;qBAChC,cAAc,CAAC,iBAAiB,QAAQ,CAAC,KAAK,gBAAgB,MAAM,OAAO,QAAQ,IAAI,MAAM,2BAA2B,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;qBAClJ,SAAS,CACN,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAI,EAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAClE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,QAAQ,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CACtE;qBACA,SAAS,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;qBAChD,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;qBAChC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAEpB,MAAM,KAAK,GAAG,IAAI,6BAAgB,EAAE;qBACnC,aAAa,CACV,IAAI,0BAAa,EAAE;qBACd,WAAW,CAAC,kBAAkB,QAAQ,CAAC,EAAE,EAAE,CAAC;qBAC5C,QAAQ,CAAC,QAAQ,CAAC;qBAClB,QAAQ,CAAC,IAAI,CAAC;qBACd,QAAQ,CAAC,wBAAW,CAAC,OAAO,CAAC,CACrC,CAAA;gBAED,GAAG,CAAC,IAAI,CAAC;oBACL,MAAM,EAAE,CAAC,KAAK,CAAC;oBACf,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;iBAC/B,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBAEd,GAAG,CAAC,KAAK,CAAC;oBACN,OAAO,EAAE,OAAO,CAAC,MAAM;wBACnB,CAAC,CAAC,mCAAmC,MAAM,SAAS,QAAQ,CAAC,KAAK,mBAAmB,MAAM,OAAO,QAAQ,EAAE;wBAC5G,CAAC,CAAC,kCAAkC;oBACxC,eAAe,EAAE;wBACb,WAAW,EAAE,KAAK;wBAClB,KAAK,EAAE,CAAC,OAAO,CAAC;qBACnB;iBACJ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAClB,CAAC;iBAAM,CAAC;gBACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;gBACpE,OAAM;YACV,CAAC;QACL,CAAC;QAED,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAEpD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAAC,EAAa,EAAE,SAAkB,KAAK,EAAE,MAAe;QACvE,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM;YAAE,OAAM;QACvE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QACpC,MAAM,KAAK,QAAQ,CAAC,YAAY,CAAA;QAEhC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAA;QACrC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACtF,IAAI,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;QAE3D,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACvE,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAA;QAE7B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YAE9C,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;gBAEjD,GAAG,CAAC,KAAK,CAAC;oBACN,OAAO,EAAE,0DAA0D,MAAM,qBAAqB,MAAM,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;oBAC5I,eAAe,EAAE;wBACb,WAAW,EAAE,KAAK;wBAClB,KAAK,EAAE,CAAC,OAAO,CAAC;qBACnB;iBACJ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAClB,CAAC;iBAAM,CAAC;gBACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;gBACpE,OAAM;YACV,CAAC;QACL,CAAC;QAED,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAEpE,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CAAC,EAAa,EAAE,OAA6B;QAC1D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QAEpC,IAAI,OAAO,CAAC,KAAK;YAAE,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QACjD,IAAI,OAAO,CAAC,QAAQ;YAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAC1D,IAAI,OAAO,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACtE,IAAI,OAAO,CAAC,MAAM;YAAE,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QACpD,IAAI,OAAO,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QAEtE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA,CAAC;QAEzC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAElE,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAAC,OAAoB,EAAE,MAAc;QACrD,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;QAC7D,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,OAAoB;QACvC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrD,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,aAAa,CAAC,IAA8B;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAA4B,CAAA;QACtF,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAChG,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB;QAC3B,MAAM,SAAS,GAAG,MAAM,qBAAQ,CAAC,MAAM,EAAE,CAAA;QACzC,IAAI,CAAC,SAAS;YAAE,OAAM;QAEtB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,QAAQ,CAAC,QAAQ;gBAAE,SAAQ;YAE/B,IAAI,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC1B,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxF,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAC3C,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AA1PD,4CA0PC"} \ No newline at end of file diff --git a/dist/native/database/deleteGiveaway.d.ts b/dist/native/database/deleteGiveaway.d.ts new file mode 100644 index 0000000..b02502b --- /dev/null +++ b/dist/native/database/deleteGiveaway.d.ts @@ -0,0 +1,10 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=deleteGiveaway.d.ts.map \ No newline at end of file diff --git a/dist/native/database/deleteGiveaway.d.ts.map b/dist/native/database/deleteGiveaway.d.ts.map new file mode 100644 index 0000000..616d430 --- /dev/null +++ b/dist/native/database/deleteGiveaway.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"deleteGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/database/deleteGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file diff --git a/dist/native/database/deleteGiveaway.js b/dist/native/database/deleteGiveaway.js new file mode 100644 index 0000000..488daf2 --- /dev/null +++ b/dist/native/database/deleteGiveaway.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const __1 = require("../.."); +exports.default = new forgescript_1.NativeFunction({ + name: "$deleteGiveaway", + description: "Deletes an existing giveaway from the database permanently", + unwrap: true, + brackets: true, + args: [ + { + name: "giveaway ID", + description: "The giveaway to delete", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + ], + output: forgescript_1.ArgType.Json, + async execute(ctx, [id]) { + const giveaway = await __1.Database.delete(id); + return this.successJSON(giveaway); + } +}); +//# sourceMappingURL=deleteGiveaway.js.map \ No newline at end of file diff --git a/dist/native/database/deleteGiveaway.js.map b/dist/native/database/deleteGiveaway.js.map new file mode 100644 index 0000000..f90e469 --- /dev/null +++ b/dist/native/database/deleteGiveaway.js.map @@ -0,0 +1 @@ +{"version":3,"file":"deleteGiveaway.js","sourceRoot":"","sources":["../../../src/native/database/deleteGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAgC;AAEhC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,4DAA4D;IACzE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,YAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/database/getAllGiveaways.d.ts b/dist/native/database/getAllGiveaways.d.ts new file mode 100644 index 0000000..4cf2174 --- /dev/null +++ b/dist/native/database/getAllGiveaways.d.ts @@ -0,0 +1,17 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +import { GiveawayProperty } from "../../properties/giveaway"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.Enum; + enum: typeof GiveawayProperty; +}, { + name: string; + description: string; + rest: false; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=getAllGiveaways.d.ts.map \ No newline at end of file diff --git a/dist/native/database/getAllGiveaways.d.ts.map b/dist/native/database/getAllGiveaways.d.ts.map new file mode 100644 index 0000000..b121bdd --- /dev/null +++ b/dist/native/database/getAllGiveaways.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"getAllGiveaways.d.ts","sourceRoot":"","sources":["../../../src/native/database/getAllGiveaways.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAIhF,wBA8BE"} \ No newline at end of file diff --git a/dist/native/database/getAllGiveaways.js b/dist/native/database/getAllGiveaways.js new file mode 100644 index 0000000..78d2ef2 --- /dev/null +++ b/dist/native/database/getAllGiveaways.js @@ -0,0 +1,42 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const giveaway_1 = require("../../properties/giveaway"); +const __1 = require("../.."); +const array_1 = __importDefault(require("../../functions/array")); +exports.default = new forgescript_1.NativeFunction({ + name: "$getAllGiveaways", + description: "Gets all existing giveaways from the database", + unwrap: true, + brackets: false, + args: [ + { + name: "property", + description: "The property of the giveaways to return", + rest: false, + required: true, + type: forgescript_1.ArgType.Enum, + enum: giveaway_1.GiveawayProperty + }, + { + name: "separator", + description: "The separator to use for each property", + rest: false, + type: forgescript_1.ArgType.String + } + ], + output: [ + forgescript_1.ArgType.Json, + (0, array_1.default)() + ], + async execute(ctx, [prop, sep]) { + const giveaways = await __1.Database.getAll(); + if (prop) + return this.success(giveaways.map((x) => giveaway_1.GiveawayProperties[prop](x, sep)).join(sep ?? ", ")); + return this.successJSON(giveaways); + } +}); +//# sourceMappingURL=getAllGiveaways.js.map \ No newline at end of file diff --git a/dist/native/database/getAllGiveaways.js.map b/dist/native/database/getAllGiveaways.js.map new file mode 100644 index 0000000..6c2705a --- /dev/null +++ b/dist/native/database/getAllGiveaways.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getAllGiveaways.js","sourceRoot":"","sources":["../../../src/native/database/getAllGiveaways.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,wDAAgF;AAChF,6BAAgC;AAChC,kEAAyC;AAEzC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,yCAAyC;YACtD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE;QACJ,qBAAO,CAAC,IAAI;QACZ,IAAA,eAAK,GAAmB;KAC3B;IACD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QAC1B,MAAM,SAAS,GAAG,MAAM,YAAQ,CAAC,MAAM,EAAE,CAAA;QACzC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;QACvG,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/database/getGiveaway.d.ts b/dist/native/database/getGiveaway.d.ts new file mode 100644 index 0000000..aebc2ac --- /dev/null +++ b/dist/native/database/getGiveaway.d.ts @@ -0,0 +1,22 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript"; +import { GiveawayProperty } from "../../properties/giveaway"; +declare const _default: NativeFunction<[{ + name: string; + description: string; + rest: false; + required: true; + type: ArgType.String; +}, { + name: string; + description: string; + rest: false; + type: ArgType.Enum; + enum: typeof GiveawayProperty; +}, { + name: string; + description: string; + rest: false; + type: ArgType.String; +}], true>; +export default _default; +//# sourceMappingURL=getGiveaway.d.ts.map \ No newline at end of file diff --git a/dist/native/database/getGiveaway.d.ts.map b/dist/native/database/getGiveaway.d.ts.map new file mode 100644 index 0000000..5f0e388 --- /dev/null +++ b/dist/native/database/getGiveaway.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"getGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/database/getGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;;;;;;AAGhF,wBAsCE"} \ No newline at end of file diff --git a/dist/native/database/getGiveaway.js b/dist/native/database/getGiveaway.js new file mode 100644 index 0000000..80c5ba2 --- /dev/null +++ b/dist/native/database/getGiveaway.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const giveaway_1 = require("../../properties/giveaway"); +const __1 = require("../.."); +exports.default = new forgescript_1.NativeFunction({ + name: "$getGiveaway", + description: "Gets an existing giveaway from the database", + unwrap: true, + brackets: true, + args: [ + { + name: "giveaway ID", + description: "The giveaway to get", + rest: false, + required: true, + type: forgescript_1.ArgType.String, + }, + { + name: "property", + description: "The property of the giveaway to return", + rest: false, + type: forgescript_1.ArgType.Enum, + enum: giveaway_1.GiveawayProperty + }, + { + name: "separator", + description: "The separator to use in case of array", + rest: false, + type: forgescript_1.ArgType.String + } + ], + output: [ + forgescript_1.ArgType.Json, + forgescript_1.ArgType.Unknown + ], + async execute(ctx, [id, prop, sep]) { + const giveaway = await __1.Database.get(id); + if (!giveaway) + return this.success(); + if (prop) + return this.success(giveaway_1.GiveawayProperties[prop](giveaway, sep)); + return this.successJSON(giveaway); + } +}); +//# sourceMappingURL=getGiveaway.js.map \ No newline at end of file diff --git a/dist/native/database/getGiveaway.js.map b/dist/native/database/getGiveaway.js.map new file mode 100644 index 0000000..f7e5177 --- /dev/null +++ b/dist/native/database/getGiveaway.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getGiveaway.js","sourceRoot":"","sources":["../../../src/native/database/getGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAChF,6BAAgC;AAEhC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qBAAqB;YAClC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE;QACJ,qBAAO,CAAC,IAAI;QACZ,qBAAO,CAAC,OAAO;KAClB;IACD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,YAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/database/wipeGiveaways.d.ts b/dist/native/database/wipeGiveaways.d.ts new file mode 100644 index 0000000..d06bca1 --- /dev/null +++ b/dist/native/database/wipeGiveaways.d.ts @@ -0,0 +1,4 @@ +import { NativeFunction } from "@tryforge/forgescript"; +declare const _default: NativeFunction>[], false>; +export default _default; +//# sourceMappingURL=wipeGiveaways.d.ts.map \ No newline at end of file diff --git a/dist/native/database/wipeGiveaways.d.ts.map b/dist/native/database/wipeGiveaways.d.ts.map new file mode 100644 index 0000000..117de42 --- /dev/null +++ b/dist/native/database/wipeGiveaways.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"wipeGiveaways.d.ts","sourceRoot":"","sources":["../../../src/native/database/wipeGiveaways.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;AAGtD,wBAQE"} \ No newline at end of file diff --git a/dist/native/database/wipeGiveaways.js b/dist/native/database/wipeGiveaways.js new file mode 100644 index 0000000..5ff42a1 --- /dev/null +++ b/dist/native/database/wipeGiveaways.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const forgescript_1 = require("@tryforge/forgescript"); +const __1 = require("../.."); +exports.default = new forgescript_1.NativeFunction({ + name: "$wipeGiveaways", + description: "Wipes all existing giveaways from the database permanently, use with caution", + unwrap: false, + async execute(ctx) { + await __1.Database.wipe(); + return this.success(); + } +}); +//# sourceMappingURL=wipeGiveaways.js.map \ No newline at end of file diff --git a/dist/native/database/wipeGiveaways.js.map b/dist/native/database/wipeGiveaways.js.map new file mode 100644 index 0000000..9d695e6 --- /dev/null +++ b/dist/native/database/wipeGiveaways.js.map @@ -0,0 +1 @@ +{"version":3,"file":"wipeGiveaways.js","sourceRoot":"","sources":["../../../src/native/database/wipeGiveaways.ts"],"names":[],"mappings":";;AAAA,uDAAsD;AACtD,6BAAgC;AAEhC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,8EAA8E;IAC3F,MAAM,EAAE,KAAK;IACb,KAAK,CAAC,OAAO,CAAC,GAAG;QACb,MAAM,YAAQ,CAAC,IAAI,EAAE,CAAA;QACrB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/state/newGiveaway.d.ts.map b/dist/native/state/newGiveaway.d.ts.map index cf88994..8e2792d 100644 --- a/dist/native/state/newGiveaway.d.ts.map +++ b/dist/native/state/newGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"newGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAEhF,wBA4BE"} \ No newline at end of file +{"version":3,"file":"newGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAEhF,wBAiCE"} \ No newline at end of file diff --git a/dist/native/state/newGiveaway.js b/dist/native/state/newGiveaway.js index 56797c7..5ddec89 100644 --- a/dist/native/state/newGiveaway.js +++ b/dist/native/state/newGiveaway.js @@ -24,10 +24,15 @@ exports.default = new forgescript_1.NativeFunction({ type: forgescript_1.ArgType.String } ], - output: forgescript_1.ArgType.Unknown, + output: [ + forgescript_1.ArgType.Json, + forgescript_1.ArgType.Unknown + ], execute(ctx, [prop, sep]) { const giveaway = ctx.extendedStates?.giveaway?.new; - if (!giveaway || prop) + if (!giveaway) + return this.success(); + if (prop) return this.success(giveaway_1.GiveawayProperties[prop](giveaway, sep)); return this.successJSON(giveaway); } diff --git a/dist/native/state/newGiveaway.js.map b/dist/native/state/newGiveaway.js.map index 0499883..3126ee9 100644 --- a/dist/native/state/newGiveaway.js.map +++ b/dist/native/state/newGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"newGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAEhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,GAAG,CAAA;QAClD,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;QACnF,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"newGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/newGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAEhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE;QACJ,qBAAO,CAAC,IAAI;QACZ,qBAAO,CAAC,OAAO;KAClB;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,GAAG,CAAA;QAClD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/state/oldGiveaway.d.ts.map b/dist/native/state/oldGiveaway.d.ts.map index 8953122..253dc72 100644 --- a/dist/native/state/oldGiveaway.d.ts.map +++ b/dist/native/state/oldGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"oldGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/state/oldGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAEhF,wBA4BE"} \ No newline at end of file +{"version":3,"file":"oldGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/state/oldGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAEhF,wBAiCE"} \ No newline at end of file diff --git a/dist/native/state/oldGiveaway.js b/dist/native/state/oldGiveaway.js index bf593ed..d5f9f46 100644 --- a/dist/native/state/oldGiveaway.js +++ b/dist/native/state/oldGiveaway.js @@ -24,10 +24,15 @@ exports.default = new forgescript_1.NativeFunction({ type: forgescript_1.ArgType.String } ], - output: forgescript_1.ArgType.Unknown, + output: [ + forgescript_1.ArgType.Json, + forgescript_1.ArgType.Unknown + ], execute(ctx, [prop, sep]) { const giveaway = ctx.extendedStates?.giveaway?.old; - if (!giveaway || prop) + if (!giveaway) + return this.success(); + if (prop) return this.success(giveaway_1.GiveawayProperties[prop](giveaway, sep)); return this.successJSON(giveaway); } diff --git a/dist/native/state/oldGiveaway.js.map b/dist/native/state/oldGiveaway.js.map index c1f62b8..f9a4b2e 100644 --- a/dist/native/state/oldGiveaway.js.map +++ b/dist/native/state/oldGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"oldGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/oldGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAEhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,GAAG,CAAA;QAClD,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;QACnF,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"oldGiveaway.js","sourceRoot":"","sources":["../../../src/native/state/oldGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAEhF,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wEAAwE;IACrF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE;QACJ,qBAAO,CAAC,IAAI;QACZ,qBAAO,CAAC,OAAO;KAClB;IACD,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,GAAG,CAAA;QAClD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index fcfb0ac..4fe6a51 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      constructor +Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        +

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        Parameters

        • Optionalprops: Partial<IRunnable>
        • OptionalsyncVars: boolean

        Returns Context

      • Returns Context

      • Returns IRunnable

      • Parameters

        • name: string

        Returns boolean

      • Parameters

        • name: string

        Returns boolean

      • Fetches all emojis of the application.

        Parameters

        • Optionalonce: boolean

          Whether to fetch only when the collection is empty.

        Returns Promise<void | Collection<string, ApplicationEmoji>>

      • Type Parameters

        • T

        Parameters

        • key: PropertyKey

        Returns T

      • Type Parameters

        • T extends ClassType

        Parameters

        • type: T
        • Rest...keys: string[]

        Returns null | ClassInstance<T>

      • Parameters

        • Rest...args: string[]

        Returns undefined | object

      • Type Parameters

        • K extends string
        • T extends ClassType

        Parameters

        • key: K
        • type: T

        Returns null | (Context & {
            [P in "bro" as K]: ClassInstance<T>
        })[K]

      • Parameters

        • name: string

        Returns unknown

      • Type Parameters

        • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
        • Unwrap extends boolean

        Parameters

        Returns Promise<Return<ReturnType>>

      • Parameters

        • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
        • rt: Return<ReturnType>

        Returns boolean

      • Returns undefined | boolean

      • Type Parameters

        • K extends string
        • V extends ClassType

        Parameters

        • key: K
        • type: V

        Returns this is Context & {
            [P in "bro" as K]: ClassInstance<V>
        }

      • Parameters

        • name: string

        Returns boolean

      • Returns this is Context & {
            get interaction(): ChatInputCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): ContextMenuCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): AnySelectMenuInteraction;
        }

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • value: unknown
        • Rest...keys: string[]

        Returns boolean

      • Parameters

        • Rest...keys: string[]

        Returns boolean | any[]

      • Parameters

        • previous: object
        • Rest...args: string[]

        Returns undefined | object

      diff --git a/docs/classes/Database.html b/docs/classes/Database.html index 8bceca7..db4563d 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      constructor +Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      Properties

      database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        +

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        Parameters

        • id: string

          The id of the giveaway to delete.

          -

        Returns Promise<DeleteResult>

      • Gets an existing giveaway.

        +

      Returns Promise<DeleteResult>

      • Saves a giveaway in the database.

        +

      Returns Promise<null | Giveaway>

      +

      Returns Promise<void>

      diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 2257fe8..25c8300 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      constructor +ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      Properties

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      -
      targetVersions?: string[]

      Only the versions written here will be allowed

      -
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      +

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      +
      targetVersions?: string[]

      Only the versions written here will be allowed

      +
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index 4c7f9f2..b611382 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      constructor +Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | Giveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Returns whether a user has entered this giveaway.

        Parameters

        • userID: string

          The user to check for.

          -

        Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | Giveaway

      diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index b54fa4f..841b276 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      constructor +GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      Properties

      Accessors

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      +

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 7b8b7e9..ff3247d 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      constructor +GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      Properties

      Methods

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      +

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 216bcd5..235b36f 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      constructor +GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      Properties

      Accessors

      Methods

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      +

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 4c12a3c..1e985c9 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      +GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index a79c933..6dd59d1 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,17 +1,17 @@ -GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      constructor +GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      Methods

      Constructors

      Methods

      • Edits an existing giveaway.

        +

      Constructors

      Methods

      • Ends an existing giveaway.

        +

      Returns Promise<null | Giveaway>

      • Rerolls an existing giveaway.

        +

      Returns Promise<undefined | Giveaway>

      • Rerolls an existing giveaway.

        Parameters

        • id: string

          The id of the giveaway to reroll.

        • unique: boolean = false

          Whether to not include the previous winners.

        • Optionalamount: number

          The amount of new winners.

          -

        Returns Promise<null | Giveaway>

      • Starts a new giveaway on a guild.

        +

      Returns Promise<undefined | Giveaway>

      +

      Returns Promise<undefined | Giveaway>

      diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index e784f4b..06a6a3d 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      constructor +MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      mongoId?: string

      The object id for MongoDB.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      mongoId?: string

      The object id for MongoDB.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | MongoGiveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | MongoGiveaway

      diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 667a86a..84ef6f8 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      automod +IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      +

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index 39db3d9..e7a26df 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      extras?: unknown

      Extras data

      keywords?: Record<string, string>

      The already existing variables defined with $let

      The context this code will run in

      -
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      +
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      The old and new states of an event

      -
      +
      diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index e3c0d57..a29b0b7 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      audit +IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      +

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index f827774..1d1227a 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          useDefault?: boolean;
      }

      Properties

      events? +IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          useDefault?: boolean;
      }

      Properties

      Properties

      events?: keyof IGiveawayEvents

      The giveaway events to use.

      -
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      -
      +
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      +
      diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 036e4e3..0e7aa8a 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID +IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 3038c01..f6cdd30 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,4 +1,4 @@ -IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayEntryRevoked: [Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect +IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayEntryRevoked: [Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayEntryRevoked: [Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      +

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayEntryRevoked: [Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index d6c5891..db89530 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles? +IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      +

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 523d647..0521b3d 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID +IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index 8dbccff..488b5d3 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      +AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index 27dabe6..b31b561 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      +ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index 2a394e2..308dca6 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      +ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index e232984..c72e5a4 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      +IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      diff --git a/metadata/functions.json b/metadata/functions.json index 9f002e0..9887834 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayExists","version":"1.0.0","description":"Returns whether a giveaway exists","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The id of the giveaway to check for","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayTimestamp","version":"1.0.0","description":"Returns the created timestamp of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$addRequiredRoles","version":"1.0.0","description":"Adds required roles to the current giveaway","aliases":["$addRequiredRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$addRestrictedMembers","version":"1.0.0","description":"Adds restricted members to the current giveaway","aliases":["$addRestrictedMember"],"unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$addRestrictedRoles","version":"1.0.0","description":"Adds restricted roles to the current giveaway","aliases":["$addRestrictedRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"},{"name":"unique","description":"Whether to not include the previous winners, defaults to false","rest":false,"type":"Boolean"},{"name":"amount","description":"The amount of new winners, defaults to max winners count","rest":false,"type":"Number"}],"output":["Boolean"],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Unknown"],"category":"state"}] \ No newline at end of file +[{"name":"$deleteGiveaway","description":"Deletes an existing giveaway from the database permanently","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to delete","rest":false,"required":true,"type":"String"}],"output":["Json"],"category":"database","version":"1.0.0"},{"name":"$getAllGiveaways","description":"Gets all existing giveaways from the database","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaways to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use for each property","rest":false,"type":"String"}],"output":["Json","Unknown[]"],"category":"database","version":"1.0.0"},{"name":"$getGiveaway","description":"Gets an existing giveaway from the database","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to get","rest":false,"required":true,"type":"String"},{"name":"property","description":"The property of the giveaway to return","rest":false,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Json","Unknown"],"category":"database","version":"1.0.0"},{"name":"$wipeGiveaways","description":"Wipes all existing giveaways from the database permanently, use with caution","unwrap":false,"category":"database","version":"1.0.0"},{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayExists","version":"1.0.0","description":"Returns whether a giveaway exists","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The id of the giveaway to check for","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayTimestamp","version":"1.0.0","description":"Returns the created timestamp of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$addRequiredRoles","version":"1.0.0","description":"Adds required roles to the current giveaway","aliases":["$addRequiredRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$addRestrictedMembers","version":"1.0.0","description":"Adds restricted members to the current giveaway","aliases":["$addRestrictedMember"],"unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$addRestrictedRoles","version":"1.0.0","description":"Adds restricted roles to the current giveaway","aliases":["$addRestrictedRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"},{"name":"unique","description":"Whether to not include the previous winners, defaults to false","rest":false,"type":"Boolean"},{"name":"amount","description":"The amount of new winners, defaults to max winners count","rest":false,"type":"Number"}],"output":["Boolean"],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Json","Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Json","Unknown"],"category":"state"}] \ No newline at end of file diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index f91250a..143ec59 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -86,7 +86,7 @@ export class GiveawaysManager { */ public async end(id: Snowflake) { const giveaway = await Database.get(id) - if (!giveaway || giveaway.hasEnded) return null + if (!giveaway || giveaway.hasEnded) return giveaway.hasEnded = true const guild = this.client.guilds.cache.get(giveaway.guildID) @@ -140,6 +140,7 @@ export class GiveawaysManager { }).catch(noop) } else { throwGiveawaysError(GiveawaysErrorType.MessageNotFound, giveaway.id) + return } } @@ -158,7 +159,7 @@ export class GiveawaysManager { */ public async reroll(id: Snowflake, unique: boolean = false, amount?: number) { const giveaway = await Database.get(id) - if (!giveaway || !giveaway.hasEnded) return null + if (!giveaway || !giveaway.hasEnded || !giveaway.winners.length) return const oldGiveaway = giveaway.clone() amount ??= giveaway.winnersCount @@ -184,6 +185,7 @@ export class GiveawaysManager { }).catch(noop) } else { throwGiveawaysError(GiveawaysErrorType.MessageNotFound, giveaway.id) + return } } diff --git a/src/native/database/deleteGiveaway.ts b/src/native/database/deleteGiveaway.ts new file mode 100644 index 0000000..9e42cec --- /dev/null +++ b/src/native/database/deleteGiveaway.ts @@ -0,0 +1,24 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import { Database } from "../.." + +export default new NativeFunction({ + name: "$deleteGiveaway", + version: "1.0.0", + description: "Deletes an existing giveaway from the database permanently", + unwrap: true, + brackets: true, + args: [ + { + name: "giveaway ID", + description: "The giveaway to delete", + rest: false, + required: true, + type: ArgType.String, + }, + ], + output: ArgType.Json, + async execute(ctx, [id]) { + const giveaway = await Database.delete(id) + return this.successJSON(giveaway) + } +}) \ No newline at end of file diff --git a/src/native/database/getAllGiveaways.ts b/src/native/database/getAllGiveaways.ts new file mode 100644 index 0000000..e854ea7 --- /dev/null +++ b/src/native/database/getAllGiveaways.ts @@ -0,0 +1,37 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import { GiveawayProperties, GiveawayProperty } from "../../properties/giveaway" +import { Database } from "../.." +import array from "../../functions/array" + +export default new NativeFunction({ + name: "$getAllGiveaways", + version: "1.0.0", + description: "Gets all existing giveaways from the database", + unwrap: true, + brackets: false, + args: [ + { + name: "property", + description: "The property of the giveaways to return", + rest: false, + required: true, + type: ArgType.Enum, + enum: GiveawayProperty + }, + { + name: "separator", + description: "The separator to use for each property", + rest: false, + type: ArgType.String + } + ], + output: [ + ArgType.Json, + array() + ], + async execute(ctx, [prop, sep]) { + const giveaways = await Database.getAll() + if (prop) return this.success(giveaways.map((x) => GiveawayProperties[prop](x, sep)).join(sep ?? ", ")) + return this.successJSON(giveaways) + } +}) \ No newline at end of file diff --git a/src/native/database/getGiveaway.ts b/src/native/database/getGiveaway.ts new file mode 100644 index 0000000..8b54d13 --- /dev/null +++ b/src/native/database/getGiveaway.ts @@ -0,0 +1,44 @@ +import { ArgType, NativeFunction } from "@tryforge/forgescript" +import { GiveawayProperties, GiveawayProperty } from "../../properties/giveaway" +import { Database } from "../.." + +export default new NativeFunction({ + name: "$getGiveaway", + version: "1.0.0", + description: "Gets an existing giveaway from the database", + unwrap: true, + brackets: true, + args: [ + { + name: "giveaway ID", + description: "The giveaway to get", + rest: false, + required: true, + type: ArgType.String, + }, + { + name: "property", + description: "The property of the giveaway to return", + rest: false, + type: ArgType.Enum, + enum: GiveawayProperty + }, + { + name: "separator", + description: "The separator to use in case of array", + rest: false, + type: ArgType.String + } + ], + output: [ + ArgType.Json, + ArgType.Unknown + ], + async execute(ctx, [id, prop, sep]) { + const giveaway = await Database.get(id) + if (!giveaway) return this.success() + + if (prop) return this.success(GiveawayProperties[prop](giveaway, sep)) + return this.successJSON(giveaway) + } +}) \ No newline at end of file diff --git a/src/native/database/wipeGiveaways.ts b/src/native/database/wipeGiveaways.ts new file mode 100644 index 0000000..63f05fe --- /dev/null +++ b/src/native/database/wipeGiveaways.ts @@ -0,0 +1,13 @@ +import { NativeFunction } from "@tryforge/forgescript" +import { Database } from "../.." + +export default new NativeFunction({ + name: "$wipeGiveaways", + version: "1.0.0", + description: "Wipes all existing giveaways from the database permanently, use with caution", + unwrap: false, + async execute(ctx) { + await Database.wipe() + return this.success() + } +}) \ No newline at end of file diff --git a/src/native/state/newGiveaway.ts b/src/native/state/newGiveaway.ts index 6cc66c3..05587a0 100644 --- a/src/native/state/newGiveaway.ts +++ b/src/native/state/newGiveaway.ts @@ -23,10 +23,15 @@ export default new NativeFunction({ type: ArgType.String } ], - output: ArgType.Unknown, + output: [ + ArgType.Json, + ArgType.Unknown + ], execute(ctx, [prop, sep]) { const giveaway = ctx.extendedStates?.giveaway?.new - if (!giveaway || prop) return this.success(GiveawayProperties[prop](giveaway, sep)) + if (!giveaway) return this.success() + + if (prop) return this.success(GiveawayProperties[prop](giveaway, sep)) return this.successJSON(giveaway) } }) \ No newline at end of file diff --git a/src/native/state/oldGiveaway.ts b/src/native/state/oldGiveaway.ts index 86ef968..ee81d54 100644 --- a/src/native/state/oldGiveaway.ts +++ b/src/native/state/oldGiveaway.ts @@ -23,10 +23,15 @@ export default new NativeFunction({ type: ArgType.String } ], - output: ArgType.Unknown, + output: [ + ArgType.Json, + ArgType.Unknown + ], execute(ctx, [prop, sep]) { const giveaway = ctx.extendedStates?.giveaway?.old - if (!giveaway || prop) return this.success(GiveawayProperties[prop](giveaway, sep)) + if (!giveaway) return this.success() + + if (prop) return this.success(GiveawayProperties[prop](giveaway, sep)) return this.successJSON(giveaway) } }) \ No newline at end of file From 3a55335182c871aa7b693371a7a4a79b608f334b Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Mon, 20 Oct 2025 16:09:07 +0200 Subject: [PATCH 68/87] More improvements and additions --- dist/functions/error.d.ts | 6 +- dist/functions/error.d.ts.map | 2 +- dist/functions/error.js | 4 +- dist/functions/error.js.map | 2 +- .../GiveawaysInteractionHandler.d.ts.map | 2 +- dist/handlers/GiveawaysInteractionHandler.js | 39 +++++++---- .../GiveawaysInteractionHandler.js.map | 2 +- dist/index.d.ts | 4 ++ dist/index.d.ts.map | 2 +- dist/index.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 12 ++-- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 55 +++++++++------- dist/managers/GiveawaysManager.js.map | 2 +- dist/native/database/deleteGiveaway.d.ts.map | 2 +- dist/native/database/deleteGiveaway.js | 9 +-- dist/native/database/deleteGiveaway.js.map | 2 +- dist/native/database/getAllGiveaways.d.ts.map | 2 +- dist/native/database/getAllGiveaways.js | 1 + dist/native/database/getAllGiveaways.js.map | 2 +- dist/native/database/getGiveaway.d.ts.map | 2 +- dist/native/database/getGiveaway.js | 1 + dist/native/database/getGiveaway.js.map | 2 +- dist/native/database/wipeGiveaways.d.ts.map | 2 +- dist/native/database/wipeGiveaways.js | 1 + dist/native/database/wipeGiveaways.js.map | 2 +- dist/native/manage/startGiveaway.js | 2 +- dist/native/manage/startGiveaway.js.map | 2 +- dist/structures/Giveaway.d.ts | 4 +- dist/structures/Giveaway.d.ts.map | 2 +- dist/structures/Giveaway.js | 7 +- dist/structures/Giveaway.js.map | 2 +- docs/assets/search.js | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 ++-- docs/classes/ForgeGiveaways.html | 8 +-- docs/classes/Giveaway.html | 44 ++++++------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 14 ++-- docs/classes/MongoGiveaway.html | 46 ++++++------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 8 ++- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- metadata/functions.json | 2 +- src/functions/error.ts | 6 +- src/handlers/GiveawaysInteractionHandler.ts | 41 ++++++++---- src/index.ts | 5 ++ src/managers/GiveawaysManager.ts | 66 ++++++++++--------- src/native/database/deleteGiveaway.ts | 8 +-- src/native/manage/startGiveaway.ts | 2 +- src/structures/Giveaway.ts | 13 ++-- 63 files changed, 293 insertions(+), 227 deletions(-) diff --git a/dist/functions/error.d.ts b/dist/functions/error.d.ts index 1d2f926..22def70 100644 --- a/dist/functions/error.d.ts +++ b/dist/functions/error.d.ts @@ -1,12 +1,14 @@ import { Snowflake } from "discord.js"; export declare enum GiveawaysErrorType { MessageNotFound = "Could not find and update the message for giveaway with ID \"$1\"", - MessageNotDetermined = "Could not determine the messageID for giveaway with ID \"$1\", giveaway terminated" + MessageNotDetermined = "Could not determine the messageID for giveaway with ID \"$1\", giveaway terminated", + UnknownGiveaway = "Could not find the giveaway with ID \"$1\"", + NoStartMessage = "No start message for giveaways has been configured, giveaway terminated" } /** * Throws a giveaways error in the console. * @param type The error type to log. * @param id The id of the referenced giveaway. */ -export declare function throwGiveawaysError(type: GiveawaysErrorType, id: Snowflake): void; +export declare function throwGiveawaysError(type: GiveawaysErrorType, id?: Snowflake): void; //# sourceMappingURL=error.d.ts.map \ No newline at end of file diff --git a/dist/functions/error.d.ts.map b/dist/functions/error.d.ts.map index 4eeccc0..4827289 100644 --- a/dist/functions/error.d.ts.map +++ b/dist/functions/error.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,oBAAY,kBAAkB;IAC1B,eAAe,sEAAoE;IACnF,oBAAoB,uFAAqF;CAC5G;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,QAI1E"} \ No newline at end of file +{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,oBAAY,kBAAkB;IAC1B,eAAe,sEAAoE;IACnF,oBAAoB,uFAAqF;IACzG,eAAe,+CAA6C;IAC5D,cAAc,4EAA4E;CAC7F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,SAAS,QAI3E"} \ No newline at end of file diff --git a/dist/functions/error.js b/dist/functions/error.js index 1faf4b1..716d426 100644 --- a/dist/functions/error.js +++ b/dist/functions/error.js @@ -7,6 +7,8 @@ var GiveawaysErrorType; (function (GiveawaysErrorType) { GiveawaysErrorType["MessageNotFound"] = "Could not find and update the message for giveaway with ID \"$1\""; GiveawaysErrorType["MessageNotDetermined"] = "Could not determine the messageID for giveaway with ID \"$1\", giveaway terminated"; + GiveawaysErrorType["UnknownGiveaway"] = "Could not find the giveaway with ID \"$1\""; + GiveawaysErrorType["NoStartMessage"] = "No start message for giveaways has been configured, giveaway terminated"; })(GiveawaysErrorType || (exports.GiveawaysErrorType = GiveawaysErrorType = {})); /** * Throws a giveaways error in the console. @@ -15,7 +17,7 @@ var GiveawaysErrorType; */ function throwGiveawaysError(type, id) { const key = Object.keys(GiveawaysErrorType).find((x) => GiveawaysErrorType[x] === type); - const message = type.replace(/\$(\d+)/g, () => id); + const message = type.replace(/\$(\d+)/g, () => id ?? ""); forgescript_1.Logger.error(`[ForgeGiveaways] ${key}: ${message}`); } //# sourceMappingURL=error.js.map \ No newline at end of file diff --git a/dist/functions/error.js.map b/dist/functions/error.js.map index 2e43ff6..873e41a 100644 --- a/dist/functions/error.js.map +++ b/dist/functions/error.js.map @@ -1 +1 @@ -{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":";;;AAaA,kDAIC;AAjBD,uDAA8C;AAG9C,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,2GAAmF,CAAA;IACnF,iIAAyG,CAAA;AAC7G,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAwB,EAAE,EAAa;IACvE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAoC,CAAC,KAAK,IAAI,CAAC,CAAA;IAC1H,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAClD,oBAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,OAAO,EAAE,CAAC,CAAA;AACvD,CAAC"} \ No newline at end of file +{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":";;;AAeA,kDAIC;AAnBD,uDAA8C;AAG9C,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,2GAAmF,CAAA;IACnF,iIAAyG,CAAA;IACzG,oFAA4D,CAAA;IAC5D,gHAA0F,CAAA;AAC9F,CAAC,EALW,kBAAkB,kCAAlB,kBAAkB,QAK7B;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAwB,EAAE,EAAc;IACxE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAoC,CAAC,KAAK,IAAI,CAAC,CAAA;IAC1H,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACxD,oBAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,OAAO,EAAE,CAAC,CAAA;AACvD,CAAC"} \ No newline at end of file diff --git a/dist/handlers/GiveawaysInteractionHandler.d.ts.map b/dist/handlers/GiveawaysInteractionHandler.d.ts.map index 0cfd608..6a6cd85 100644 --- a/dist/handlers/GiveawaysInteractionHandler.d.ts.map +++ b/dist/handlers/GiveawaysInteractionHandler.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAKnD,qBAAa,2BAA2B;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;YAIzC,SAAS;CA+B1B"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAOnD,qBAAa,2BAA2B;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;YAIzC,SAAS;CA4C1B"} \ No newline at end of file diff --git a/dist/handlers/GiveawaysInteractionHandler.js b/dist/handlers/GiveawaysInteractionHandler.js index 2fc63fd..ffb6f51 100644 --- a/dist/handlers/GiveawaysInteractionHandler.js +++ b/dist/handlers/GiveawaysInteractionHandler.js @@ -1,9 +1,14 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.GiveawaysInteractionHandler = void 0; const discord_js_1 = require("discord.js"); const __1 = require(".."); const structures_1 = require("../structures"); +const error_1 = require("../functions/error"); +const noop_1 = __importDefault(require("../functions/noop")); class GiveawaysInteractionHandler { client; constructor(client) { @@ -12,32 +17,42 @@ class GiveawaysInteractionHandler { } async _register() { this.client.on("interactionCreate", async (interaction) => { - if (!interaction.isButton() || !interaction.customId.startsWith("giveawayEntry-")) + if (!interaction.isButton() || !interaction.inGuild()) + return; + const [action, id] = interaction.customId.split("-"); + if (action !== "giveawayEntry") return; - const [, id] = interaction.customId.split("-"); const client = this.client.getExtension(__1.ForgeGiveaways, true); const giveaway = await structures_1.Database.get(id); - if (!giveaway) + if (!giveaway) { + (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.UnknownGiveaway, id); return; + } const member = interaction.member; - if (!(member instanceof discord_js_1.GuildMember && giveaway.canEnter(member))) + if (!giveaway.canEnter(member)) { + await interaction.reply({ + content: `You do not meet the requirements to enter this giveaway!`, + flags: discord_js_1.MessageFlags.Ephemeral, + }).catch(noop_1.default); + client.emitter.emit("giveawayEntryRevoked", giveaway); return; + } const oldGiveaway = giveaway.clone(); - const entered = giveaway.hasEntered(member.id); + const entered = giveaway.hasEntered(member.user.id); if (entered) { - giveaway.removeEntry(member.id); - await structures_1.Database.set(giveaway); + giveaway.removeEntry(member.user.id); + await structures_1.Database.set(giveaway).catch(noop_1.default); client.emitter.emit("giveawayEntryRemove", oldGiveaway, giveaway); } else { - giveaway.addEntry(member.id); - await structures_1.Database.set(giveaway); + giveaway.addEntry(member.user.id); + await structures_1.Database.set(giveaway).catch(noop_1.default); client.emitter.emit("giveawayEntryAdd", oldGiveaway, giveaway); } - interaction.reply({ - content: `You have successfully ${entered ? "left" : "entered"} the giveaway.`, + await interaction.reply({ + content: `You have successfully ${entered ? "left" : "joined"} this giveaway.`, flags: discord_js_1.MessageFlags.Ephemeral, - }); + }).catch(noop_1.default); }); } } diff --git a/dist/handlers/GiveawaysInteractionHandler.js.map b/dist/handlers/GiveawaysInteractionHandler.js.map index ad613e0..27cfec6 100644 --- a/dist/handlers/GiveawaysInteractionHandler.js.map +++ b/dist/handlers/GiveawaysInteractionHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":";;;AACA,2CAAsD;AACtD,0BAAmC;AACnC,8CAAwC;AAExC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAM;YACzF,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YACjC,IAAI,CAAC,CAAC,MAAM,YAAY,wBAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAM;YAEzE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE9C,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC/B,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC5B,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClE,CAAC;YAED,WAAW,CAAC,KAAK,CAAC;gBACd,OAAO,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB;gBAC9E,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AApCD,kEAoCC"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":";;;;;;AACA,2CAAyC;AACzC,0BAAmC;AACnC,8CAAwC;AACxC,8CAA4E;AAC5E,6DAAoC;AAEpC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;gBAAE,OAAM;YAE7D,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpD,IAAI,MAAM,KAAK,eAAe;gBAAE,OAAM;YAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;gBAC3D,OAAM;YACV,CAAC;YAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YAEjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,WAAW,CAAC,KAAK,CAAC;oBACpB,OAAO,EAAE,0DAA0D;oBACnE,KAAK,EAAE,yBAAY,CAAC,SAAS;iBAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACd,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAA;gBACrD,OAAM;YACV,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEnD,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACpC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACjC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClE,CAAC;YAED,MAAM,WAAW,CAAC,KAAK,CAAC;gBACpB,OAAO,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,iBAAiB;gBAC9E,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAjDD,kEAiDC"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index fd0ceff..83a6f8e 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -12,6 +12,10 @@ export interface IForgeGiveawaysOptions { * Whether to use the default giveaway messages. Defaults to `true`. */ useDefault?: boolean; + /** + * The code to use as start message for giveaways. Only works if default messages are disabled. + */ + startMessage?: string; } export declare class ForgeGiveaways extends ForgeExtension { readonly options: IForgeGiveawaysOptions; diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index d4dc31e..378bc97 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,EAA+B,eAAe,EAAE,MAAM,YAAY,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,MAAyC;IACpD,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAexC;AAED,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,EAA+B,eAAe,EAAE,MAAM,YAAY,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,MAAyC;IACpD,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAexC;AAED,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"} \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map index 8f11b07..05f817c 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AACjF,yCAAsE;AACtE,yCAAyE;AACzE,2DAAiD;AAEjD,6CAAuC;AAcvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAA;IACpD,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;CACJ;AA/BD,wCA+BC;AAED,6CAA0B;AAC1B,6CAA0B;AAC1B,+CAA4B;AAC5B,0CAAuB"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AACjF,yCAAsE;AACtE,yCAAyE;AACzE,2DAAiD;AAEjD,6CAAuC;AAmBvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAA;IACpD,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;CACJ;AA/BD,wCA+BC;AAED,6CAA0B;AAC1B,6CAA0B;AAC1B,+CAA4B;AAC5B,0CAAuB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index b24f76a..defca17 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -1,6 +1,6 @@ import { Snowflake } from "discord.js"; -import { ForgeClient } from "@tryforge/forgescript"; -import { Giveaway, IGiveawayRequirements } from "../structures"; +import { Context, ForgeClient } from "@tryforge/forgescript"; +import { IGiveawayRequirements } from "../structures"; import { ForgeGiveaways } from ".."; export interface IGiveawayStartOptions { prize: string; @@ -21,13 +21,13 @@ export declare class GiveawaysManager { * @param options The start options for the giveaway. * @returns */ - start(options: IGiveawayStartOptions): Promise; + start(ctx: Context, options: IGiveawayStartOptions): Promise; /** * Ends an existing giveaway. * @param id The id of the giveaway to end. * @returns */ - end(id: Snowflake): Promise; + end(id: Snowflake): Promise; /** * Rerolls an existing giveaway. * @param id The id of the giveaway to reroll. @@ -35,13 +35,13 @@ export declare class GiveawaysManager { * @param amount The amount of new winners. * @returns */ - reroll(id: Snowflake, unique?: boolean, amount?: number): Promise; + reroll(id: Snowflake, unique?: boolean, amount?: number): Promise; /** * Edits an existing giveaway. * @param id The id of the giveaway to edit. * @param options The options used to edit this giveaway. */ - edit(id: Snowflake, options: IGiveawayEditOptions): Promise; + edit(id: Snowflake, options: IGiveawayEditOptions): Promise; /** * Randomly picks X amount of winners from the provided entries. * @param entries The entries to pick winners from. diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 89dce09..14a2f24 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAY,QAAQ,EAAE,qBAAqB,EAAiB,MAAM,eAAe,CAAA;AAExF,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IAiDjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAkE9B;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM;IAsC3E;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;OAIG;YACW,aAAa;IAK3B;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuE,SAAS,EAAqB,MAAM,YAAY,CAAA;AAC9H,OAAO,EAAY,OAAO,EAAE,WAAW,EAAe,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA2D/D;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAyD9B;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM;IAsC3E;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;OAIG;YACW,aAAa;IAM3B;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 89c7264..b5c7107 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); exports.GiveawaysManager = void 0; const discord_js_1 = require("discord.js"); +const forgescript_1 = require("@tryforge/forgescript"); const structures_1 = require("../structures"); const error_1 = require("../functions/error"); const noop_1 = __importDefault(require("../functions/noop")); @@ -21,9 +22,10 @@ class GiveawaysManager { * @param options The start options for the giveaway. * @returns */ - async start(options) { + async start(ctx, options) { const giveaway = new structures_1.Database.entities.Giveaway(options); const chan = this.client.channels.cache.get(giveaway.channelID); + let msg; if (this.giveaways.options.useDefault) { const embed = new discord_js_1.EmbedBuilder() .setTitle("🎉 GIVEAWAY 🎉") @@ -37,20 +39,31 @@ class GiveawaysManager { .setCustomId(`giveawayEntry-${giveaway.id}`) .setLabel("Join") .setEmoji("🎉") - .setStyle(discord_js_1.ButtonStyle.Success), new discord_js_1.ButtonBuilder() - .setCustomId(`giveawayEnd-${giveaway.id}`) - .setLabel("End") - .setStyle(discord_js_1.ButtonStyle.Danger)); - const msg = await chan?.send({ + .setStyle(discord_js_1.ButtonStyle.Success)); + msg = await chan?.send({ embeds: [embed], components: [comps.toJSON()] }).catch(noop_1.default); - if (!msg) { - (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotDetermined, giveaway.id); - return; - } - giveaway.messageID = msg.id; } + else if (this.giveaways.options.startMessage) { + const result = await forgescript_1.Interpreter.run({ + ...ctx.runtime, + environment: { giveaway }, + data: forgescript_1.Compiler.compile(this.giveaways.options.startMessage), + allowTopLevelReturn: true, + doNotSend: true, + }); + msg = await this._fetchMessage(giveaway.channelID, result?.trim()); + } + else { + (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.NoStartMessage); + return; + } + if (!msg) { + (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotDetermined, giveaway.id); + return; + } + giveaway.messageID = msg.id; await structures_1.Database.set(giveaway).catch(noop_1.default); this.giveaways.emitter.emit("giveawayStart", giveaway); setTimeout(async () => await this.end(giveaway.id).catch(noop_1.default), giveaway.duration); @@ -74,7 +87,7 @@ class GiveawaysManager { const winners = this._pickWinners(eligibleEntries, giveaway.winnersCount); giveaway.winners = winners; if (this.giveaways.options.useDefault) { - const msg = await this._fetchMessage(giveaway); + const msg = await this._fetchMessage(giveaway.channelID, giveaway.messageID); if (msg) { const plural = winners.length === 1 ? "" : "s"; const mentions = this._parseMentions(winners); @@ -85,15 +98,9 @@ class GiveawaysManager { .setFooter({ text: "Thanks for participating!" }) .setTimestamp(giveaway.timestamp) .setColor("Red"); - const comps = new discord_js_1.ActionRowBuilder() - .addComponents(new discord_js_1.ButtonBuilder() - .setCustomId(`giveawayReroll-${giveaway.id}`) - .setLabel("Reroll") - .setEmoji("🔁") - .setStyle(discord_js_1.ButtonStyle.Primary)); msg.edit({ embeds: [embed], - components: [comps.toJSON()] + components: [] }).catch(noop_1.default); msg.reply({ content: winners.length @@ -134,7 +141,7 @@ class GiveawaysManager { newWinners = this._pickWinners(entries, amount); giveaway.winners = newWinners; if (this.giveaways.options.useDefault) { - const msg = await this._fetchMessage(giveaway); + const msg = await this._fetchMessage(giveaway.channelID, giveaway.messageID); if (msg) { const plural = newWinners.length === 1 ? "" : "s"; msg.reply({ @@ -202,9 +209,11 @@ class GiveawaysManager { * @param data The giveaway data to use. * @returns */ - async _fetchMessage(data) { - const chan = this.client.channels.cache.get(data.channelID); - return (data.messageID ? await chan?.messages.fetch(data.messageID).catch(noop_1.default) : undefined); + async _fetchMessage(channelID, messageID) { + if (!messageID) + return; + const chan = this.client.channels.cache.get(channelID); + return await chan?.messages.fetch(messageID).catch(() => { }); } /** * Restores all active giveaways on startup. diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index a05d111..ae3ff0c 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/native/database/deleteGiveaway.d.ts.map b/dist/native/database/deleteGiveaway.d.ts.map index 616d430..276dc3b 100644 --- a/dist/native/database/deleteGiveaway.d.ts.map +++ b/dist/native/database/deleteGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"deleteGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/database/deleteGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file +{"version":3,"file":"deleteGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/database/deleteGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/database/deleteGiveaway.js b/dist/native/database/deleteGiveaway.js index 488daf2..2214ac6 100644 --- a/dist/native/database/deleteGiveaway.js +++ b/dist/native/database/deleteGiveaway.js @@ -4,7 +4,8 @@ const forgescript_1 = require("@tryforge/forgescript"); const __1 = require("../.."); exports.default = new forgescript_1.NativeFunction({ name: "$deleteGiveaway", - description: "Deletes an existing giveaway from the database permanently", + version: "1.0.0", + description: "Deletes an existing giveaway from the database permanently, returns bool", unwrap: true, brackets: true, args: [ @@ -16,10 +17,10 @@ exports.default = new forgescript_1.NativeFunction({ type: forgescript_1.ArgType.String, }, ], - output: forgescript_1.ArgType.Json, + output: forgescript_1.ArgType.Boolean, async execute(ctx, [id]) { - const giveaway = await __1.Database.delete(id); - return this.successJSON(giveaway); + const result = await __1.Database.delete(id); + return this.success(result.affected === 1); } }); //# sourceMappingURL=deleteGiveaway.js.map \ No newline at end of file diff --git a/dist/native/database/deleteGiveaway.js.map b/dist/native/database/deleteGiveaway.js.map index f90e469..15871ef 100644 --- a/dist/native/database/deleteGiveaway.js.map +++ b/dist/native/database/deleteGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"deleteGiveaway.js","sourceRoot":"","sources":["../../../src/native/database/deleteGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAgC;AAEhC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,4DAA4D;IACzE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,YAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"deleteGiveaway.js","sourceRoot":"","sources":["../../../src/native/database/deleteGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,6BAAgC;AAEhC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,0EAA0E;IACvF,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,YAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAA;IAC9C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/database/getAllGiveaways.d.ts.map b/dist/native/database/getAllGiveaways.d.ts.map index b121bdd..eb06a44 100644 --- a/dist/native/database/getAllGiveaways.d.ts.map +++ b/dist/native/database/getAllGiveaways.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"getAllGiveaways.d.ts","sourceRoot":"","sources":["../../../src/native/database/getAllGiveaways.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAIhF,wBA8BE"} \ No newline at end of file +{"version":3,"file":"getAllGiveaways.d.ts","sourceRoot":"","sources":["../../../src/native/database/getAllGiveaways.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;AAIhF,wBA+BE"} \ No newline at end of file diff --git a/dist/native/database/getAllGiveaways.js b/dist/native/database/getAllGiveaways.js index 78d2ef2..33ba7f0 100644 --- a/dist/native/database/getAllGiveaways.js +++ b/dist/native/database/getAllGiveaways.js @@ -9,6 +9,7 @@ const __1 = require("../.."); const array_1 = __importDefault(require("../../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$getAllGiveaways", + version: "1.0.0", description: "Gets all existing giveaways from the database", unwrap: true, brackets: false, diff --git a/dist/native/database/getAllGiveaways.js.map b/dist/native/database/getAllGiveaways.js.map index 6c2705a..6e61e5a 100644 --- a/dist/native/database/getAllGiveaways.js.map +++ b/dist/native/database/getAllGiveaways.js.map @@ -1 +1 @@ -{"version":3,"file":"getAllGiveaways.js","sourceRoot":"","sources":["../../../src/native/database/getAllGiveaways.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,wDAAgF;AAChF,6BAAgC;AAChC,kEAAyC;AAEzC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,yCAAyC;YACtD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE;QACJ,qBAAO,CAAC,IAAI;QACZ,IAAA,eAAK,GAAmB;KAC3B;IACD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QAC1B,MAAM,SAAS,GAAG,MAAM,YAAQ,CAAC,MAAM,EAAE,CAAA;QACzC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;QACvG,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"getAllGiveaways.js","sourceRoot":"","sources":["../../../src/native/database/getAllGiveaways.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,wDAAgF;AAChF,6BAAgC;AAChC,kEAAyC;AAEzC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,yCAAyC;YACtD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE;QACJ,qBAAO,CAAC,IAAI;QACZ,IAAA,eAAK,GAAmB;KAC3B;IACD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;QAC1B,MAAM,SAAS,GAAG,MAAM,YAAQ,CAAC,MAAM,EAAE,CAAA;QACzC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;QACvG,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/database/getGiveaway.d.ts.map b/dist/native/database/getGiveaway.d.ts.map index 5f0e388..7e6dcc5 100644 --- a/dist/native/database/getGiveaway.d.ts.map +++ b/dist/native/database/getGiveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"getGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/database/getGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;;;;;;AAGhF,wBAsCE"} \ No newline at end of file +{"version":3,"file":"getGiveaway.d.ts","sourceRoot":"","sources":["../../../src/native/database/getGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;;;;;;;;;;;;;;;;;;;AAGhF,wBAuCE"} \ No newline at end of file diff --git a/dist/native/database/getGiveaway.js b/dist/native/database/getGiveaway.js index 80c5ba2..5541d28 100644 --- a/dist/native/database/getGiveaway.js +++ b/dist/native/database/getGiveaway.js @@ -5,6 +5,7 @@ const giveaway_1 = require("../../properties/giveaway"); const __1 = require("../.."); exports.default = new forgescript_1.NativeFunction({ name: "$getGiveaway", + version: "1.0.0", description: "Gets an existing giveaway from the database", unwrap: true, brackets: true, diff --git a/dist/native/database/getGiveaway.js.map b/dist/native/database/getGiveaway.js.map index f7e5177..0a8ba73 100644 --- a/dist/native/database/getGiveaway.js.map +++ b/dist/native/database/getGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"getGiveaway.js","sourceRoot":"","sources":["../../../src/native/database/getGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAChF,6BAAgC;AAEhC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qBAAqB;YAClC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE;QACJ,qBAAO,CAAC,IAAI;QACZ,qBAAO,CAAC,OAAO;KAClB;IACD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,YAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"getGiveaway.js","sourceRoot":"","sources":["../../../src/native/database/getGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,wDAAgF;AAChF,6BAAgC;AAEhC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qBAAqB;YAClC,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,IAAI;YAClB,IAAI,EAAE,2BAAgB;SACzB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE;QACJ,qBAAO,CAAC,IAAI;QACZ,qBAAO,CAAC,OAAO;KAClB;IACD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,YAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QAEpC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/database/wipeGiveaways.d.ts.map b/dist/native/database/wipeGiveaways.d.ts.map index 117de42..38154e7 100644 --- a/dist/native/database/wipeGiveaways.d.ts.map +++ b/dist/native/database/wipeGiveaways.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"wipeGiveaways.d.ts","sourceRoot":"","sources":["../../../src/native/database/wipeGiveaways.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;AAGtD,wBAQE"} \ No newline at end of file +{"version":3,"file":"wipeGiveaways.d.ts","sourceRoot":"","sources":["../../../src/native/database/wipeGiveaways.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;AAGtD,wBASE"} \ No newline at end of file diff --git a/dist/native/database/wipeGiveaways.js b/dist/native/database/wipeGiveaways.js index 5ff42a1..51992e4 100644 --- a/dist/native/database/wipeGiveaways.js +++ b/dist/native/database/wipeGiveaways.js @@ -4,6 +4,7 @@ const forgescript_1 = require("@tryforge/forgescript"); const __1 = require("../.."); exports.default = new forgescript_1.NativeFunction({ name: "$wipeGiveaways", + version: "1.0.0", description: "Wipes all existing giveaways from the database permanently, use with caution", unwrap: false, async execute(ctx) { diff --git a/dist/native/database/wipeGiveaways.js.map b/dist/native/database/wipeGiveaways.js.map index 9d695e6..fc5d6d3 100644 --- a/dist/native/database/wipeGiveaways.js.map +++ b/dist/native/database/wipeGiveaways.js.map @@ -1 +1 @@ -{"version":3,"file":"wipeGiveaways.js","sourceRoot":"","sources":["../../../src/native/database/wipeGiveaways.ts"],"names":[],"mappings":";;AAAA,uDAAsD;AACtD,6BAAgC;AAEhC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,8EAA8E;IAC3F,MAAM,EAAE,KAAK;IACb,KAAK,CAAC,OAAO,CAAC,GAAG;QACb,MAAM,YAAQ,CAAC,IAAI,EAAE,CAAA;QACrB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"wipeGiveaways.js","sourceRoot":"","sources":["../../../src/native/database/wipeGiveaways.ts"],"names":[],"mappings":";;AAAA,uDAAsD;AACtD,6BAAgC;AAEhC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,8EAA8E;IAC3F,MAAM,EAAE,KAAK;IACb,KAAK,CAAC,OAAO,CAAC,GAAG;QACb,MAAM,YAAQ,CAAC,IAAI,EAAE,CAAA;QACrB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/manage/startGiveaway.js b/dist/native/manage/startGiveaway.js index ccb8561..2970058 100644 --- a/dist/native/manage/startGiveaway.js +++ b/dist/native/manage/startGiveaway.js @@ -50,7 +50,7 @@ exports.default = new forgescript_1.NativeFunction({ output: forgescript_1.ArgType.String, async execute(ctx, [channel, host, prize, duration, winners]) { const client = ctx.client.getExtension(__1.ForgeGiveaways, true); - const giveaway = await client.giveawaysManager.start({ + const giveaway = await client.giveawaysManager.start(ctx, { guildID: channel.guildId, channelID: channel.id, hostID: host.id, diff --git a/dist/native/manage/startGiveaway.js.map b/dist/native/manage/startGiveaway.js.map index 0a1453b..0bba4d3 100644 --- a/dist/native/manage/startGiveaway.js.map +++ b/dist/native/manage/startGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;YACjD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ;YACR,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;SACjC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAElB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE;YACtD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ;YACR,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;SACjC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAElB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/structures/Giveaway.d.ts b/dist/structures/Giveaway.d.ts index 5480185..9026465 100644 --- a/dist/structures/Giveaway.d.ts +++ b/dist/structures/Giveaway.d.ts @@ -1,4 +1,4 @@ -import { GuildMember, Snowflake } from "discord.js"; +import { APIInteractionGuildMember, GuildMember, Snowflake } from "discord.js"; import { IGiveawayStartOptions } from "../managers/GiveawaysManager"; export interface IGiveaway extends IGiveawayStartOptions { id: Snowflake; @@ -92,7 +92,7 @@ export declare class Giveaway implements IGiveaway { * @param member The guild member to check for requirements. * @returns */ - canEnter(member: GuildMember): boolean; + canEnter(member: GuildMember | APIInteractionGuildMember): boolean; /** * Clones this giveaway. * @returns diff --git a/dist/structures/Giveaway.d.ts.map b/dist/structures/Giveaway.d.ts.map index d1541b8..e7f288f 100644 --- a/dist/structures/Giveaway.d.ts.map +++ b/dist/structures/Giveaway.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBACa,QAAS,YAAW,SAAS;IACtC;;OAEG;IAEI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IAEI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IAEI,SAAS,EAAE,MAAM,CAAA;IAExB;;OAEG;IAEI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IAEI,QAAQ,EAAE,OAAO,CAAA;IAExB;;OAEG;IAEI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IAEI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IAEI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IAEI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAezE;;;OAGG;IACI,QAAQ;IAIf;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW;IASnC;;;OAGG;IACI,KAAK;CAGf;AAED,qBACa,aAAc,SAAQ,QAAQ;IACvC;;OAEG;IAEI,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B"} \ No newline at end of file +{"version":3,"file":"Giveaway.d.ts","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAA;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,MAAM,WAAW,SAAU,SAAQ,qBAAqB;IACpD,EAAE,EAAE,SAAS,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,qBACa,QAAS,YAAW,SAAS;IACtC;;OAEG;IAEI,EAAE,EAAE,SAAS,CAAA;IAEpB;;OAEG;IAEI,KAAK,EAAE,MAAM,CAAA;IAEpB;;OAEG;IAEI,QAAQ,EAAE,MAAM,CAAA;IAEvB;;OAEG;IAEI,SAAS,EAAE,MAAM,CAAA;IAExB;;OAEG;IAEI,YAAY,EAAE,MAAM,CAAA;IAE3B;;OAEG;IAEI,QAAQ,EAAE,OAAO,CAAA;IAExB;;OAEG;IAEI,MAAM,EAAE,SAAS,CAAA;IAExB;;OAEG;IAEI,OAAO,EAAE,SAAS,CAAA;IAEzB;;OAEG;IAEI,SAAS,EAAE,SAAS,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,OAAO,EAAE,SAAS,EAAE,CAAA;IAE3B;;OAEG;IAEI,YAAY,CAAC,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAA;IAE3D;;OAEG;IAEI,SAAS,CAAC,EAAE,SAAS,CAAA;gBAEhB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,SAAS,CAAA;KAAE;IAezE;;;OAGG;IACI,QAAQ;IAIf;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,SAAS;IAInC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,SAAS;IAMjC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,SAAS;IAMpC;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,yBAAyB;IAY/D;;;OAGG;IACI,KAAK;CAGf;AAED,qBACa,aAAc,SAAQ,QAAQ;IACvC;;OAEG;IAEI,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B"} \ No newline at end of file diff --git a/dist/structures/Giveaway.js b/dist/structures/Giveaway.js index 0e47bb3..37eaedc 100644 --- a/dist/structures/Giveaway.js +++ b/dist/structures/Giveaway.js @@ -125,9 +125,10 @@ let Giveaway = class Giveaway { const req = this.requirements; if (!req) return true; - const hasRequiredRoles = req.requiredRoles?.every(r => member.roles.cache.has(r)) ?? true; - const noRestrictedRoles = req.restrictedRoles?.every(r => !member.roles.cache.has(r)) ?? true; - const notRestrictedMember = !req.restrictedMembers?.includes(member.id); + const roles = member instanceof discord_js_1.GuildMember ? member.roles.cache.map((x) => x.id) : member.roles; + const hasRequiredRoles = req.requiredRoles?.every((r) => roles.includes(r)) ?? true; + const noRestrictedRoles = req.restrictedRoles?.every((r) => !roles.includes(r)) ?? true; + const notRestrictedMember = !req.restrictedMembers?.includes(member.user.id); return hasRequiredRoles && noRestrictedRoles && notRestrictedMember; } /** diff --git a/dist/structures/Giveaway.js.map b/dist/structures/Giveaway.js.map index ba5a1e9..8e4f471 100644 --- a/dist/structures/Giveaway.js.map +++ b/dist/structures/Giveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Giveaway.js","sourceRoot":"","sources":["../../src/structures/Giveaway.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 7687906..0cd20ab 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 4fe6a51..0bec40e 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      constructor +Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        +

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        Parameters

        • Optionalprops: Partial<IRunnable>
        • OptionalsyncVars: boolean

        Returns Context

      • Returns Context

      • Returns IRunnable

      • Parameters

        • name: string

        Returns boolean

      • Parameters

        • name: string

        Returns boolean

      • Fetches all emojis of the application.

        Parameters

        • Optionalonce: boolean

          Whether to fetch only when the collection is empty.

        Returns Promise<void | Collection<string, ApplicationEmoji>>

      • Type Parameters

        • T

        Parameters

        • key: PropertyKey

        Returns T

      • Type Parameters

        • T extends ClassType

        Parameters

        • type: T
        • Rest...keys: string[]

        Returns null | ClassInstance<T>

      • Parameters

        • Rest...args: string[]

        Returns undefined | object

      • Type Parameters

        • K extends string
        • T extends ClassType

        Parameters

        • key: K
        • type: T

        Returns null | (Context & {
            [P in "bro" as K]: ClassInstance<T>
        })[K]

      • Parameters

        • name: string

        Returns unknown

      • Type Parameters

        • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
        • Unwrap extends boolean

        Parameters

        Returns Promise<Return<ReturnType>>

      • Parameters

        • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
        • rt: Return<ReturnType>

        Returns boolean

      • Returns undefined | boolean

      • Type Parameters

        • K extends string
        • V extends ClassType

        Parameters

        • key: K
        • type: V

        Returns this is Context & {
            [P in "bro" as K]: ClassInstance<V>
        }

      • Parameters

        • name: string

        Returns boolean

      • Returns this is Context & {
            get interaction(): ChatInputCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): ContextMenuCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): AnySelectMenuInteraction;
        }

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • value: unknown
        • Rest...keys: string[]

        Returns boolean

      • Parameters

        • Rest...keys: string[]

        Returns boolean | any[]

      • Parameters

        • previous: object
        • Rest...args: string[]

        Returns undefined | object

      diff --git a/docs/classes/Database.html b/docs/classes/Database.html index db4563d..4bba53b 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      constructor +Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      Properties

      database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        +

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        Parameters

        • id: string

          The id of the giveaway to delete.

          -

        Returns Promise<DeleteResult>

      • Gets an existing giveaway.

        +

      Returns Promise<DeleteResult>

      • Saves a giveaway in the database.

        +

      Returns Promise<null | Giveaway>

      +

      Returns Promise<void>

      diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 25c8300..14952d0 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      constructor +ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      Properties

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      -
      targetVersions?: string[]

      Only the versions written here will be allowed

      -
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      +

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      +
      targetVersions?: string[]

      Only the versions written here will be allowed

      +
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index b611382..624210e 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      constructor +Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        -

        Parameters

        • member: GuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns null | Giveaway

      • Returns whether a member is eligible to enter this giveaway.

        +

        Parameters

        • member: GuildMember | APIInteractionGuildMember

          The guild member to check for requirements.

          +

        Returns boolean

      • Returns whether a user has entered this giveaway.

        Parameters

        • userID: string

          The user to check for.

          -

        Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | Giveaway

      diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 841b276..df4436e 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      constructor +GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      Properties

      Accessors

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      +

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index ff3247d..24e337a 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      constructor +GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      Properties

      Methods

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      +

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 235b36f..b450064 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      constructor +GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      Properties

      Accessors

      Methods

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      +

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 1e985c9..ba45fb7 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      +GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 6dd59d1..5030e72 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,17 +1,17 @@ -GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      constructor +GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      Methods

      Constructors

      Methods

      • Edits an existing giveaway.

        +

      Constructors

      Methods

      • Ends an existing giveaway.

        +

      Returns Promise<null | Giveaway>

      • Rerolls an existing giveaway.

        +

      Returns Promise<undefined | Giveaway>

      • Rerolls an existing giveaway.

        Parameters

        • id: string

          The id of the giveaway to reroll.

        • unique: boolean = false

          Whether to not include the previous winners.

        • Optionalamount: number

          The amount of new winners.

          -

        Returns Promise<undefined | Giveaway>

      +

      Returns Promise<undefined | Giveaway>

      diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index 06a6a3d..63811d0 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      constructor +MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      mongoId?: string

      The object id for MongoDB.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      mongoId?: string

      The object id for MongoDB.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        -

        Parameters

        • member: GuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns null | MongoGiveaway

      • Returns whether a member is eligible to enter this giveaway.

        +

        Parameters

        • member: GuildMember | APIInteractionGuildMember

          The guild member to check for requirements.

          +

        Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | MongoGiveaway

      diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 84ef6f8..4d34858 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      automod +IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      +

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index e7a26df..723dbdf 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      extras?: unknown

      Extras data

      keywords?: Record<string, string>

      The already existing variables defined with $let

      The context this code will run in

      -
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      +
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      The old and new states of an event

      -
      +
      diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index a29b0b7..2fa2c1c 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      audit +IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      +

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 1d1227a..b88ff4f 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,7 @@ -IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          useDefault?: boolean;
      }

      Properties

      events? +IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          startMessage?: string;
          useDefault?: boolean;
      }

      Properties

      events?: keyof IGiveawayEvents

      The giveaway events to use.

      -
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      -
      +
      startMessage?: string

      The code to use as start message for giveaways. Only works if default messages are disabled.

      +
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      +
      diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 0e7aa8a..55d1f2d 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID +IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index f6cdd30..b050e89 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,4 +1,4 @@ -IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayEntryRevoked: [Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect +IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayEntryRevoked: [Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayEntryRevoked: [Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      +

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayEntryRevoked: [Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index db89530..57c1fb4 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles? +IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      +

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 0521b3d..6548326 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID +IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index 488b5d3..2753000 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      +AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index b31b561..e062aae 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      +ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index 308dca6..60e8382 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      +ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index c72e5a4..1c80124 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      +IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      diff --git a/metadata/functions.json b/metadata/functions.json index 9887834..e334981 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$deleteGiveaway","description":"Deletes an existing giveaway from the database permanently","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to delete","rest":false,"required":true,"type":"String"}],"output":["Json"],"category":"database","version":"1.0.0"},{"name":"$getAllGiveaways","description":"Gets all existing giveaways from the database","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaways to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use for each property","rest":false,"type":"String"}],"output":["Json","Unknown[]"],"category":"database","version":"1.0.0"},{"name":"$getGiveaway","description":"Gets an existing giveaway from the database","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to get","rest":false,"required":true,"type":"String"},{"name":"property","description":"The property of the giveaway to return","rest":false,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Json","Unknown"],"category":"database","version":"1.0.0"},{"name":"$wipeGiveaways","description":"Wipes all existing giveaways from the database permanently, use with caution","unwrap":false,"category":"database","version":"1.0.0"},{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayExists","version":"1.0.0","description":"Returns whether a giveaway exists","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The id of the giveaway to check for","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayTimestamp","version":"1.0.0","description":"Returns the created timestamp of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$addRequiredRoles","version":"1.0.0","description":"Adds required roles to the current giveaway","aliases":["$addRequiredRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$addRestrictedMembers","version":"1.0.0","description":"Adds restricted members to the current giveaway","aliases":["$addRestrictedMember"],"unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$addRestrictedRoles","version":"1.0.0","description":"Adds restricted roles to the current giveaway","aliases":["$addRestrictedRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"},{"name":"unique","description":"Whether to not include the previous winners, defaults to false","rest":false,"type":"Boolean"},{"name":"amount","description":"The amount of new winners, defaults to max winners count","rest":false,"type":"Number"}],"output":["Boolean"],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Json","Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Json","Unknown"],"category":"state"}] \ No newline at end of file +[{"name":"$deleteGiveaway","version":"1.0.0","description":"Deletes an existing giveaway from the database permanently, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to delete","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"database"},{"name":"$getAllGiveaways","version":"1.0.0","description":"Gets all existing giveaways from the database","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaways to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use for each property","rest":false,"type":"String"}],"output":["Json","Unknown[]"],"category":"database"},{"name":"$getGiveaway","version":"1.0.0","description":"Gets an existing giveaway from the database","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to get","rest":false,"required":true,"type":"String"},{"name":"property","description":"The property of the giveaway to return","rest":false,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Json","Unknown"],"category":"database"},{"name":"$wipeGiveaways","version":"1.0.0","description":"Wipes all existing giveaways from the database permanently, use with caution","unwrap":false,"category":"database"},{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayExists","version":"1.0.0","description":"Returns whether a giveaway exists","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The id of the giveaway to check for","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayTimestamp","version":"1.0.0","description":"Returns the created timestamp of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$addRequiredRoles","version":"1.0.0","description":"Adds required roles to the current giveaway","aliases":["$addRequiredRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$addRestrictedMembers","version":"1.0.0","description":"Adds restricted members to the current giveaway","aliases":["$addRestrictedMember"],"unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$addRestrictedRoles","version":"1.0.0","description":"Adds restricted roles to the current giveaway","aliases":["$addRestrictedRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"},{"name":"unique","description":"Whether to not include the previous winners, defaults to false","rest":false,"type":"Boolean"},{"name":"amount","description":"The amount of new winners, defaults to max winners count","rest":false,"type":"Number"}],"output":["Boolean"],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Json","Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Json","Unknown"],"category":"state"}] \ No newline at end of file diff --git a/src/functions/error.ts b/src/functions/error.ts index 829f540..942541c 100644 --- a/src/functions/error.ts +++ b/src/functions/error.ts @@ -4,6 +4,8 @@ import { Snowflake } from "discord.js" export enum GiveawaysErrorType { MessageNotFound = `Could not find and update the message for giveaway with ID "$1"`, MessageNotDetermined = `Could not determine the messageID for giveaway with ID "$1", giveaway terminated`, + UnknownGiveaway = `Could not find the giveaway with ID "$1"`, + NoStartMessage = `No start message for giveaways has been configured, giveaway terminated`, } /** @@ -11,8 +13,8 @@ export enum GiveawaysErrorType { * @param type The error type to log. * @param id The id of the referenced giveaway. */ -export function throwGiveawaysError(type: GiveawaysErrorType, id: Snowflake) { +export function throwGiveawaysError(type: GiveawaysErrorType, id?: Snowflake) { const key = Object.keys(GiveawaysErrorType).find((x) => GiveawaysErrorType[x as keyof typeof GiveawaysErrorType] === type) - const message = type.replace(/\$(\d+)/g, () => id) + const message = type.replace(/\$(\d+)/g, () => id ?? "") Logger.error(`[ForgeGiveaways] ${key}: ${message}`) } \ No newline at end of file diff --git a/src/handlers/GiveawaysInteractionHandler.ts b/src/handlers/GiveawaysInteractionHandler.ts index 3eb402f..1454dd1 100644 --- a/src/handlers/GiveawaysInteractionHandler.ts +++ b/src/handlers/GiveawaysInteractionHandler.ts @@ -1,7 +1,9 @@ import { ForgeClient } from "@tryforge/forgescript" -import { GuildMember, MessageFlags } from "discord.js" +import { MessageFlags } from "discord.js" import { ForgeGiveaways } from ".." import { Database } from "../structures" +import { GiveawaysErrorType, throwGiveawaysError } from "../functions/error" +import noop from "../functions/noop" export class GiveawaysInteractionHandler { public constructor(private readonly client: ForgeClient) { @@ -10,33 +12,46 @@ export class GiveawaysInteractionHandler { private async _register() { this.client.on("interactionCreate", async (interaction) => { - if (!interaction.isButton() || !interaction.customId.startsWith("giveawayEntry-")) return - const [, id] = interaction.customId.split("-") + if (!interaction.isButton() || !interaction.inGuild()) return + + const [action, id] = interaction.customId.split("-") + if (action !== "giveawayEntry") return const client = this.client.getExtension(ForgeGiveaways, true) const giveaway = await Database.get(id) - if (!giveaway) return + if (!giveaway) { + throwGiveawaysError(GiveawaysErrorType.UnknownGiveaway, id) + return + } const member = interaction.member - if (!(member instanceof GuildMember && giveaway.canEnter(member))) return + + if (!giveaway.canEnter(member)) { + await interaction.reply({ + content: `You do not meet the requirements to enter this giveaway!`, + flags: MessageFlags.Ephemeral, + }).catch(noop) + client.emitter.emit("giveawayEntryRevoked", giveaway) + return + } const oldGiveaway = giveaway.clone() - const entered = giveaway.hasEntered(member.id) + const entered = giveaway.hasEntered(member.user.id) if (entered) { - giveaway.removeEntry(member.id) - await Database.set(giveaway) + giveaway.removeEntry(member.user.id) + await Database.set(giveaway).catch(noop) client.emitter.emit("giveawayEntryRemove", oldGiveaway, giveaway) } else { - giveaway.addEntry(member.id) - await Database.set(giveaway) + giveaway.addEntry(member.user.id) + await Database.set(giveaway).catch(noop) client.emitter.emit("giveawayEntryAdd", oldGiveaway, giveaway) } - interaction.reply({ - content: `You have successfully ${entered ? "left" : "entered"} the giveaway.`, + await interaction.reply({ + content: `You have successfully ${entered ? "left" : "joined"} this giveaway.`, flags: MessageFlags.Ephemeral, - }) + }).catch(noop) }) } } diff --git a/src/index.ts b/src/index.ts index 25d1ac3..149682e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -15,6 +15,11 @@ export interface IForgeGiveawaysOptions { * Whether to use the default giveaway messages. Defaults to `true`. */ useDefault?: boolean + + /** + * The code to use as start message for giveaways. Only works if default messages are disabled. + */ + startMessage?: string } export class ForgeGiveaways extends ForgeExtension { diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 143ec59..ec7d763 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -1,6 +1,6 @@ -import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, Snowflake, TextChannel, time } from "discord.js" -import { ForgeClient } from "@tryforge/forgescript" -import { Database, Giveaway, IGiveawayRequirements, MongoGiveaway } from "../structures" +import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, Message, Snowflake, TextChannel, time } from "discord.js" +import { Compiler, Context, ForgeClient, Interpreter } from "@tryforge/forgescript" +import { Database, IGiveawayRequirements } from "../structures" import { GiveawaysErrorType, throwGiveawaysError } from "../functions/error" import { ForgeGiveaways } from ".." import noop from "../functions/noop" @@ -30,9 +30,10 @@ export class GiveawaysManager { * @param options The start options for the giveaway. * @returns */ - public async start(options: IGiveawayStartOptions) { + public async start(ctx: Context, options: IGiveawayStartOptions) { const giveaway = new Database.entities.Giveaway(options) const chan = this.client.channels.cache.get(giveaway.channelID) as TextChannel | undefined + let msg: Message | undefined | void if (this.giveaways.options.useDefault) { const embed = new EmbedBuilder() @@ -52,26 +53,35 @@ export class GiveawaysManager { .setCustomId(`giveawayEntry-${giveaway.id}`) .setLabel("Join") .setEmoji("🎉") - .setStyle(ButtonStyle.Success), - new ButtonBuilder() - .setCustomId(`giveawayEnd-${giveaway.id}`) - .setLabel("End") - .setStyle(ButtonStyle.Danger) + .setStyle(ButtonStyle.Success) ) - const msg = await chan?.send({ + msg = await chan?.send({ embeds: [embed], components: [comps.toJSON()] }).catch(noop) + } else if (this.giveaways.options.startMessage) { + const result = await Interpreter.run({ + ...ctx.runtime, + environment: { giveaway }, + data: Compiler.compile(this.giveaways.options.startMessage), + allowTopLevelReturn: true, + doNotSend: true, + }) + + msg = await this._fetchMessage(giveaway.channelID, result?.trim()) + } else { + throwGiveawaysError(GiveawaysErrorType.NoStartMessage) + return + } - if (!msg) { - throwGiveawaysError(GiveawaysErrorType.MessageNotDetermined, giveaway.id) - return - } - - giveaway.messageID = msg.id + if (!msg) { + throwGiveawaysError(GiveawaysErrorType.MessageNotDetermined, giveaway.id) + return } + giveaway.messageID = msg.id + await Database.set(giveaway).catch(noop) this.giveaways.emitter.emit("giveawayStart", giveaway) setTimeout(async () => await this.end(giveaway.id).catch(noop), giveaway.duration) @@ -98,7 +108,7 @@ export class GiveawaysManager { giveaway.winners = winners if (this.giveaways.options.useDefault) { - const msg = await this._fetchMessage(giveaway) + const msg = await this._fetchMessage(giveaway.channelID, giveaway.messageID) if (msg) { const plural = winners.length === 1 ? "" : "s" @@ -115,18 +125,9 @@ export class GiveawaysManager { .setTimestamp(giveaway.timestamp) .setColor("Red") - const comps = new ActionRowBuilder() - .addComponents( - new ButtonBuilder() - .setCustomId(`giveawayReroll-${giveaway.id}`) - .setLabel("Reroll") - .setEmoji("🔁") - .setStyle(ButtonStyle.Primary), - ) - msg.edit({ embeds: [embed], - components: [comps.toJSON()] + components: [] }).catch(noop) msg.reply({ @@ -171,7 +172,7 @@ export class GiveawaysManager { giveaway.winners = newWinners if (this.giveaways.options.useDefault) { - const msg = await this._fetchMessage(giveaway) + const msg = await this._fetchMessage(giveaway.channelID, giveaway.messageID) if (msg) { const plural = newWinners.length === 1 ? "" : "s" @@ -211,7 +212,7 @@ export class GiveawaysManager { if (options.hostID) giveaway.hostID = options.hostID if (options.requirements) giveaway.requirements = options.requirements - if (this.giveaways.options.useDefault) {} + if (this.giveaways.options.useDefault) { } await Database.set(giveaway).catch(noop) this.giveaways.emitter.emit("giveawayEdit", oldGiveaway, giveaway) @@ -244,9 +245,10 @@ export class GiveawaysManager { * @param data The giveaway data to use. * @returns */ - private async _fetchMessage(data: Giveaway | MongoGiveaway) { - const chan = this.client.channels.cache.get(data.channelID) as TextChannel | undefined - return (data.messageID ? await chan?.messages.fetch(data.messageID).catch(noop) : undefined) + private async _fetchMessage(channelID: Snowflake, messageID?: Snowflake) { + if (!messageID) return + const chan = this.client.channels.cache.get(channelID) as TextChannel | undefined + return await chan?.messages.fetch(messageID).catch(() => {}) } /** diff --git a/src/native/database/deleteGiveaway.ts b/src/native/database/deleteGiveaway.ts index 9e42cec..77a2268 100644 --- a/src/native/database/deleteGiveaway.ts +++ b/src/native/database/deleteGiveaway.ts @@ -4,7 +4,7 @@ import { Database } from "../.." export default new NativeFunction({ name: "$deleteGiveaway", version: "1.0.0", - description: "Deletes an existing giveaway from the database permanently", + description: "Deletes an existing giveaway from the database permanently, returns bool", unwrap: true, brackets: true, args: [ @@ -16,9 +16,9 @@ export default new NativeFunction({ type: ArgType.String, }, ], - output: ArgType.Json, + output: ArgType.Boolean, async execute(ctx, [id]) { - const giveaway = await Database.delete(id) - return this.successJSON(giveaway) + const result = await Database.delete(id) + return this.success(result.affected === 1) } }) \ No newline at end of file diff --git a/src/native/manage/startGiveaway.ts b/src/native/manage/startGiveaway.ts index d071d93..3bae914 100644 --- a/src/native/manage/startGiveaway.ts +++ b/src/native/manage/startGiveaway.ts @@ -51,7 +51,7 @@ export default new NativeFunction({ async execute(ctx, [channel, host, prize, duration, winners]) { const client = ctx.client.getExtension(ForgeGiveaways, true) - const giveaway = await client.giveawaysManager.start({ + const giveaway = await client.giveawaysManager.start(ctx, { guildID: (channel as GuildBasedChannel).guildId, channelID: channel.id, hostID: host.id, diff --git a/src/structures/Giveaway.ts b/src/structures/Giveaway.ts index 76ff63b..6117370 100644 --- a/src/structures/Giveaway.ts +++ b/src/structures/Giveaway.ts @@ -1,4 +1,4 @@ -import { GuildMember, Snowflake, SnowflakeUtil } from "discord.js" +import { APIInteractionGuildMember, GuildMember, Snowflake, SnowflakeUtil } from "discord.js" import { IGiveawayStartOptions } from "../managers/GiveawaysManager" import { Column, Entity, ObjectIdColumn, PrimaryColumn } from "typeorm" @@ -150,12 +150,15 @@ export class Giveaway implements IGiveaway { * @param member The guild member to check for requirements. * @returns */ - public canEnter(member: GuildMember) { + public canEnter(member: GuildMember | APIInteractionGuildMember) { const req = this.requirements if (!req) return true - const hasRequiredRoles = req.requiredRoles?.every(r => member.roles.cache.has(r)) ?? true - const noRestrictedRoles = req.restrictedRoles?.every(r => !member.roles.cache.has(r)) ?? true - const notRestrictedMember = !req.restrictedMembers?.includes(member.id) + + const roles = member instanceof GuildMember ? member.roles.cache.map((x) => x.id) : member.roles + const hasRequiredRoles = req.requiredRoles?.every((r) => roles.includes(r)) ?? true + const noRestrictedRoles = req.restrictedRoles?.every((r) => !roles.includes(r)) ?? true + const notRestrictedMember = !req.restrictedMembers?.includes(member.user.id) + return hasRequiredRoles && noRestrictedRoles && notRestrictedMember } From 67e8dd67a655c9d19921e612d2d7e39de8c318b5 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Mon, 20 Oct 2025 16:38:34 +0200 Subject: [PATCH 69/87] Test fix --- dist/handlers/GiveawaysInteractionHandler.js | 4 +- .../GiveawaysInteractionHandler.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 3 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 6 +-- dist/managers/GiveawaysManager.js.map | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 12 ++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 8 ++-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- src/handlers/GiveawaysInteractionHandler.ts | 4 +- src/managers/GiveawaysManager.ts | 7 ++- 30 files changed, 108 insertions(+), 108 deletions(-) diff --git a/dist/handlers/GiveawaysInteractionHandler.js b/dist/handlers/GiveawaysInteractionHandler.js index ffb6f51..a733b47 100644 --- a/dist/handlers/GiveawaysInteractionHandler.js +++ b/dist/handlers/GiveawaysInteractionHandler.js @@ -31,7 +31,7 @@ class GiveawaysInteractionHandler { const member = interaction.member; if (!giveaway.canEnter(member)) { await interaction.reply({ - content: `You do not meet the requirements to enter this giveaway!`, + content: `❌ You do not meet the requirements to enter this giveaway!`, flags: discord_js_1.MessageFlags.Ephemeral, }).catch(noop_1.default); client.emitter.emit("giveawayEntryRevoked", giveaway); @@ -50,7 +50,7 @@ class GiveawaysInteractionHandler { client.emitter.emit("giveawayEntryAdd", oldGiveaway, giveaway); } await interaction.reply({ - content: `You have successfully ${entered ? "left" : "joined"} this giveaway.`, + content: `✅ You have successfully ${entered ? "left" : "joined"} this giveaway.`, flags: discord_js_1.MessageFlags.Ephemeral, }).catch(noop_1.default); }); diff --git a/dist/handlers/GiveawaysInteractionHandler.js.map b/dist/handlers/GiveawaysInteractionHandler.js.map index 27cfec6..4889c66 100644 --- a/dist/handlers/GiveawaysInteractionHandler.js.map +++ b/dist/handlers/GiveawaysInteractionHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":";;;;;;AACA,2CAAyC;AACzC,0BAAmC;AACnC,8CAAwC;AACxC,8CAA4E;AAC5E,6DAAoC;AAEpC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;gBAAE,OAAM;YAE7D,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpD,IAAI,MAAM,KAAK,eAAe;gBAAE,OAAM;YAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;gBAC3D,OAAM;YACV,CAAC;YAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YAEjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,WAAW,CAAC,KAAK,CAAC;oBACpB,OAAO,EAAE,0DAA0D;oBACnE,KAAK,EAAE,yBAAY,CAAC,SAAS;iBAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACd,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAA;gBACrD,OAAM;YACV,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEnD,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACpC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACjC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClE,CAAC;YAED,MAAM,WAAW,CAAC,KAAK,CAAC;gBACpB,OAAO,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,iBAAiB;gBAC9E,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAjDD,kEAiDC"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":";;;;;;AACA,2CAAyC;AACzC,0BAAmC;AACnC,8CAAwC;AACxC,8CAA4E;AAC5E,6DAAoC;AAEpC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;gBAAE,OAAM;YAE7D,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpD,IAAI,MAAM,KAAK,eAAe;gBAAE,OAAM;YAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;gBAC3D,OAAM;YACV,CAAC;YAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YAEjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,WAAW,CAAC,KAAK,CAAC;oBACpB,OAAO,EAAE,4DAA4D;oBACrE,KAAK,EAAE,yBAAY,CAAC,SAAS;iBAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACd,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAA;gBACrD,OAAM;YACV,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEnD,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACpC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACjC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClE,CAAC;YAED,MAAM,WAAW,CAAC,KAAK,CAAC;gBACpB,OAAO,EAAE,2BAA2B,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,iBAAiB;gBAChF,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAjDD,kEAiDC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index defca17..34d44fd 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -57,7 +57,8 @@ export declare class GiveawaysManager { private _parseMentions; /** * Fetches the message of a giveaway. - * @param data The giveaway data to use. + * @param channelID The id of the channel to pull message from. + * @param messageID The id of the message to fetch. * @returns */ private _fetchMessage; diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 14a2f24..59447d1 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuE,SAAS,EAAqB,MAAM,YAAY,CAAA;AAC9H,OAAO,EAAY,OAAO,EAAE,WAAW,EAAe,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA2D/D;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAyD9B;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM;IAsC3E;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;OAIG;YACW,aAAa;IAM3B;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuE,SAAS,EAAqB,MAAM,YAAY,CAAA;AAC9H,OAAO,EAAY,OAAO,EAAE,WAAW,EAAe,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IAyD/D;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAyD9B;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM;IAsC3E;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;YACW,aAAa;IAM3B;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index b5c7107..a769e0d 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -50,7 +50,6 @@ class GiveawaysManager { ...ctx.runtime, environment: { giveaway }, data: forgescript_1.Compiler.compile(this.giveaways.options.startMessage), - allowTopLevelReturn: true, doNotSend: true, }); msg = await this._fetchMessage(giveaway.channelID, result?.trim()); @@ -206,14 +205,15 @@ class GiveawaysManager { } /** * Fetches the message of a giveaway. - * @param data The giveaway data to use. + * @param channelID The id of the channel to pull message from. + * @param messageID The id of the message to fetch. * @returns */ async _fetchMessage(channelID, messageID) { if (!messageID) return; const chan = this.client.channels.cache.get(channelID); - return await chan?.messages.fetch(messageID).catch(() => { }); + return chan?.messages.cache.get(messageID) ?? await chan?.messages.fetch(messageID).catch(() => { }); } /** * Restores all active giveaways on startup. diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index ae3ff0c..2051548 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA8H;AAC9H,uDAAmF;AACnF,8CAA+D;AAC/D,8CAA4E;AAE5E,6DAAoC;AAcpC,MAAa,gBAAgB;IAEJ;IACA;IAFrB,YACqB,SAAyB,EACzB,MAAmB;QADnB,cAAS,GAAT,SAAS,CAAgB;QACzB,WAAM,GAAN,MAAM,CAAa;QAEpC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK,CAAC,GAAY,EAAE,OAA8B;QAC3D,MAAM,QAAQ,GAAG,IAAI,qBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAA;QAC1F,IAAI,GAA+B,CAAA;QAEnC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,yBAAY,EAAE;iBAC3B,QAAQ,CAAC,gBAAgB,CAAC;iBAC1B,cAAc,CAAC,iBAAiB,QAAQ,CAAC,KAAK,qBAAqB,QAAQ,CAAC,YAAY,EAAE,CAAC;iBAC3F,SAAS,CACN,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAI,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EACjG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,QAAQ,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CACtE;iBACA,SAAS,CAAC,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAC;iBACtD,YAAY,EAAE;iBACd,QAAQ,CAAC,OAAO,CAAC,CAAA;YAEtB,MAAM,KAAK,GAAG,IAAI,6BAAgB,EAAE;iBAC/B,aAAa,CACV,IAAI,0BAAa,EAAE;iBACd,WAAW,CAAC,iBAAiB,QAAQ,CAAC,EAAE,EAAE,CAAC;iBAC3C,QAAQ,CAAC,MAAM,CAAC;iBAChB,QAAQ,CAAC,IAAI,CAAC;iBACd,QAAQ,CAAC,wBAAW,CAAC,OAAO,CAAC,CACrC,CAAA;YAEL,GAAG,GAAG,MAAM,IAAI,EAAE,IAAI,CAAC;gBACnB,MAAM,EAAE,CAAC,KAAK,CAAC;gBACf,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC/B,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QAClB,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC;gBACjC,GAAG,GAAG,CAAC,OAAO;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC3D,mBAAmB,EAAE,IAAI;gBACzB,SAAS,EAAE,IAAI;aAClB,CAAC,CAAA;YAEF,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACtE,CAAC;aAAM,CAAC;YACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,cAAc,CAAC,CAAA;YACtD,OAAM;QACV,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;YACzE,OAAM;QACV,CAAC;QAED,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;QAE3B,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;QACtD,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAElF,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG,CAAC,EAAa;QAC1B,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAM;QAC1C,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAA;QAExB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC5D,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC1C,OAAO,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QACzE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;QAE1B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;YAE5E,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;gBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;gBAE7C,MAAM,KAAK,GAAG,IAAI,yBAAY,EAAE;qBAC3B,QAAQ,CAAC,sBAAsB,CAAC;qBAChC,cAAc,CAAC,iBAAiB,QAAQ,CAAC,KAAK,gBAAgB,MAAM,OAAO,QAAQ,IAAI,MAAM,2BAA2B,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;qBAClJ,SAAS,CACN,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAI,EAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAClE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,QAAQ,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CACtE;qBACA,SAAS,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;qBAChD,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;qBAChC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAEpB,GAAG,CAAC,IAAI,CAAC;oBACL,MAAM,EAAE,CAAC,KAAK,CAAC;oBACf,UAAU,EAAE,EAAE;iBACjB,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBAEd,GAAG,CAAC,KAAK,CAAC;oBACN,OAAO,EAAE,OAAO,CAAC,MAAM;wBACnB,CAAC,CAAC,mCAAmC,MAAM,SAAS,QAAQ,CAAC,KAAK,mBAAmB,MAAM,OAAO,QAAQ,EAAE;wBAC5G,CAAC,CAAC,kCAAkC;oBACxC,eAAe,EAAE;wBACb,WAAW,EAAE,KAAK;wBAClB,KAAK,EAAE,CAAC,OAAO,CAAC;qBACnB;iBACJ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAClB,CAAC;iBAAM,CAAC;gBACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;gBACpE,OAAM;YACV,CAAC;QACL,CAAC;QAED,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAEpD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAAC,EAAa,EAAE,SAAkB,KAAK,EAAE,MAAe;QACvE,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM;YAAE,OAAM;QACvE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QACpC,MAAM,KAAK,QAAQ,CAAC,YAAY,CAAA;QAEhC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAA;QACrC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACtF,IAAI,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;QAE3D,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACvE,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAA;QAE7B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;YAE5E,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;gBAEjD,GAAG,CAAC,KAAK,CAAC;oBACN,OAAO,EAAE,0DAA0D,MAAM,qBAAqB,MAAM,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;oBAC5I,eAAe,EAAE;wBACb,WAAW,EAAE,KAAK;wBAClB,KAAK,EAAE,CAAC,OAAO,CAAC;qBACnB;iBACJ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAClB,CAAC;iBAAM,CAAC;gBACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;gBACpE,OAAM;YACV,CAAC;QACL,CAAC;QAED,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAEpE,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CAAC,EAAa,EAAE,OAA6B;QAC1D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QAEpC,IAAI,OAAO,CAAC,KAAK;YAAE,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QACjD,IAAI,OAAO,CAAC,QAAQ;YAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAC1D,IAAI,OAAO,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACtE,IAAI,OAAO,CAAC,MAAM;YAAE,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QACpD,IAAI,OAAO,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QAEtE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAE1C,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAElE,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAAC,OAAoB,EAAE,MAAc;QACrD,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;QAC7D,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,OAAoB;QACvC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrD,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,aAAa,CAAC,SAAoB,EAAE,SAAqB;QACnE,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAA4B,CAAA;QACjF,OAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAChE,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB;QAC3B,MAAM,SAAS,GAAG,MAAM,qBAAQ,CAAC,MAAM,EAAE,CAAA;QACzC,IAAI,CAAC,SAAS;YAAE,OAAM;QAEtB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,QAAQ,CAAC,QAAQ;gBAAE,SAAQ;YAE/B,IAAI,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC1B,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxF,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAC3C,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AA5PD,4CA4PC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 0bec40e..0fa21c9 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      constructor +Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        +

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        Parameters

        • Optionalprops: Partial<IRunnable>
        • OptionalsyncVars: boolean

        Returns Context

      • Returns Context

      • Returns IRunnable

      • Parameters

        • name: string

        Returns boolean

      • Parameters

        • name: string

        Returns boolean

      • Fetches all emojis of the application.

        Parameters

        • Optionalonce: boolean

          Whether to fetch only when the collection is empty.

        Returns Promise<void | Collection<string, ApplicationEmoji>>

      • Type Parameters

        • T

        Parameters

        • key: PropertyKey

        Returns T

      • Type Parameters

        • T extends ClassType

        Parameters

        • type: T
        • Rest...keys: string[]

        Returns null | ClassInstance<T>

      • Parameters

        • Rest...args: string[]

        Returns undefined | object

      • Type Parameters

        • K extends string
        • T extends ClassType

        Parameters

        • key: K
        • type: T

        Returns null | (Context & {
            [P in "bro" as K]: ClassInstance<T>
        })[K]

      • Parameters

        • name: string

        Returns unknown

      • Type Parameters

        • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
        • Unwrap extends boolean

        Parameters

        Returns Promise<Return<ReturnType>>

      • Parameters

        • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
        • rt: Return<ReturnType>

        Returns boolean

      • Returns undefined | boolean

      • Type Parameters

        • K extends string
        • V extends ClassType

        Parameters

        • key: K
        • type: V

        Returns this is Context & {
            [P in "bro" as K]: ClassInstance<V>
        }

      • Parameters

        • name: string

        Returns boolean

      • Returns this is Context & {
            get interaction(): ChatInputCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): ContextMenuCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): AnySelectMenuInteraction;
        }

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • value: unknown
        • Rest...keys: string[]

        Returns boolean

      • Parameters

        • Rest...keys: string[]

        Returns boolean | any[]

      • Parameters

        • previous: object
        • Rest...args: string[]

        Returns undefined | object

      diff --git a/docs/classes/Database.html b/docs/classes/Database.html index 4bba53b..ce65079 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      constructor +Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      Properties

      database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        +

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        Parameters

        • id: string

          The id of the giveaway to delete.

          -

        Returns Promise<DeleteResult>

      • Gets an existing giveaway.

        +

      Returns Promise<DeleteResult>

      • Saves a giveaway in the database.

        +

      Returns Promise<null | Giveaway>

      +

      Returns Promise<void>

      diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 14952d0..d251965 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      constructor +ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      Properties

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      -
      targetVersions?: string[]

      Only the versions written here will be allowed

      -
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      +

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      +
      targetVersions?: string[]

      Only the versions written here will be allowed

      +
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index 624210e..73f47b9 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      constructor +Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | Giveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember | APIInteractionGuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Returns whether a user has entered this giveaway.

        Parameters

        • userID: string

          The user to check for.

          -

        Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | Giveaway

      diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index df4436e..bbba326 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      constructor +GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      Properties

      Accessors

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      +

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 24e337a..36ea131 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      constructor +GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      Properties

      Methods

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      +

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index b450064..47a8b86 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      constructor +GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      Properties

      Accessors

      Methods

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      +

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index ba45fb7..1f65a6c 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      +GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 5030e72..2fcd99b 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,17 +1,17 @@ -GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      constructor +GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      Methods

      Constructors

      Methods

      • Edits an existing giveaway.

        +

      Constructors

      Methods

      • Ends an existing giveaway.

        +

      Returns Promise<null | Giveaway>

      • Rerolls an existing giveaway.

        +

      Returns Promise<undefined | Giveaway>

      • Rerolls an existing giveaway.

        Parameters

        • id: string

          The id of the giveaway to reroll.

        • unique: boolean = false

          Whether to not include the previous winners.

        • Optionalamount: number

          The amount of new winners.

          -

        Returns Promise<undefined | Giveaway>

      • Starts a new giveaway on a guild.

        +

      Returns Promise<undefined | Giveaway>

      +

      Returns Promise<undefined | Giveaway>

      diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index 63811d0..78b81e9 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      constructor +MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      mongoId?: string

      The object id for MongoDB.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      mongoId?: string

      The object id for MongoDB.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | MongoGiveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember | APIInteractionGuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | MongoGiveaway

      diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 4d34858..599feb7 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      automod +IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      +

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index 723dbdf..323e5a9 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      extras?: unknown

      Extras data

      keywords?: Record<string, string>

      The already existing variables defined with $let

      The context this code will run in

      -
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      +
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      The old and new states of an event

      -
      +
      diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index 2fa2c1c..40c7525 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      audit +IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      +

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index b88ff4f..5d7a81b 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,7 +1,7 @@ -IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          startMessage?: string;
          useDefault?: boolean;
      }

      Properties

      events? +IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          startMessage?: string;
          useDefault?: boolean;
      }

      Properties

      events?: keyof IGiveawayEvents

      The giveaway events to use.

      -
      startMessage?: string

      The code to use as start message for giveaways. Only works if default messages are disabled.

      -
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      -
      +
      startMessage?: string

      The code to use as start message for giveaways. Only works if default messages are disabled.

      +
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      +
      diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 55d1f2d..fd63498 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID +IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index b050e89..031fe4f 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,4 +1,4 @@ -IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayEntryRevoked: [Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect +IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayEntryRevoked: [Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayEntryRevoked: [Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      +

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayEntryRevoked: [Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index 57c1fb4..f9a0b85 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles? +IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      +

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 6548326..2c1ca94 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID +IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index 2753000..d2c5149 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      +AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index e062aae..5827a53 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      +ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index 60e8382..619c1e1 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      +ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 1c80124..d15cf40 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      +IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      diff --git a/src/handlers/GiveawaysInteractionHandler.ts b/src/handlers/GiveawaysInteractionHandler.ts index 1454dd1..d42aab4 100644 --- a/src/handlers/GiveawaysInteractionHandler.ts +++ b/src/handlers/GiveawaysInteractionHandler.ts @@ -28,7 +28,7 @@ export class GiveawaysInteractionHandler { if (!giveaway.canEnter(member)) { await interaction.reply({ - content: `You do not meet the requirements to enter this giveaway!`, + content: `❌ You do not meet the requirements to enter this giveaway!`, flags: MessageFlags.Ephemeral, }).catch(noop) client.emitter.emit("giveawayEntryRevoked", giveaway) @@ -49,7 +49,7 @@ export class GiveawaysInteractionHandler { } await interaction.reply({ - content: `You have successfully ${entered ? "left" : "joined"} this giveaway.`, + content: `✅ You have successfully ${entered ? "left" : "joined"} this giveaway.`, flags: MessageFlags.Ephemeral, }).catch(noop) }) diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index ec7d763..a4ed141 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -65,7 +65,6 @@ export class GiveawaysManager { ...ctx.runtime, environment: { giveaway }, data: Compiler.compile(this.giveaways.options.startMessage), - allowTopLevelReturn: true, doNotSend: true, }) @@ -79,7 +78,6 @@ export class GiveawaysManager { throwGiveawaysError(GiveawaysErrorType.MessageNotDetermined, giveaway.id) return } - giveaway.messageID = msg.id await Database.set(giveaway).catch(noop) @@ -242,13 +240,14 @@ export class GiveawaysManager { /** * Fetches the message of a giveaway. - * @param data The giveaway data to use. + * @param channelID The id of the channel to pull message from. + * @param messageID The id of the message to fetch. * @returns */ private async _fetchMessage(channelID: Snowflake, messageID?: Snowflake) { if (!messageID) return const chan = this.client.channels.cache.get(channelID) as TextChannel | undefined - return await chan?.messages.fetch(messageID).catch(() => {}) + return chan?.messages.cache.get(messageID) ?? await chan?.messages.fetch(messageID).catch(() => {}) } /** From 90b54ede3f9b928eb2ef4e91f0bc81f67e59b0b7 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Mon, 20 Oct 2025 16:43:58 +0200 Subject: [PATCH 70/87] Debug logs --- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 5 ++- dist/managers/GiveawaysManager.js.map | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 12 ++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 8 ++-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- src/managers/GiveawaysManager.ts | 5 ++- 26 files changed, 101 insertions(+), 99 deletions(-) diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 59447d1..4043c56 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuE,SAAS,EAAqB,MAAM,YAAY,CAAA;AAC9H,OAAO,EAAY,OAAO,EAAE,WAAW,EAAe,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IAyD/D;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAyD9B;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM;IAsC3E;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;YACW,aAAa;IAM3B;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuE,SAAS,EAAqB,MAAM,YAAY,CAAA;AAC9H,OAAO,EAAY,OAAO,EAAE,WAAW,EAAe,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA0D/D;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAyD9B;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM;IAsC3E;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;YACW,aAAa;IAM3B;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index a769e0d..52894f6 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -50,9 +50,10 @@ class GiveawaysManager { ...ctx.runtime, environment: { giveaway }, data: forgescript_1.Compiler.compile(this.giveaways.options.startMessage), - doNotSend: true, }); - msg = await this._fetchMessage(giveaway.channelID, result?.trim()); + const res = result?.trim(); + console.log(res); + msg = await this._fetchMessage(giveaway.channelID, res); } else { (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.NoStartMessage); diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 2051548..51cd067 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA8H;AAC9H,uDAAmF;AACnF,8CAA+D;AAC/D,8CAA4E;AAE5E,6DAAoC;AAcpC,MAAa,gBAAgB;IAEJ;IACA;IAFrB,YACqB,SAAyB,EACzB,MAAmB;QADnB,cAAS,GAAT,SAAS,CAAgB;QACzB,WAAM,GAAN,MAAM,CAAa;QAEpC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK,CAAC,GAAY,EAAE,OAA8B;QAC3D,MAAM,QAAQ,GAAG,IAAI,qBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAA;QAC1F,IAAI,GAA+B,CAAA;QAEnC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,yBAAY,EAAE;iBAC3B,QAAQ,CAAC,gBAAgB,CAAC;iBAC1B,cAAc,CAAC,iBAAiB,QAAQ,CAAC,KAAK,qBAAqB,QAAQ,CAAC,YAAY,EAAE,CAAC;iBAC3F,SAAS,CACN,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAI,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EACjG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,QAAQ,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CACtE;iBACA,SAAS,CAAC,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAC;iBACtD,YAAY,EAAE;iBACd,QAAQ,CAAC,OAAO,CAAC,CAAA;YAEtB,MAAM,KAAK,GAAG,IAAI,6BAAgB,EAAE;iBAC/B,aAAa,CACV,IAAI,0BAAa,EAAE;iBACd,WAAW,CAAC,iBAAiB,QAAQ,CAAC,EAAE,EAAE,CAAC;iBAC3C,QAAQ,CAAC,MAAM,CAAC;iBAChB,QAAQ,CAAC,IAAI,CAAC;iBACd,QAAQ,CAAC,wBAAW,CAAC,OAAO,CAAC,CACrC,CAAA;YAEL,GAAG,GAAG,MAAM,IAAI,EAAE,IAAI,CAAC;gBACnB,MAAM,EAAE,CAAC,KAAK,CAAC;gBACf,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC/B,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QAClB,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC;gBACjC,GAAG,GAAG,CAAC,OAAO;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,sBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;aAC9D,CAAC,CAAA;YAEF,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;YAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChB,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QAC3D,CAAC;aAAM,CAAC;YACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,cAAc,CAAC,CAAA;YACtD,OAAM;QACV,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;YACzE,OAAM;QACV,CAAC;QACD,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;QAE3B,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;QACtD,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAElF,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG,CAAC,EAAa;QAC1B,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAM;QAC1C,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAA;QAExB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC5D,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC1C,OAAO,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QACzE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;QAE1B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;YAE5E,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;gBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;gBAE7C,MAAM,KAAK,GAAG,IAAI,yBAAY,EAAE;qBAC3B,QAAQ,CAAC,sBAAsB,CAAC;qBAChC,cAAc,CAAC,iBAAiB,QAAQ,CAAC,KAAK,gBAAgB,MAAM,OAAO,QAAQ,IAAI,MAAM,2BAA2B,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;qBAClJ,SAAS,CACN,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAI,EAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAClE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,QAAQ,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CACtE;qBACA,SAAS,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;qBAChD,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;qBAChC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAEpB,GAAG,CAAC,IAAI,CAAC;oBACL,MAAM,EAAE,CAAC,KAAK,CAAC;oBACf,UAAU,EAAE,EAAE;iBACjB,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBAEd,GAAG,CAAC,KAAK,CAAC;oBACN,OAAO,EAAE,OAAO,CAAC,MAAM;wBACnB,CAAC,CAAC,mCAAmC,MAAM,SAAS,QAAQ,CAAC,KAAK,mBAAmB,MAAM,OAAO,QAAQ,EAAE;wBAC5G,CAAC,CAAC,kCAAkC;oBACxC,eAAe,EAAE;wBACb,WAAW,EAAE,KAAK;wBAClB,KAAK,EAAE,CAAC,OAAO,CAAC;qBACnB;iBACJ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAClB,CAAC;iBAAM,CAAC;gBACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;gBACpE,OAAM;YACV,CAAC;QACL,CAAC;QAED,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAEpD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAAC,EAAa,EAAE,SAAkB,KAAK,EAAE,MAAe;QACvE,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM;YAAE,OAAM;QACvE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QACpC,MAAM,KAAK,QAAQ,CAAC,YAAY,CAAA;QAEhC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAA;QACrC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACtF,IAAI,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;QAE3D,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACvE,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAA;QAE7B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;YAE5E,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;gBAEjD,GAAG,CAAC,KAAK,CAAC;oBACN,OAAO,EAAE,0DAA0D,MAAM,qBAAqB,MAAM,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;oBAC5I,eAAe,EAAE;wBACb,WAAW,EAAE,KAAK;wBAClB,KAAK,EAAE,CAAC,OAAO,CAAC;qBACnB;iBACJ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAClB,CAAC;iBAAM,CAAC;gBACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;gBACpE,OAAM;YACV,CAAC;QACL,CAAC;QAED,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAEpE,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CAAC,EAAa,EAAE,OAA6B;QAC1D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;QAEpC,IAAI,OAAO,CAAC,KAAK;YAAE,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QACjD,IAAI,OAAO,CAAC,QAAQ;YAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAC1D,IAAI,OAAO,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACtE,IAAI,OAAO,CAAC,MAAM;YAAE,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QACpD,IAAI,OAAO,CAAC,YAAY;YAAE,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QAEtE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAE1C,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAElE,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAAC,OAAoB,EAAE,MAAc;QACrD,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;QAC7D,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,OAAoB;QACvC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrD,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,aAAa,CAAC,SAAoB,EAAE,SAAqB;QACnE,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAA4B,CAAA;QACjF,OAAO,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,MAAM,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACvG,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB;QAC3B,MAAM,SAAS,GAAG,MAAM,qBAAQ,CAAC,MAAM,EAAE,CAAA;QACzC,IAAI,CAAC,SAAS;YAAE,OAAM;QAEtB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,QAAQ,CAAC,QAAQ;gBAAE,SAAQ;YAE/B,IAAI,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC1B,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxF,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAC3C,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AA5PD,4CA4PC"} \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 0fa21c9..2e2944d 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      constructor +Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        +

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        Parameters

        • Optionalprops: Partial<IRunnable>
        • OptionalsyncVars: boolean

        Returns Context

      • Returns Context

      • Returns IRunnable

      • Parameters

        • name: string

        Returns boolean

      • Parameters

        • name: string

        Returns boolean

      • Fetches all emojis of the application.

        Parameters

        • Optionalonce: boolean

          Whether to fetch only when the collection is empty.

        Returns Promise<void | Collection<string, ApplicationEmoji>>

      • Type Parameters

        • T

        Parameters

        • key: PropertyKey

        Returns T

      • Type Parameters

        • T extends ClassType

        Parameters

        • type: T
        • Rest...keys: string[]

        Returns null | ClassInstance<T>

      • Parameters

        • Rest...args: string[]

        Returns undefined | object

      • Type Parameters

        • K extends string
        • T extends ClassType

        Parameters

        • key: K
        • type: T

        Returns null | (Context & {
            [P in "bro" as K]: ClassInstance<T>
        })[K]

      • Parameters

        • name: string

        Returns unknown

      • Type Parameters

        • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
        • Unwrap extends boolean

        Parameters

        Returns Promise<Return<ReturnType>>

      • Parameters

        • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
        • rt: Return<ReturnType>

        Returns boolean

      • Returns undefined | boolean

      • Type Parameters

        • K extends string
        • V extends ClassType

        Parameters

        • key: K
        • type: V

        Returns this is Context & {
            [P in "bro" as K]: ClassInstance<V>
        }

      • Parameters

        • name: string

        Returns boolean

      • Returns this is Context & {
            get interaction(): ChatInputCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): ContextMenuCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): AnySelectMenuInteraction;
        }

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • value: unknown
        • Rest...keys: string[]

        Returns boolean

      • Parameters

        • Rest...keys: string[]

        Returns boolean | any[]

      • Parameters

        • previous: object
        • Rest...args: string[]

        Returns undefined | object

      diff --git a/docs/classes/Database.html b/docs/classes/Database.html index ce65079..ae8dca7 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      constructor +Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      Properties

      database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        +

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        Parameters

        • id: string

          The id of the giveaway to delete.

          -

        Returns Promise<DeleteResult>

      • Gets an existing giveaway.

        +

      Returns Promise<DeleteResult>

      • Saves a giveaway in the database.

        +

      Returns Promise<null | Giveaway>

      +

      Returns Promise<void>

      diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index d251965..3a4d912 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      constructor +ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      Properties

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      -
      targetVersions?: string[]

      Only the versions written here will be allowed

      -
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      +

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      +
      targetVersions?: string[]

      Only the versions written here will be allowed

      +
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index 73f47b9..a00092a 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      constructor +Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | Giveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember | APIInteractionGuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Returns whether a user has entered this giveaway.

        Parameters

        • userID: string

          The user to check for.

          -

        Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | Giveaway

      diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index bbba326..3d7b850 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      constructor +GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      Properties

      Accessors

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      +

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 36ea131..c001437 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      constructor +GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      Properties

      Methods

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      +

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 47a8b86..10f3095 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      constructor +GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      Properties

      Accessors

      Methods

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      +

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 1f65a6c..f894c8d 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      +GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 2fcd99b..2e90319 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,17 +1,17 @@ -GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      constructor +GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      Methods

      Constructors

      Methods

      • Edits an existing giveaway.

        +

      Constructors

      Methods

      • Ends an existing giveaway.

        +

      Returns Promise<null | Giveaway>

      • Rerolls an existing giveaway.

        +

      Returns Promise<undefined | Giveaway>

      • Rerolls an existing giveaway.

        Parameters

        • id: string

          The id of the giveaway to reroll.

        • unique: boolean = false

          Whether to not include the previous winners.

        • Optionalamount: number

          The amount of new winners.

          -

        Returns Promise<undefined | Giveaway>

      • Starts a new giveaway on a guild.

        +

      Returns Promise<undefined | Giveaway>

      +

      Returns Promise<undefined | Giveaway>

      diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index 78b81e9..ab25b29 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      constructor +MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      mongoId?: string

      The object id for MongoDB.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      mongoId?: string

      The object id for MongoDB.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | MongoGiveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember | APIInteractionGuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | MongoGiveaway

      diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 599feb7..88255e1 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      automod +IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      +

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index 323e5a9..75cf00c 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      extras?: unknown

      Extras data

      keywords?: Record<string, string>

      The already existing variables defined with $let

      The context this code will run in

      -
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      +
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      The old and new states of an event

      -
      +
      diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index 40c7525..549ffba 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      audit +IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      +

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 5d7a81b..aa74595 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,7 +1,7 @@ -IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          startMessage?: string;
          useDefault?: boolean;
      }

      Properties

      events? +IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          startMessage?: string;
          useDefault?: boolean;
      }

      Properties

      events?: keyof IGiveawayEvents

      The giveaway events to use.

      -
      startMessage?: string

      The code to use as start message for giveaways. Only works if default messages are disabled.

      -
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      -
      +
      startMessage?: string

      The code to use as start message for giveaways. Only works if default messages are disabled.

      +
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      +
      diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index fd63498..3c072d4 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID +IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 031fe4f..5358960 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,4 +1,4 @@ -IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayEntryRevoked: [Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect +IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayEntryRevoked: [Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayEntryRevoked: [Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      +

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayEntryRevoked: [Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index f9a0b85..705a73b 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles? +IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      +

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 2c1ca94..82d8a58 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID +IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index d2c5149..06881ab 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      +AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index 5827a53..10f8f56 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      +ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index 619c1e1..78637b9 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      +ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index d15cf40..683d735 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      +IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index a4ed141..72a9499 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -65,10 +65,11 @@ export class GiveawaysManager { ...ctx.runtime, environment: { giveaway }, data: Compiler.compile(this.giveaways.options.startMessage), - doNotSend: true, }) - msg = await this._fetchMessage(giveaway.channelID, result?.trim()) + const res = result?.trim() + console.log(res) + msg = await this._fetchMessage(giveaway.channelID, res) } else { throwGiveawaysError(GiveawaysErrorType.NoStartMessage) return From 37b5be0d3923be7ad66d5ac98c076fce972c774a Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Mon, 20 Oct 2025 16:53:39 +0200 Subject: [PATCH 71/87] Use cloned context --- dist/managers/GiveawaysManager.js | 6 +-- dist/managers/GiveawaysManager.js.map | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 12 ++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 8 ++-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- src/managers/GiveawaysManager.ts | 6 +-- 25 files changed, 100 insertions(+), 100 deletions(-) diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 52894f6..530b306 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -46,11 +46,11 @@ class GiveawaysManager { }).catch(noop_1.default); } else if (this.giveaways.options.startMessage) { - const result = await forgescript_1.Interpreter.run({ - ...ctx.runtime, + const result = await forgescript_1.Interpreter.run(ctx.clone({ environment: { giveaway }, data: forgescript_1.Compiler.compile(this.giveaways.options.startMessage), - }); + doNotSend: true, + })); const res = result?.trim(); console.log(res); msg = await this._fetchMessage(giveaway.channelID, res); diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 51cd067..16f7870 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 2e2944d..5b65bfa 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      constructor +Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        +

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        Parameters

        • Optionalprops: Partial<IRunnable>
        • OptionalsyncVars: boolean

        Returns Context

      • Returns Context

      • Returns IRunnable

      • Parameters

        • name: string

        Returns boolean

      • Parameters

        • name: string

        Returns boolean

      • Fetches all emojis of the application.

        Parameters

        • Optionalonce: boolean

          Whether to fetch only when the collection is empty.

        Returns Promise<void | Collection<string, ApplicationEmoji>>

      • Type Parameters

        • T

        Parameters

        • key: PropertyKey

        Returns T

      • Type Parameters

        • T extends ClassType

        Parameters

        • type: T
        • Rest...keys: string[]

        Returns null | ClassInstance<T>

      • Parameters

        • Rest...args: string[]

        Returns undefined | object

      • Type Parameters

        • K extends string
        • T extends ClassType

        Parameters

        • key: K
        • type: T

        Returns null | (Context & {
            [P in "bro" as K]: ClassInstance<T>
        })[K]

      • Parameters

        • name: string

        Returns unknown

      • Type Parameters

        • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
        • Unwrap extends boolean

        Parameters

        Returns Promise<Return<ReturnType>>

      • Parameters

        • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
        • rt: Return<ReturnType>

        Returns boolean

      • Returns undefined | boolean

      • Type Parameters

        • K extends string
        • V extends ClassType

        Parameters

        • key: K
        • type: V

        Returns this is Context & {
            [P in "bro" as K]: ClassInstance<V>
        }

      • Parameters

        • name: string

        Returns boolean

      • Returns this is Context & {
            get interaction(): ChatInputCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): ContextMenuCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): AnySelectMenuInteraction;
        }

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • value: unknown
        • Rest...keys: string[]

        Returns boolean

      • Parameters

        • Rest...keys: string[]

        Returns boolean | any[]

      • Parameters

        • previous: object
        • Rest...args: string[]

        Returns undefined | object

      diff --git a/docs/classes/Database.html b/docs/classes/Database.html index ae8dca7..3c17a44 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      constructor +Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      Properties

      database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        +

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        Parameters

        • id: string

          The id of the giveaway to delete.

          -

        Returns Promise<DeleteResult>

      • Gets an existing giveaway.

        +

      Returns Promise<DeleteResult>

      • Saves a giveaway in the database.

        +

      Returns Promise<null | Giveaway>

      +

      Returns Promise<void>

      diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 3a4d912..83e6e96 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      constructor +ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      Properties

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      -
      targetVersions?: string[]

      Only the versions written here will be allowed

      -
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      +

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      +
      targetVersions?: string[]

      Only the versions written here will be allowed

      +
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index a00092a..b56d633 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      constructor +Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | Giveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember | APIInteractionGuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Returns whether a user has entered this giveaway.

        Parameters

        • userID: string

          The user to check for.

          -

        Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | Giveaway

      diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 3d7b850..de68bcf 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      constructor +GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      Properties

      Accessors

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      +

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index c001437..b0ad963 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      constructor +GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      Properties

      Methods

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      +

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 10f3095..0c0e709 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      constructor +GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      Properties

      Accessors

      Methods

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      +

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index f894c8d..8fe16a3 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      +GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 2e90319..302a826 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,17 +1,17 @@ -GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      constructor +GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      Methods

      Constructors

      Methods

      • Edits an existing giveaway.

        +

      Constructors

      Methods

      • Ends an existing giveaway.

        +

      Returns Promise<null | Giveaway>

      • Rerolls an existing giveaway.

        +

      Returns Promise<undefined | Giveaway>

      • Rerolls an existing giveaway.

        Parameters

        • id: string

          The id of the giveaway to reroll.

        • unique: boolean = false

          Whether to not include the previous winners.

        • Optionalamount: number

          The amount of new winners.

          -

        Returns Promise<undefined | Giveaway>

      • Starts a new giveaway on a guild.

        +

      Returns Promise<undefined | Giveaway>

      +

      Returns Promise<undefined | Giveaway>

      diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index ab25b29..aea1502 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      constructor +MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      mongoId?: string

      The object id for MongoDB.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      mongoId?: string

      The object id for MongoDB.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | MongoGiveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember | APIInteractionGuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | MongoGiveaway

      diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 88255e1..fe91dcd 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      automod +IExtendedContextCache | forge.giveaways

      Interface IExtendedContextCache

      interface IExtendedContextCache {
          automod: null | AutoModerationActionExecution;
          channel: null | BaseChannel;
          emoji: null | Emoji;
          entitlement: null | Entitlement;
          giveaway: null | Giveaway;
          guild: null | Guild;
          interaction: null | Interaction;
          member: null | GuildMember;
          message: null | Message<boolean>;
          reaction: null | MessageReaction;
          role: null | Role;
          sound: null | SoundboardSound;
          sticker: null | Sticker;
          subscription: null | Subscription;
          user: null | User;
      }

      Hierarchy

      • IContextCache
        • IExtendedContextCache

      Properties

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      +

      Properties

      automod: null | AutoModerationActionExecution
      channel: null | BaseChannel
      emoji: null | Emoji
      entitlement: null | Entitlement
      giveaway: null | Giveaway
      guild: null | Guild
      interaction: null | Interaction
      member: null | GuildMember
      message: null | Message<boolean>
      reaction: null | MessageReaction
      role: null | Role
      sound: null | SoundboardSound
      sticker: null | Sticker
      subscription: null | Subscription
      user: null | User
      diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index 75cf00c..2752a83 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

      Interface IExtendedRunnable

      interface IExtendedRunnable {
          allowTopLevelReturn?: boolean;
          args?: string[];
          client: ForgeClient;
          command: null | BaseCommand<unknown>;
          container?: Container;
          data: IExtendedCompilationResult;
          disableConsoleErrors?: boolean;
          doNotSend?: boolean;
          environment?: Record<string, unknown>;
          extras?: unknown;
          keywords?: Record<string, string>;
          obj: ExtendedSendable;
          redirectErrorsToConsole?: boolean;
          states?: ExtendedStates;
      }

      Hierarchy

      • IRunnable
        • IExtendedRunnable

      Properties

      extras?: unknown

      Extras data

      keywords?: Record<string, string>

      The already existing variables defined with $let

      The context this code will run in

      -
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      +
      redirectErrorsToConsole?: boolean

      Whether to suppress errors from being sent to discord, and be sent to console instead

      The old and new states of an event

      -
      +
      diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index 549ffba..dfa7c1f 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      audit +IExtendedStates | forge.giveaways

      Interface IExtendedStates

      interface IExtendedStates {
          audit: GuildAuditLogsEntry<AuditLogEvent,
              | "Update"
              | "Create"
              | "Delete"
              | "All",
              | "Guild"
              | "Channel"
              | "User"
              | "Role"
              | "Invite"
              | "Webhook"
              | "Emoji"
              | "Message"
              | "Integration"
              | "StageInstance"
              | "Sticker"
              | "GuildScheduledEvent"
              | "Thread"
              | "ApplicationCommand"
              | "SoundboardSound"
              | "AutoModeration"
              | "GuildOnboardingPrompt"
              | "GuildOnboarding"
              | "Unknown">;
          automodRule: AutoModerationRule;
          ban: GuildBan;
          bulk: (Message<boolean> | PartialMessage<boolean>)[];
          channel: Channel;
          emoji: GuildEmoji;
          entitlement: Entitlement;
          giveaway: Giveaway;
          guild: Guild;
          invite: Invite;
          member: GuildMember;
          message: Message<boolean>;
          poll: PollAnswer;
          presence: Presence;
          role: Role;
          scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
          soundboardSound: SoundboardSound | PartialSoundboardSound;
          stage: StageInstance;
          sticker: Sticker;
          subscription: Subscription;
          user: User;
          voiceEffect: VoiceChannelEffect;
          voiceState: VoiceState;
      }

      Hierarchy

      • IStates
        • IExtendedStates

      Properties

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      +

      Properties

      audit: GuildAuditLogsEntry<AuditLogEvent,
          | "Update"
          | "Create"
          | "Delete"
          | "All",
          | "Guild"
          | "Channel"
          | "User"
          | "Role"
          | "Invite"
          | "Webhook"
          | "Emoji"
          | "Message"
          | "Integration"
          | "StageInstance"
          | "Sticker"
          | "GuildScheduledEvent"
          | "Thread"
          | "ApplicationCommand"
          | "SoundboardSound"
          | "AutoModeration"
          | "GuildOnboardingPrompt"
          | "GuildOnboarding"
          | "Unknown">
      automodRule: AutoModerationRule
      ban: GuildBan
      bulk: (Message<boolean> | PartialMessage<boolean>)[]
      channel: Channel
      emoji: GuildEmoji
      entitlement: Entitlement
      giveaway: Giveaway
      guild: Guild
      invite: Invite
      member: GuildMember
      message: Message<boolean>
      poll: PollAnswer
      presence: Presence
      role: Role
      scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
      soundboardSound: SoundboardSound | PartialSoundboardSound
      stage: StageInstance
      sticker: Sticker
      subscription: Subscription
      user: User
      voiceEffect: VoiceChannelEffect
      voiceState: VoiceState
      diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index aa74595..65e323f 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,7 +1,7 @@ -IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          startMessage?: string;
          useDefault?: boolean;
      }

      Properties

      events? +IForgeGiveawaysOptions | forge.giveaways

      Interface IForgeGiveawaysOptions

      interface IForgeGiveawaysOptions {
          events?: keyof IGiveawayEvents;
          startMessage?: string;
          useDefault?: boolean;
      }

      Properties

      events?: keyof IGiveawayEvents

      The giveaway events to use.

      -
      startMessage?: string

      The code to use as start message for giveaways. Only works if default messages are disabled.

      -
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      -
      +
      startMessage?: string

      The code to use as start message for giveaways. Only works if default messages are disabled.

      +
      useDefault?: boolean

      Whether to use the default giveaway messages. Defaults to true.

      +
      diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 3c072d4..fa25272 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID +IGiveaway | forge.giveaways

      Interface IGiveaway

      interface IGiveaway {
          channelID: string;
          duration: number;
          entries: string[];
          guildID: string;
          hasEnded: boolean;
          hostID: string;
          id: string;
          messageID?: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          timestamp: number;
          winners: string[];
          winnersCount: number;
      }

      Hierarchy (view full)

      Implemented by

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      entries: string[]
      guildID: string
      hasEnded: boolean
      hostID: string
      id: string
      messageID?: string
      prize: string
      requirements?: IGiveawayRequirements
      timestamp: number
      winners: string[]
      winnersCount: number
      diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 5358960..b6df79a 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,4 +1,4 @@ -IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayEntryRevoked: [Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect +IGiveawayEvents | forge.giveaways

      Interface IGiveawayEvents

      interface IGiveawayEvents {
          databaseConnect: [];
          giveawayEdit: [Giveaway, Giveaway];
          giveawayEnd: [Giveaway];
          giveawayEntryAdd: [Giveaway, Giveaway];
          giveawayEntryRemove: [Giveaway, Giveaway];
          giveawayEntryRevoked: [Giveaway];
          giveawayReroll: [Giveaway, Giveaway];
          giveawayStart: [Giveaway];
      }

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayEntryRevoked: [Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      +

      Properties

      databaseConnect: []
      giveawayEdit: [Giveaway, Giveaway]
      giveawayEnd: [Giveaway]
      giveawayEntryAdd: [Giveaway, Giveaway]
      giveawayEntryRemove: [Giveaway, Giveaway]
      giveawayEntryRevoked: [Giveaway]
      giveawayReroll: [Giveaway, Giveaway]
      giveawayStart: [Giveaway]
      diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index 705a73b..ebea2a1 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles? +IGiveawayRequirements | forge.giveaways

      Interface IGiveawayRequirements

      interface IGiveawayRequirements {
          requiredRoles?: string[];
          restrictedMembers?: string[];
          restrictedRoles?: string[];
      }

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      +

      Properties

      requiredRoles?: string[]
      restrictedMembers?: string[]
      restrictedRoles?: string[]
      diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 82d8a58..0693c0f 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID +IGiveawayStartOptions | forge.giveaways

      Interface IGiveawayStartOptions

      interface IGiveawayStartOptions {
          channelID: string;
          duration: number;
          guildID: string;
          hostID: string;
          prize: string;
          requirements?: IGiveawayRequirements;
          winnersCount: number;
      }

      Hierarchy (view full)

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      +

      Properties

      channelID: string
      duration: number
      guildID: string
      hostID: string
      prize: string
      requirements?: IGiveawayRequirements
      winnersCount: number
      diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index 06881ab..e6c08c9 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      +AnyGiveaway | forge.giveaways

      Type Alias AnyGiveaway

      AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
      diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index 10f8f56..581906d 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      +ExtendedSendable | forge.giveaways

      Type Alias ExtendedSendable

      ExtendedSendable: Sendable | Giveaway
      diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index 78637b9..c1074ce 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      +ExtendedStates | forge.giveaways

      Type Alias ExtendedStates

      ExtendedStates: {
          [K in keyof IExtendedStates]?: {
              new?: IExtendedStates[K] | null;
              old?: IExtendedStates[K] | null;
          }
      }
      diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 683d735..6236740 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      +IGiveawayEditOptions | forge.giveaways

      Type Alias IGiveawayEditOptions

      IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
      diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 72a9499..49459ed 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -61,11 +61,11 @@ export class GiveawaysManager { components: [comps.toJSON()] }).catch(noop) } else if (this.giveaways.options.startMessage) { - const result = await Interpreter.run({ - ...ctx.runtime, + const result = await Interpreter.run(ctx.clone({ environment: { giveaway }, data: Compiler.compile(this.giveaways.options.startMessage), - }) + doNotSend: true, + })) const res = result?.trim() console.log(res) From 05923714913630ae1d5c341e59059a7bc4aa94a6 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Tue, 21 Oct 2025 15:09:35 +0200 Subject: [PATCH 72/87] Support interaction context in entry events --- README.md | 30 ++++++++++++- dist/events/giveawayEntryAdd.d.ts.map | 2 +- dist/events/giveawayEntryAdd.js | 7 ++- dist/events/giveawayEntryAdd.js.map | 2 +- dist/events/giveawayEntryRemove.d.ts.map | 2 +- dist/events/giveawayEntryRemove.js | 7 ++- dist/events/giveawayEntryRemove.js.map | 2 +- dist/events/giveawayEntryRevoked.d.ts.map | 2 +- dist/events/giveawayEntryRevoked.js | 7 ++- dist/events/giveawayEntryRevoked.js.map | 2 +- dist/handlers/GiveawaysEventHandler.d.ts | 7 +-- dist/handlers/GiveawaysEventHandler.d.ts.map | 2 +- dist/handlers/GiveawaysEventHandler.js.map | 2 +- dist/handlers/GiveawaysInteractionHandler.js | 6 +-- .../GiveawaysInteractionHandler.js.map | 2 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 7 +-- dist/managers/GiveawaysManager.js.map | 2 +- docs/assets/highlight.css | 7 +++ docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 12 ++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/index.html | 14 +++++- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 8 ++-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- src/events/giveawayEntryAdd.ts | 7 ++- src/events/giveawayEntryRemove.ts | 7 ++- src/events/giveawayEntryRevoked.ts | 7 ++- src/handlers/GiveawaysEventHandler.ts | 7 +-- src/handlers/GiveawaysInteractionHandler.ts | 6 +-- src/managers/GiveawaysManager.ts | 7 +-- 48 files changed, 205 insertions(+), 136 deletions(-) diff --git a/README.md b/README.md index e6f517e..b1895fe 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@
      +ForgeGiveaways + # ForgeGiveaways ForgeGiveaways is a lightweight, flexible, and reliable extension for managing giveaways. Fully customizable features let you automate, track, and control every giveaway seamlessly. @@ -14,7 +16,9 @@ ForgeGiveaways is a lightweight, flexible, and reliable extension for managing g ## Contents 1. [Installation](#installation) -2. [Documentation](https://docs.botforge.org/p/ForgeGiveaways/) +2. [Custom Messages](#custom-messages) +3. [Handling Interactions](#handling-interactions) +4. [Documentation](https://docs.botforge.org/p/ForgeGiveaways/)

      Installation


      @@ -53,3 +57,27 @@ ForgeGiveaways is a lightweight, flexible, and reliable extension for managing g client.login("YourToken") ``` + +> [!INFO] +> View all available client options [here](https://github.com/tryforge/ForgeGiveaways/blob/main/src/index.ts#L8). + +

      Custom Messages


      + +You can disable the default messages by setting `useDefault: false` in the client options, and override them with custom messages emitted through events. Use desired functions to retrieve information about the current giveaway. + +##### Example +```js +module.exports = { + type: "giveawayEnd", + code: ` + $sendMessage[$giveawayChannelID; + $reply[$giveawayChannelID;$giveawayMessageID;true] + 🏆 **Winners:** <@$newGiveaway[winners;>, <@]> + ] + ` +} +``` + +

      Handling Interactions


      + + \ No newline at end of file diff --git a/dist/events/giveawayEntryAdd.d.ts.map b/dist/events/giveawayEntryAdd.d.ts.map index cdbbedf..307f352 100644 --- a/dist/events/giveawayEntryAdd.d.ts.map +++ b/dist/events/giveawayEntryAdd.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryAdd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAwBE"} \ No newline at end of file +{"version":3,"file":"giveawayEntryAdd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBA2BE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryAdd.js b/dist/events/giveawayEntryAdd.js index bf53acd..b162786 100644 --- a/dist/events/giveawayEntryAdd.js +++ b/dist/events/giveawayEntryAdd.js @@ -8,11 +8,14 @@ exports.default = new handlers_1.GiveawaysEventHandler({ name: "giveawayEntryAdd", version: "1.0.0", description: "This event is fired when a giveaway entry is added", - listener: async function (old, newer) { + listener: async function (int, old, newer) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEntryAdd"); for (const command of commands) { const ctx = new structures_1.Context({ - obj: newer, + obj: { + interaction: int, + giveaway: newer + }, command, client: this, states: { diff --git a/dist/events/giveawayEntryAdd.js.map b/dist/events/giveawayEntryAdd.js.map index 944e9a3..e9f20fd 100644 --- a/dist/events/giveawayEntryAdd.js.map +++ b/dist/events/giveawayEntryAdd.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAEzF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,KAAK;gBACV,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,GAAG,EAAE,KAAK;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAEzF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,KAAK;iBAClB;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.d.ts.map b/dist/events/giveawayEntryRemove.d.ts.map index 837d587..a3ab2c9 100644 --- a/dist/events/giveawayEntryRemove.d.ts.map +++ b/dist/events/giveawayEntryRemove.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRemove.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAwBE"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRemove.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBA2BE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.js b/dist/events/giveawayEntryRemove.js index 126aa56..43b3d02 100644 --- a/dist/events/giveawayEntryRemove.js +++ b/dist/events/giveawayEntryRemove.js @@ -8,11 +8,14 @@ exports.default = new handlers_1.GiveawaysEventHandler({ name: "giveawayEntryRemove", version: "1.0.0", description: "This event is fired when a giveaway entry is removed", - listener: async function (old, newer) { + listener: async function (int, old, newer) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEntryRemove"); for (const command of commands) { const ctx = new structures_1.Context({ - obj: newer, + obj: { + interaction: int, + giveaway: newer + }, command, client: this, states: { diff --git a/dist/events/giveawayEntryRemove.js.map b/dist/events/giveawayEntryRemove.js.map index 21bd08b..19f5a87 100644 --- a/dist/events/giveawayEntryRemove.js.map +++ b/dist/events/giveawayEntryRemove.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE5F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,KAAK;gBACV,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,GAAG,EAAE,KAAK;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE5F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,KAAK;iBAClB;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRevoked.d.ts.map b/dist/events/giveawayEntryRevoked.d.ts.map index cb7ad85..ef587c7 100644 --- a/dist/events/giveawayEntryRevoked.d.ts.map +++ b/dist/events/giveawayEntryRevoked.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRevoked.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoked.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAuBE"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRevoked.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoked.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBA0BE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRevoked.js b/dist/events/giveawayEntryRevoked.js index 08017a8..ec0b4c7 100644 --- a/dist/events/giveawayEntryRevoked.js +++ b/dist/events/giveawayEntryRevoked.js @@ -8,11 +8,14 @@ exports.default = new handlers_1.GiveawaysEventHandler({ name: "giveawayEntryRevoked", version: "1.0.0", description: "This event is fired when a giveaway entry is revoked", - listener: async function (gw) { + listener: async function (int, gw) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEntryRevoked"); for (const command of commands) { const ctx = new structures_1.Context({ - obj: gw, + obj: { + interaction: int, + giveaway: gw + }, command, client: this, states: { diff --git a/dist/events/giveawayEntryRevoked.js.map b/dist/events/giveawayEntryRevoked.js.map index 8ac6e06..9b2ea4f 100644 --- a/dist/events/giveawayEntryRevoked.js.map +++ b/dist/events/giveawayEntryRevoked.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRevoked.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoked.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QAE7F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRevoked.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoked.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QAE7F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,EAAE;iBACf;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/handlers/GiveawaysEventHandler.d.ts b/dist/handlers/GiveawaysEventHandler.d.ts index e644581..e1990dc 100644 --- a/dist/handlers/GiveawaysEventHandler.d.ts +++ b/dist/handlers/GiveawaysEventHandler.d.ts @@ -1,14 +1,15 @@ import { BaseEventHandler, ForgeClient } from "@tryforge/forgescript"; import { Giveaway } from "../structures"; +import { Interaction } from "discord.js"; export interface IGiveawayEvents { databaseConnect: []; giveawayStart: [Giveaway]; giveawayEnd: [Giveaway]; giveawayEdit: [Giveaway, Giveaway]; giveawayReroll: [Giveaway, Giveaway]; - giveawayEntryAdd: [Giveaway, Giveaway]; - giveawayEntryRemove: [Giveaway, Giveaway]; - giveawayEntryRevoked: [Giveaway]; + giveawayEntryAdd: [Interaction, Giveaway, Giveaway]; + giveawayEntryRemove: [Interaction, Giveaway, Giveaway]; + giveawayEntryRevoked: [Interaction, Giveaway]; } export declare class GiveawaysEventHandler extends BaseEventHandler { register(client: ForgeClient): void; diff --git a/dist/handlers/GiveawaysEventHandler.d.ts.map b/dist/handlers/GiveawaysEventHandler.d.ts.map index c6383f3..70c732a 100644 --- a/dist/handlers/GiveawaysEventHandler.d.ts.map +++ b/dist/handlers/GiveawaysEventHandler.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,MAAM,WAAW,eAAe;IAC5B,eAAe,EAAE,EAAE,CAAA;IACnB,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClC,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACtC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACzC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,CAAA;CACnC;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,WAAW,eAAe;IAC5B,eAAe,EAAE,EAAE,CAAA;IACnB,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClC,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,gBAAgB,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACnD,mBAAmB,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACtD,oBAAoB,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;CAChD;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file diff --git a/dist/handlers/GiveawaysEventHandler.js.map b/dist/handlers/GiveawaysEventHandler.js.map index c739a8a..b2c3def 100644 --- a/dist/handlers/GiveawaysEventHandler.js.map +++ b/dist/handlers/GiveawaysEventHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AAanC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AAcnC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file diff --git a/dist/handlers/GiveawaysInteractionHandler.js b/dist/handlers/GiveawaysInteractionHandler.js index a733b47..3d4c54b 100644 --- a/dist/handlers/GiveawaysInteractionHandler.js +++ b/dist/handlers/GiveawaysInteractionHandler.js @@ -34,7 +34,7 @@ class GiveawaysInteractionHandler { content: `❌ You do not meet the requirements to enter this giveaway!`, flags: discord_js_1.MessageFlags.Ephemeral, }).catch(noop_1.default); - client.emitter.emit("giveawayEntryRevoked", giveaway); + client.emitter.emit("giveawayEntryRevoked", interaction, giveaway); return; } const oldGiveaway = giveaway.clone(); @@ -42,12 +42,12 @@ class GiveawaysInteractionHandler { if (entered) { giveaway.removeEntry(member.user.id); await structures_1.Database.set(giveaway).catch(noop_1.default); - client.emitter.emit("giveawayEntryRemove", oldGiveaway, giveaway); + client.emitter.emit("giveawayEntryRemove", interaction, oldGiveaway, giveaway); } else { giveaway.addEntry(member.user.id); await structures_1.Database.set(giveaway).catch(noop_1.default); - client.emitter.emit("giveawayEntryAdd", oldGiveaway, giveaway); + client.emitter.emit("giveawayEntryAdd", interaction, oldGiveaway, giveaway); } await interaction.reply({ content: `✅ You have successfully ${entered ? "left" : "joined"} this giveaway.`, diff --git a/dist/handlers/GiveawaysInteractionHandler.js.map b/dist/handlers/GiveawaysInteractionHandler.js.map index 4889c66..6cdf55e 100644 --- a/dist/handlers/GiveawaysInteractionHandler.js.map +++ b/dist/handlers/GiveawaysInteractionHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":";;;;;;AACA,2CAAyC;AACzC,0BAAmC;AACnC,8CAAwC;AACxC,8CAA4E;AAC5E,6DAAoC;AAEpC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;gBAAE,OAAM;YAE7D,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpD,IAAI,MAAM,KAAK,eAAe;gBAAE,OAAM;YAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;gBAC3D,OAAM;YACV,CAAC;YAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YAEjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,WAAW,CAAC,KAAK,CAAC;oBACpB,OAAO,EAAE,4DAA4D;oBACrE,KAAK,EAAE,yBAAY,CAAC,SAAS;iBAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACd,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAA;gBACrD,OAAM;YACV,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEnD,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACpC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACjC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClE,CAAC;YAED,MAAM,WAAW,CAAC,KAAK,CAAC;gBACpB,OAAO,EAAE,2BAA2B,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,iBAAiB;gBAChF,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAjDD,kEAiDC"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":";;;;;;AACA,2CAAyC;AACzC,0BAAmC;AACnC,8CAAwC;AACxC,8CAA4E;AAC5E,6DAAoC;AAEpC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;gBAAE,OAAM;YAE7D,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpD,IAAI,MAAM,KAAK,eAAe;gBAAE,OAAM;YAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;gBAC3D,OAAM;YACV,CAAC;YAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YAEjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,WAAW,CAAC,KAAK,CAAC;oBACpB,OAAO,EAAE,4DAA4D;oBACrE,KAAK,EAAE,yBAAY,CAAC,SAAS;iBAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACd,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;gBAClE,OAAM;YACV,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEnD,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACpC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClF,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACjC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAC/E,CAAC;YAED,MAAM,WAAW,CAAC,KAAK,CAAC;gBACpB,OAAO,EAAE,2BAA2B,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,iBAAiB;gBAChF,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAjDD,kEAiDC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 4043c56..cb4a5d9 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuE,SAAS,EAAqB,MAAM,YAAY,CAAA;AAC9H,OAAO,EAAY,OAAO,EAAE,WAAW,EAAe,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA0D/D;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAyD9B;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM;IAsC3E;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;YACW,aAAa;IAM3B;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuE,SAAS,EAAqB,MAAM,YAAY,CAAA;AAC9H,OAAO,EAAY,OAAO,EAAE,WAAW,EAAe,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA2D/D;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAyD9B;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM;IAsC3E;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;YACW,aAAa;IAM3B;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 530b306..6838c30 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -46,13 +46,14 @@ class GiveawaysManager { }).catch(noop_1.default); } else if (this.giveaways.options.startMessage) { - const result = await forgescript_1.Interpreter.run(ctx.clone({ + const result = await forgescript_1.Interpreter.run({ + ...ctx.runtime, environment: { giveaway }, data: forgescript_1.Compiler.compile(this.giveaways.options.startMessage), + redirectErrorsToConsole: true, doNotSend: true, - })); + }); const res = result?.trim(); - console.log(res); msg = await this._fetchMessage(giveaway.channelID, res); } else { diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 16f7870..958d577 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css index aff3d07..8cb2d23 100644 --- a/docs/assets/highlight.css +++ b/docs/assets/highlight.css @@ -13,6 +13,8 @@ --dark-hl-5: #9CDCFE; --light-hl-6: #008000; --dark-hl-6: #6A9955; + --light-hl-7: #267F99; + --dark-hl-7: #4EC9B0; --light-code-background: #FFFFFF; --dark-code-background: #1E1E1E; } @@ -25,6 +27,7 @@ --hl-4: var(--light-hl-4); --hl-5: var(--light-hl-5); --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); --code-background: var(--light-code-background); } } @@ -36,6 +39,7 @@ --hl-4: var(--dark-hl-4); --hl-5: var(--dark-hl-5); --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); --code-background: var(--dark-code-background); } } @@ -47,6 +51,7 @@ --hl-4: var(--light-hl-4); --hl-5: var(--light-hl-5); --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); --code-background: var(--light-code-background); } @@ -58,6 +63,7 @@ --hl-4: var(--dark-hl-4); --hl-5: var(--dark-hl-5); --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); --code-background: var(--dark-code-background); } @@ -68,4 +74,5 @@ .hl-4 { color: var(--hl-4); } .hl-5 { color: var(--hl-5); } .hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } pre, code { background: var(--code-background); } diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 5b65bfa..574b51a 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      constructor +Context | forge.giveaways

      Hierarchy

      • Context
        • Context

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        +

      Constructors

      Properties

      automodRule: Partial<IAutomodRuleOptions>
      calendar?: CalendarType
      component: Partial<IComponentOptions>
      container: Container
      executionTimestamp: number
      http: Partial<IHttpOptions>
      localFunctions: Map<string, ILocalFunctionData>
      requirements: Partial<IGiveawayRequirements> = {}
      timezone: string

      Accessors

      • get args(): string[]
      • Returns string[]

      • get automod(): null | AutoModerationActionExecution
      • Returns null | AutoModerationActionExecution

      • get channel():
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>
      • Returns
            | null
            | BaseChannel
            | CategoryChannel
            | NewsChannel
            | StageChannel
            | TextChannel
            | PrivateThreadChannel
            | VoiceChannel
            | ForumChannel
            | MediaChannel
            | PublicThreadChannel<boolean>

      • get client(): ForgeClient
      • Returns ForgeClient

      • get cmd(): null | BaseCommand<unknown>
      • Returns null | BaseCommand<unknown>

      • get emoji(): null | Emoji
      • Returns null | Emoji

      • get entitlement(): null | Entitlement
      • Returns null | Entitlement

      • get getExtension(): {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }
      • Returns {
            <B>(name: string, required?: B): B extends true
                ? ForgeExtension
                : null | ForgeExtension;
            <T, B_1>(type: string | T, required?: B_1): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>;
        }

          • <B>(name, required?): B extends true
                ? ForgeExtension
                : null | ForgeExtension
          • Type Parameters

            • B extends boolean

            Parameters

            • name: string
            • Optionalrequired: B

            Returns B extends true
                ? ForgeExtension
                : null | ForgeExtension

          • <T, B_1>(type, required?): B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>
          • Type Parameters

            • T extends ClassType
            • B_1 extends boolean

            Parameters

            • type: string | T
            • Optionalrequired: B_1

            Returns B_1 extends true
                ? ClassInstance<T>
                : null | ClassInstance<T>

      • get guild(): null | Guild
      • Returns null | Guild

      • get interaction(): null | Interaction
      • Returns null | Interaction

      • get member(): null | GuildMember
      • Returns null | GuildMember

      • get message(): null | Message<any>
      • Returns null | Message<any>

      • get noop(): ((...args: any[]) => void)
      • Returns ((...args: any[]) => void)

          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      • get reaction(): null | MessageReaction
      • Returns null | MessageReaction

      • get reason(): undefined | string
      • Returns undefined | string

      • set reason(str): void
      • Parameters

        • str: undefined | string

        Returns void

      • get role(): null | Role
      • Returns null | Role

      • get sound(): null | SoundboardSound
      • Returns null | SoundboardSound

      • get states(): undefined | States
      • Returns undefined | States

      • get sticker(): null | Sticker
      • Returns null | Sticker

      • get subscription(): null | Subscription
      • Returns null | Subscription

      • get user(): null | User
      • Returns null | User

      Methods

      • Parameters

        • content: string

        Returns Promise<unknown>

      • Returns void

      • Returns void

      • Returns void

      • Returns void

      • Clones keywords and environment vars

        Parameters

        • Optionalprops: Partial<IRunnable>
        • OptionalsyncVars: boolean

        Returns Context

      • Returns Context

      • Returns IRunnable

      • Parameters

        • name: string

        Returns boolean

      • Parameters

        • name: string

        Returns boolean

      • Fetches all emojis of the application.

        Parameters

        • Optionalonce: boolean

          Whether to fetch only when the collection is empty.

        Returns Promise<void | Collection<string, ApplicationEmoji>>

      • Type Parameters

        • T

        Parameters

        • key: PropertyKey

        Returns T

      • Type Parameters

        • T extends ClassType

        Parameters

        • type: T
        • Rest...keys: string[]

        Returns null | ClassInstance<T>

      • Parameters

        • Rest...args: string[]

        Returns undefined | object

      • Type Parameters

        • K extends string
        • T extends ClassType

        Parameters

        • key: K
        • type: T

        Returns null | (Context & {
            [P in "bro" as K]: ClassInstance<T>
        })[K]

      • Parameters

        • name: string

        Returns unknown

      • Type Parameters

        • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
        • Unwrap extends boolean

        Parameters

        Returns Promise<Return<ReturnType>>

      • Parameters

        • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
        • rt: Return<ReturnType>

        Returns boolean

      • Returns undefined | boolean

      • Type Parameters

        • K extends string
        • V extends ClassType

        Parameters

        • key: K
        • type: V

        Returns this is Context & {
            [P in "bro" as K]: ClassInstance<V>
        }

      • Parameters

        • name: string

        Returns boolean

      • Returns this is Context & {
            get interaction(): ChatInputCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): ContextMenuCommandInteraction<CacheType>;
        }

      • Returns this is Context & {
            get interaction(): AnySelectMenuInteraction;
        }

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • name: string
        • value: unknown

        Returns unknown

      • Parameters

        • value: unknown
        • Rest...keys: string[]

        Returns boolean

      • Parameters

        • Rest...keys: string[]

        Returns boolean | any[]

      • Parameters

        • previous: object
        • Rest...args: string[]

        Returns undefined | object

      diff --git a/docs/classes/Database.html b/docs/classes/Database.html index 3c17a44..2fedcec 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      constructor +Database | forge.giveaways

      Hierarchy (view full)

      Constructors

      Properties

      database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        +

      Constructors

      Properties

      database: string = "giveaways.db"
      entityManager: {
          mongodb: typeof MongoGiveaway[];
          mysql: typeof Giveaway[];
          postgres: typeof Giveaway[];
          sqlite: typeof Giveaway[];
      } = ...
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      entities: {
          Giveaway: AnyGiveaway;
      }
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      • Deletes an existing giveaway from the database.

        Parameters

        • id: string

          The id of the giveaway to delete.

          -

        Returns Promise<DeleteResult>

      • Gets an existing giveaway.

        +

      Returns Promise<DeleteResult>

      • Saves a giveaway in the database.

        +

      Returns Promise<null | Giveaway>

      +

      Returns Promise<void>

      diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 83e6e96..f4b5a30 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      constructor +ForgeGiveaways | forge.giveaways

      Class ForgeGiveaways

      Hierarchy

      • ForgeExtension
        • ForgeGiveaways

      Constructors

      Properties

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      -
      targetVersions?: string[]

      Only the versions written here will be allowed

      -
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      +

      Constructors

      Properties

      description: any = ...
      emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
      giveawaysManager: GiveawaysManager
      name: string = "forge.giveaways"
      requireExtensions: string[] = ...

      A list of extension names this extension requires

      +
      targetVersions?: string[]

      Only the versions written here will be allowed

      +
      version: any = ...

      Methods

      • Returns any

      • Parameters

        • client: ForgeClient

        Returns Promise<void>

      • Parameters

        • path: string

        Returns void

      • Parameters

        • client: ForgeClient

        Returns void

      diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index b56d633..4f2a001 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      constructor +Giveaway | forge.giveaways

      Hierarchy (view full)

      Implements

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | Giveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember | APIInteractionGuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Returns whether a user has entered this giveaway.

        Parameters

        • userID: string

          The user to check for.

          -

        Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | Giveaway

      diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index de68bcf..f1a5fbf 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      constructor +GiveawaysCommandManager | forge.giveaways

      Class GiveawaysCommandManager

      Hierarchy

      Constructors

      Properties

      Accessors

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      +

      Constructors

      • Parameters

        • client: ForgeClient

        Returns GiveawaysCommandManager

      Properties

      handlerName: string = "ForgeGiveawaysEvents"
      defaultMaxListeners: number

      Accessors

      • get count(): number
      • Returns number

      Methods

      • Parameters

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns boolean

      • Type Parameters

        • U extends "update"

        Returns U[]

      • Parameters

        Returns BaseCommand<keyof IGiveawayEvents>[]

      • Returns number

      • Parameters

        • type: "update"

        Returns number

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Parameters

        • path: string

        Returns void

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        • type: U

        Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

      • Returns void

      • Parameters

        • Optionalevent: "update"

        Returns this

      • Type Parameters

        • U extends "update"

        Parameters

        Returns this

      • Parameters

        • n: number

        Returns this

      • Returns BaseCommand<keyof IGiveawayEvents>[]

      diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index b0ad963..f0d1a4e 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      constructor +GiveawaysDatabaseManager | forge.giveaways

      Class GiveawaysDatabaseManagerAbstract

      Hierarchy (view full)

      • DataBaseManager

      Constructors

      Properties

      Methods

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      +

      Constructors

      Properties

      database: string
      entityManager: {
          mongodb: MixedList<string | Function | EntitySchema<any>>;
          mysql: MixedList<string | Function | EntitySchema<any>>;
          postgres: MixedList<string | Function | EntitySchema<any>>;
          sqlite: MixedList<string | Function | EntitySchema<any>>;
      }
      type?:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"
      type:
          | "mysql"
          | "postgres"
          | "mongodb"
          | "better-sqlite3"
          | "sqlite"

      Methods

      • Returns Promise<DataSource>

      diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 0c0e709..ec87cfc 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      constructor +GiveawaysEventHandler | forge.giveaways

      Class GiveawaysEventHandler<T>

      Type Parameters

      Hierarchy

      Constructors

      Properties

      Accessors

      Methods

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      +

      Constructors

      Properties

      data: IEvent<IGiveawayEvents, T>

      Accessors

      • get description(): string
      • Returns string

      • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
      • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

          • (this, ...args): void | Promise<void>
          • Parameters

            • this: ForgeClient
            • Rest...args: AssertArgs<Events[T]>

            Returns void | Promise<void>

      • get name(): T
      • Returns T

      Methods

      diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 8fe16a3..c1423e7 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      +GiveawaysInteractionHandler | forge.giveaways

      Class GiveawaysInteractionHandler

      Constructors

      Constructors

      diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 302a826..6d29746 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,17 +1,17 @@ -GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      constructor +GiveawaysManager | forge.giveaways

      Class GiveawaysManager

      Constructors

      Methods

      Constructors

      Methods

      • Edits an existing giveaway.

        +

      Constructors

      Methods

      • Ends an existing giveaway.

        +

      Returns Promise<null | Giveaway>

      • Rerolls an existing giveaway.

        +

      Returns Promise<undefined | Giveaway>

      • Rerolls an existing giveaway.

        Parameters

        • id: string

          The id of the giveaway to reroll.

        • unique: boolean = false

          Whether to not include the previous winners.

        • Optionalamount: number

          The amount of new winners.

          -

        Returns Promise<undefined | Giveaway>

      • Starts a new giveaway on a guild.

        +

      Returns Promise<undefined | Giveaway>

      +

      Returns Promise<undefined | Giveaway>

      diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index aea1502..940af32 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      constructor +MongoGiveaway | forge.giveaways

      Class MongoGiveaway

      Hierarchy (view full)

      Constructors

      Properties

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      -
      duration: number

      The duration of this giveaway in ms.

      -
      entries: string[]

      The user entries for this giveaway.

      -
      guildID: string

      The id of the guild this giveaway has been created on.

      -
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      -
      hostID: string

      The id of the host for this giveaway.

      -
      id: string

      The id of this giveaway.

      -
      messageID?: string

      The id of the message this giveaway is associated with.

      -
      mongoId?: string

      The object id for MongoDB.

      -
      prize: string

      The prize of this giveaway.

      -
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      -
      timestamp: number

      The timestamp this giveaway has been created at.

      -
      winners: string[]

      The randomly selected winners of this giveaway.

      -
      winnersCount: number

      The max amount of winners for this giveaway.

      -

      Methods

      • Adds a user entry to this giveaway.

        +

      Constructors

      Properties

      channelID: string

      The id of the channel this giveaway has been created in.

      +
      duration: number

      The duration of this giveaway in ms.

      +
      entries: string[]

      The user entries for this giveaway.

      +
      guildID: string

      The id of the guild this giveaway has been created on.

      +
      hasEnded: boolean

      Indicates whether this giveaway has ended.

      +
      hostID: string

      The id of the host for this giveaway.

      +
      id: string

      The id of this giveaway.

      +
      messageID?: string

      The id of the message this giveaway is associated with.

      +
      mongoId?: string

      The object id for MongoDB.

      +
      prize: string

      The prize of this giveaway.

      +
      requirements?: IGiveawayRequirements

      The requirements all participants have to meet for entering this giveaway.

      +
      timestamp: number

      The timestamp this giveaway has been created at.

      +
      winners: string[]

      The randomly selected winners of this giveaway.

      +
      winnersCount: number

      The max amount of winners for this giveaway.

      +

      Methods

      • Returns whether a member is eligible to enter this giveaway.

        +

      Returns null | MongoGiveaway

      • Returns whether a member is eligible to enter this giveaway.

        Parameters

        • member: GuildMember | APIInteractionGuildMember

          The guild member to check for requirements.

          -

        Returns boolean

      • Returns whether a user has entered this giveaway.

        +

      Returns boolean

      • Removes a user entry from this giveaway.

        +

      Returns boolean

      +

      Returns null | MongoGiveaway

      diff --git a/docs/index.html b/docs/index.html index 4c03b56..94b164c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,4 +1,5 @@ forge.giveaways

      forge.giveaways

      +ForgeGiveaways

      ForgeGiveaways

      ForgeGiveaways is a lightweight, flexible, and reliable extension for managing giveaways. Fully customizable features let you automate, track, and control every giveaway seamlessly.

      @tryforge/forge.giveaways @tryforge/forgescript @@ -7,6 +8,8 @@


      1. Installation
      2. +
      3. Custom Messages
      4. +
      5. Handling Interactions
      6. Documentation

      Installation


      @@ -28,4 +31,13 @@

      Installation


    -
    +
    +

    [!INFO] +View all available client options here.

    +
    +

    Custom Messages


    +

    You can disable the default messages by setting useDefault: false in the client options, and override them with custom messages emitted through events. Use desired functions to retrieve information about the current giveaway.

    +
    module.exports = {
    type: "giveawayEnd",
    code: `
    $sendMessage[$giveawayChannelID;
    $reply[$giveawayChannelID;$giveawayMessageID;true]
    🏆 **Winners:** <@$newGiveaway[winners;>, <@]>
    ]
    `
    } +
    + +

    Handling Interactions


    diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index fe91dcd..4146544 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    automod +IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    +

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index 2752a83..6efaff4 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    extras?: unknown

    Extras data

    keywords?: Record<string, string>

    The already existing variables defined with $let

    The context this code will run in

    -
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    +
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    The old and new states of an event

    -
    +
    diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index dfa7c1f..aeb464c 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    audit +IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    +

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 65e323f..cf2cab3 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,7 +1,7 @@ -IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        startMessage?: string;
        useDefault?: boolean;
    }

    Properties

    events? +IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        startMessage?: string;
        useDefault?: boolean;
    }

    Properties

    events?: keyof IGiveawayEvents

    The giveaway events to use.

    -
    startMessage?: string

    The code to use as start message for giveaways. Only works if default messages are disabled.

    -
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    -
    +
    startMessage?: string

    The code to use as start message for giveaways. Only works if default messages are disabled.

    +
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    +
    diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index fa25272..e589a89 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID +IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index b6df79a..dc764af 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,4 +1,4 @@ -IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEdit: [Giveaway, Giveaway];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway];
        giveawayEntryRemove: [Giveaway, Giveaway];
        giveawayEntryRevoked: [Giveaway];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect +IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEdit: [Giveaway, Giveaway];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Interaction, Giveaway, Giveaway];
        giveawayEntryRemove: [Interaction, Giveaway, Giveaway];
        giveawayEntryRevoked: [Interaction, Giveaway];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect: []
    giveawayEdit: [Giveaway, Giveaway]
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway]
    giveawayEntryRemove: [Giveaway, Giveaway]
    giveawayEntryRevoked: [Giveaway]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    +

    Properties

    databaseConnect: []
    giveawayEdit: [Giveaway, Giveaway]
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Interaction, Giveaway, Giveaway]
    giveawayEntryRemove: [Interaction, Giveaway, Giveaway]
    giveawayEntryRevoked: [Interaction, Giveaway]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index ebea2a1..dd7099d 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles? +IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    +

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 0693c0f..2ccb35e 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID +IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index e6c08c9..e548df8 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    +AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index 581906d..31dabfb 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    +ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index c1074ce..cd5dfda 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    +ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 6236740..7464d9a 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    +IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    diff --git a/src/events/giveawayEntryAdd.ts b/src/events/giveawayEntryAdd.ts index 37695d2..b84ccf0 100644 --- a/src/events/giveawayEntryAdd.ts +++ b/src/events/giveawayEntryAdd.ts @@ -7,12 +7,15 @@ export default new GiveawaysEventHandler({ name: "giveawayEntryAdd", version: "1.0.0", description: "This event is fired when a giveaway entry is added", - listener: async function(old, newer) { + listener: async function(int, old, newer) { const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEntryAdd") for (const command of commands) { const ctx = new Context({ - obj: newer, + obj: { + interaction: int, + giveaway: newer + }, command, client: this, states: { diff --git a/src/events/giveawayEntryRemove.ts b/src/events/giveawayEntryRemove.ts index f6f9960..d992f0e 100644 --- a/src/events/giveawayEntryRemove.ts +++ b/src/events/giveawayEntryRemove.ts @@ -7,12 +7,15 @@ export default new GiveawaysEventHandler({ name: "giveawayEntryRemove", version: "1.0.0", description: "This event is fired when a giveaway entry is removed", - listener: async function(old, newer) { + listener: async function(int, old, newer) { const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEntryRemove") for (const command of commands) { const ctx = new Context({ - obj: newer, + obj: { + interaction: int, + giveaway: newer + }, command, client: this, states: { diff --git a/src/events/giveawayEntryRevoked.ts b/src/events/giveawayEntryRevoked.ts index d2427c8..acac881 100644 --- a/src/events/giveawayEntryRevoked.ts +++ b/src/events/giveawayEntryRevoked.ts @@ -7,12 +7,15 @@ export default new GiveawaysEventHandler({ name: "giveawayEntryRevoked", version: "1.0.0", description: "This event is fired when a giveaway entry is revoked", - listener: async function(gw) { + listener: async function(int, gw) { const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEntryRevoked") for (const command of commands) { const ctx = new Context({ - obj: gw, + obj: { + interaction: int, + giveaway: gw + }, command, client: this, states: { diff --git a/src/handlers/GiveawaysEventHandler.ts b/src/handlers/GiveawaysEventHandler.ts index 6c4fa4e..b04ec3c 100644 --- a/src/handlers/GiveawaysEventHandler.ts +++ b/src/handlers/GiveawaysEventHandler.ts @@ -1,6 +1,7 @@ import { BaseEventHandler, ForgeClient } from "@tryforge/forgescript" import { Giveaway } from "../structures" import { ForgeGiveaways } from ".." +import { Interaction } from "discord.js" export interface IGiveawayEvents { databaseConnect: [] @@ -8,9 +9,9 @@ export interface IGiveawayEvents { giveawayEnd: [Giveaway] giveawayEdit: [Giveaway, Giveaway] giveawayReroll: [Giveaway, Giveaway] - giveawayEntryAdd: [Giveaway, Giveaway] - giveawayEntryRemove: [Giveaway, Giveaway] - giveawayEntryRevoked: [Giveaway] + giveawayEntryAdd: [Interaction, Giveaway, Giveaway] + giveawayEntryRemove: [Interaction, Giveaway, Giveaway] + giveawayEntryRevoked: [Interaction, Giveaway] } export class GiveawaysEventHandler extends BaseEventHandler { diff --git a/src/handlers/GiveawaysInteractionHandler.ts b/src/handlers/GiveawaysInteractionHandler.ts index d42aab4..eea2956 100644 --- a/src/handlers/GiveawaysInteractionHandler.ts +++ b/src/handlers/GiveawaysInteractionHandler.ts @@ -31,7 +31,7 @@ export class GiveawaysInteractionHandler { content: `❌ You do not meet the requirements to enter this giveaway!`, flags: MessageFlags.Ephemeral, }).catch(noop) - client.emitter.emit("giveawayEntryRevoked", giveaway) + client.emitter.emit("giveawayEntryRevoked", interaction, giveaway) return } @@ -41,11 +41,11 @@ export class GiveawaysInteractionHandler { if (entered) { giveaway.removeEntry(member.user.id) await Database.set(giveaway).catch(noop) - client.emitter.emit("giveawayEntryRemove", oldGiveaway, giveaway) + client.emitter.emit("giveawayEntryRemove", interaction, oldGiveaway, giveaway) } else { giveaway.addEntry(member.user.id) await Database.set(giveaway).catch(noop) - client.emitter.emit("giveawayEntryAdd", oldGiveaway, giveaway) + client.emitter.emit("giveawayEntryAdd", interaction, oldGiveaway, giveaway) } await interaction.reply({ diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 49459ed..b05c4ba 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -61,14 +61,15 @@ export class GiveawaysManager { components: [comps.toJSON()] }).catch(noop) } else if (this.giveaways.options.startMessage) { - const result = await Interpreter.run(ctx.clone({ + const result = await Interpreter.run({ + ...ctx.runtime, environment: { giveaway }, data: Compiler.compile(this.giveaways.options.startMessage), + redirectErrorsToConsole: true, doNotSend: true, - })) + }) const res = result?.trim() - console.log(res) msg = await this._fetchMessage(giveaway.channelID, res) } else { throwGiveawaysError(GiveawaysErrorType.NoStartMessage) From fbdb0206c7ed61160d5693ca317d041a1c307206 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Tue, 21 Oct 2025 15:32:14 +0200 Subject: [PATCH 73/87] Fix --- dist/events/giveawayEntryAdd.js | 2 +- dist/events/giveawayEntryAdd.js.map | 2 +- dist/events/giveawayEntryRemove.js | 2 +- dist/events/giveawayEntryRemove.js.map | 2 +- dist/events/giveawayEntryRevoked.js | 2 +- dist/events/giveawayEntryRevoked.js.map | 2 +- dist/structures/Context.d.ts | 10 +++-- dist/structures/Context.d.ts.map | 2 +- dist/structures/Context.js | 16 ++++++- dist/structures/Context.js.map | 2 +- docs/assets/search.js | 2 +- docs/classes/Context.html | 8 ++-- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 12 ++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 8 ++-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- src/events/giveawayEntryAdd.ts | 2 +- src/events/giveawayEntryRemove.ts | 2 +- src/events/giveawayEntryRevoked.ts | 2 +- src/structures/Context.ts | 25 ++++++++--- 37 files changed, 148 insertions(+), 117 deletions(-) diff --git a/dist/events/giveawayEntryAdd.js b/dist/events/giveawayEntryAdd.js index b162786..925e36e 100644 --- a/dist/events/giveawayEntryAdd.js +++ b/dist/events/giveawayEntryAdd.js @@ -13,7 +13,7 @@ exports.default = new handlers_1.GiveawaysEventHandler({ for (const command of commands) { const ctx = new structures_1.Context({ obj: { - interaction: int, + baseInteraction: int, giveaway: newer }, command, diff --git a/dist/events/giveawayEntryAdd.js.map b/dist/events/giveawayEntryAdd.js.map index e9f20fd..affc087 100644 --- a/dist/events/giveawayEntryAdd.js.map +++ b/dist/events/giveawayEntryAdd.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,GAAG,EAAE,KAAK;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAEzF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,KAAK;iBAClB;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,GAAG,EAAE,KAAK;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAEzF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,eAAe,EAAE,GAAG;oBACpB,QAAQ,EAAE,KAAK;iBAClB;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.js b/dist/events/giveawayEntryRemove.js index 43b3d02..f79177a 100644 --- a/dist/events/giveawayEntryRemove.js +++ b/dist/events/giveawayEntryRemove.js @@ -13,7 +13,7 @@ exports.default = new handlers_1.GiveawaysEventHandler({ for (const command of commands) { const ctx = new structures_1.Context({ obj: { - interaction: int, + baseInteraction: int, giveaway: newer }, command, diff --git a/dist/events/giveawayEntryRemove.js.map b/dist/events/giveawayEntryRemove.js.map index 19f5a87..e45a724 100644 --- a/dist/events/giveawayEntryRemove.js.map +++ b/dist/events/giveawayEntryRemove.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,GAAG,EAAE,KAAK;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE5F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,KAAK;iBAClB;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,GAAG,EAAE,KAAK;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE5F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,eAAe,EAAE,GAAG;oBACpB,QAAQ,EAAE,KAAK;iBAClB;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRevoked.js b/dist/events/giveawayEntryRevoked.js index ec0b4c7..c38b971 100644 --- a/dist/events/giveawayEntryRevoked.js +++ b/dist/events/giveawayEntryRevoked.js @@ -13,7 +13,7 @@ exports.default = new handlers_1.GiveawaysEventHandler({ for (const command of commands) { const ctx = new structures_1.Context({ obj: { - interaction: int, + baseInteraction: int, giveaway: gw }, command, diff --git a/dist/events/giveawayEntryRevoked.js.map b/dist/events/giveawayEntryRevoked.js.map index 9b2ea4f..9f2501e 100644 --- a/dist/events/giveawayEntryRevoked.js.map +++ b/dist/events/giveawayEntryRevoked.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRevoked.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoked.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QAE7F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,EAAE;iBACf;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRevoked.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoked.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QAE7F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,eAAe,EAAE,GAAG;oBACpB,QAAQ,EAAE,EAAE;iBACf;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/structures/Context.d.ts b/dist/structures/Context.d.ts index 937106c..fb1dc05 100644 --- a/dist/structures/Context.d.ts +++ b/dist/structures/Context.d.ts @@ -1,9 +1,9 @@ import { Context as BaseContext, IContextCache } from "@tryforge/forgescript"; import { ExtendedStates, IExtendedRunnable } from "../types"; -import { Snowflake } from "discord.js"; -import { Giveaway } from "./Giveaway"; +import { Interaction, Snowflake } from "discord.js"; +import { Giveaway, MongoGiveaway } from "./Giveaway"; export interface IExtendedContextCache extends IContextCache { - giveaway: Giveaway | null; + giveaway: Giveaway | MongoGiveaway | null; } export interface IGiveawayRequirements { requiredRoles?: Snowflake[]; @@ -18,10 +18,12 @@ export declare class Context extends BaseContext { get obj(): import("../types").ExtendedSendable; get extendedStates(): ExtendedStates | undefined; get giveaway(): Giveaway | null; + get interaction(): Interaction | null; } declare module "@tryforge/forgescript" { interface Context { - giveaway?: Giveaway | null; + giveaway: Giveaway | MongoGiveaway | null; + interaction: Interaction | null; extendedStates?: ExtendedStates; requirements?: Partial; } diff --git a/dist/structures/Context.d.ts.map b/dist/structures/Context.d.ts.map index cbd94fc..8e8590b 100644 --- a/dist/structures/Context.d.ts.map +++ b/dist/structures/Context.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IACxD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,qBAAqB;IAClC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;IAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;IAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;CAClC;AAED,qBAAa,OAAQ,SAAQ,WAAW;;aAKD,OAAO,EAAE,iBAAiB;IAF7D,YAAY,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAK;gBAEd,OAAO,EAAE,iBAAiB;IAI7D,IAAW,GAAG,wCAEb;IAED,IAAW,cAAc,+BAExB;IAED,IAAW,QAAQ,oBAElB;CACJ;AAED,OAAO,QAAQ,uBAAuB,CAAC;IACnC,UAAU,OAAO;QACb,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;QAC1B,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,YAAY,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;KAChD;CACJ"} \ No newline at end of file +{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAmB,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IACxD,QAAQ,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAA;CAC5C;AAED,MAAM,WAAW,qBAAqB;IAClC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;IAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;IAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;CAClC;AAED,qBAAa,OAAQ,SAAQ,WAAW;;aAKD,OAAO,EAAE,iBAAiB;IAF7D,YAAY,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAK;gBAEd,OAAO,EAAE,iBAAiB;IAI7D,IAAW,GAAG,wCAEb;IAED,IAAW,cAAc,+BAExB;IAED,IAAW,QAAQ,oBAOlB;IAED,IAAW,WAAW,uBAOrB;CACJ;AAED,OAAO,QAAQ,uBAAuB,CAAC;IACnC,UAAU,OAAO;QACb,QAAQ,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAA;QACzC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAA;QAC/B,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,YAAY,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;KAChD;CACJ"} \ No newline at end of file diff --git a/dist/structures/Context.js b/dist/structures/Context.js index 1f6a6ba..3136adc 100644 --- a/dist/structures/Context.js +++ b/dist/structures/Context.js @@ -2,6 +2,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.Context = void 0; const forgescript_1 = require("@tryforge/forgescript"); +const discord_js_1 = require("discord.js"); const Giveaway_1 = require("./Giveaway"); class Context extends forgescript_1.Context { runtime; @@ -18,7 +19,20 @@ class Context extends forgescript_1.Context { return this.runtime.states; } get giveaway() { - return this.#cache.giveaway ??= this.obj instanceof Giveaway_1.Giveaway ? this.obj : null; + return (this.#cache.giveaway ??= + "giveaway" in this.obj + ? this.obj.giveaway + : this.obj instanceof Giveaway_1.Giveaway + ? this.obj + : null); + } + get interaction() { + return (this.#cache.interaction ??= + "baseInteraction" in this.obj + ? this.obj.baseInteraction + : this.obj instanceof discord_js_1.BaseInteraction + ? this.obj + : null); } } exports.Context = Context; diff --git a/dist/structures/Context.js.map b/dist/structures/Context.js.map index 253880c..3a01bbd 100644 --- a/dist/structures/Context.js.map +++ b/dist/structures/Context.js.map @@ -1 +1 @@ -{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":";;;AAAA,uDAA6E;AAG7E,yCAAqC;AAYrC,MAAa,OAAQ,SAAQ,qBAAW;IAKD;IAJnC,MAAM,GAAmC,EAAE,CAAA;IAE3C,YAAY,GAAmC,EAAE,CAAA;IAEjD,YAAmC,OAA0B;QACzD,KAAK,CAAC,OAAO,CAAC,CAAA;QADiB,YAAO,GAAP,OAAO,CAAmB;IAE7D,CAAC;IAED,IAAW,GAAG;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;IAC3B,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IAC9B,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,GAAG,YAAY,mBAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;IAClF,CAAC;CACJ;AApBD,0BAoBC"} \ No newline at end of file +{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":";;;AAAA,uDAA6E;AAE7E,2CAAoE;AACpE,yCAAoD;AAYpD,MAAa,OAAQ,SAAQ,qBAAW;IAKD;IAJnC,MAAM,GAAmC,EAAE,CAAA;IAE3C,YAAY,GAAmC,EAAE,CAAA;IAEjD,YAAmC,OAA0B;QACzD,KAAK,CAAC,OAAO,CAAC,CAAA;QADiB,YAAO,GAAP,OAAO,CAAmB;IAE7D,CAAC;IAED,IAAW,GAAG;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;IAC3B,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IAC9B,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;YACxB,UAAU,IAAI,IAAI,CAAC,GAAG;gBAClB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAoB;gBAC/B,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,mBAAQ;oBAC1B,CAAC,CAAC,IAAI,CAAC,GAAG;oBACV,CAAC,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAED,IAAW,WAAW;QAClB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;YAC3B,iBAAiB,IAAI,IAAI,CAAC,GAAG;gBACzB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,eAA8B;gBACzC,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,4BAAe;oBACjC,CAAC,CAAC,IAAI,CAAC,GAAkB;oBACzB,CAAC,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;CACJ;AAlCD,0BAkCC"} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 0cd20ab..b48f904 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 574b51a..ae0d0d4 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    constructor +Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      +

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      Parameters

      • Optionalprops: Partial<IRunnable>
      • OptionalsyncVars: boolean

      Returns Context

    • Returns Context

    • Returns IRunnable

    • Parameters

      • name: string

      Returns boolean

    • Parameters

      • name: string

      Returns boolean

    • Fetches all emojis of the application.

      Parameters

      • Optionalonce: boolean

        Whether to fetch only when the collection is empty.

        -

      Returns Promise<void | Collection<string, ApplicationEmoji>>

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    +

    Returns Promise<void | Collection<string, ApplicationEmoji>>

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    diff --git a/docs/classes/Database.html b/docs/classes/Database.html index 2fedcec..8deac50 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    constructor +Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    Properties

    database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      +

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      Parameters

      • id: string

        The id of the giveaway to delete.

        -

      Returns Promise<DeleteResult>

    • Gets an existing giveaway.

      +

    Returns Promise<DeleteResult>

    • Saves a giveaway in the database.

      +

    Returns Promise<null | Giveaway>

    +

    Returns Promise<void>

    diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index f4b5a30..fbf6208 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    constructor +ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    Properties

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    -
    targetVersions?: string[]

    Only the versions written here will be allowed

    -
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    +

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    +
    targetVersions?: string[]

    Only the versions written here will be allowed

    +
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index 4f2a001..9eb0bde 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    constructor +Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | Giveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Returns whether a user has entered this giveaway.

      Parameters

      • userID: string

        The user to check for.

        -

      Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | Giveaway

    diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index f1a5fbf..4c5f2ae 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    constructor +GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    Properties

    Accessors

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    +

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index f0d1a4e..152b214 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    constructor +GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    Properties

    Methods

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    +

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index ec87cfc..f9a0cf5 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    constructor +GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    +

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index c1423e7..7c2ec74 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    +GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 6d29746..0fce32c 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,17 +1,17 @@ -GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    constructor +GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    Methods

    Constructors

    Methods

    • Edits an existing giveaway.

      +

    Constructors

    Methods

    • Ends an existing giveaway.

      +

    Returns Promise<null | Giveaway>

    • Rerolls an existing giveaway.

      +

    Returns Promise<undefined | Giveaway>

    • Rerolls an existing giveaway.

      Parameters

      • id: string

        The id of the giveaway to reroll.

      • unique: boolean = false

        Whether to not include the previous winners.

      • Optionalamount: number

        The amount of new winners.

        -

      Returns Promise<undefined | Giveaway>

    • Starts a new giveaway on a guild.

      +

    Returns Promise<undefined | Giveaway>

    +

    Returns Promise<undefined | Giveaway>

    diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index 940af32..33ca79e 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    constructor +MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    mongoId?: string

    The object id for MongoDB.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    mongoId?: string

    The object id for MongoDB.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | MongoGiveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | MongoGiveaway

    diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 4146544..768ed0c 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    automod +IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    +

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index 6efaff4..e3b1eeb 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    extras?: unknown

    Extras data

    keywords?: Record<string, string>

    The already existing variables defined with $let

    The context this code will run in

    -
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    +
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    The old and new states of an event

    -
    +
    diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index aeb464c..247f4a5 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    audit +IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    +

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index cf2cab3..3ba6aff 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,7 +1,7 @@ -IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        startMessage?: string;
        useDefault?: boolean;
    }

    Properties

    events? +IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        startMessage?: string;
        useDefault?: boolean;
    }

    Properties

    events?: keyof IGiveawayEvents

    The giveaway events to use.

    -
    startMessage?: string

    The code to use as start message for giveaways. Only works if default messages are disabled.

    -
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    -
    +
    startMessage?: string

    The code to use as start message for giveaways. Only works if default messages are disabled.

    +
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    +
    diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index e589a89..1644dfa 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID +IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index dc764af..e878750 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,4 +1,4 @@ -IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEdit: [Giveaway, Giveaway];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Interaction, Giveaway, Giveaway];
        giveawayEntryRemove: [Interaction, Giveaway, Giveaway];
        giveawayEntryRevoked: [Interaction, Giveaway];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect +IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEdit: [Giveaway, Giveaway];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Interaction, Giveaway, Giveaway];
        giveawayEntryRemove: [Interaction, Giveaway, Giveaway];
        giveawayEntryRevoked: [Interaction, Giveaway];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect: []
    giveawayEdit: [Giveaway, Giveaway]
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Interaction, Giveaway, Giveaway]
    giveawayEntryRemove: [Interaction, Giveaway, Giveaway]
    giveawayEntryRevoked: [Interaction, Giveaway]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    +

    Properties

    databaseConnect: []
    giveawayEdit: [Giveaway, Giveaway]
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Interaction, Giveaway, Giveaway]
    giveawayEntryRemove: [Interaction, Giveaway, Giveaway]
    giveawayEntryRevoked: [Interaction, Giveaway]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index dd7099d..25580dd 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles? +IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    +

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 2ccb35e..07b70f0 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID +IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index e548df8..4d580f5 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    +AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index 31dabfb..42a9e42 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    +ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index cd5dfda..1004878 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    +ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 7464d9a..aab3b06 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    +IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    diff --git a/src/events/giveawayEntryAdd.ts b/src/events/giveawayEntryAdd.ts index b84ccf0..41cd8ab 100644 --- a/src/events/giveawayEntryAdd.ts +++ b/src/events/giveawayEntryAdd.ts @@ -13,7 +13,7 @@ export default new GiveawaysEventHandler({ for (const command of commands) { const ctx = new Context({ obj: { - interaction: int, + baseInteraction: int, giveaway: newer }, command, diff --git a/src/events/giveawayEntryRemove.ts b/src/events/giveawayEntryRemove.ts index d992f0e..28cafa7 100644 --- a/src/events/giveawayEntryRemove.ts +++ b/src/events/giveawayEntryRemove.ts @@ -13,7 +13,7 @@ export default new GiveawaysEventHandler({ for (const command of commands) { const ctx = new Context({ obj: { - interaction: int, + baseInteraction: int, giveaway: newer }, command, diff --git a/src/events/giveawayEntryRevoked.ts b/src/events/giveawayEntryRevoked.ts index acac881..4686abc 100644 --- a/src/events/giveawayEntryRevoked.ts +++ b/src/events/giveawayEntryRevoked.ts @@ -13,7 +13,7 @@ export default new GiveawaysEventHandler({ for (const command of commands) { const ctx = new Context({ obj: { - interaction: int, + baseInteraction: int, giveaway: gw }, command, diff --git a/src/structures/Context.ts b/src/structures/Context.ts index 97796a4..c278faf 100644 --- a/src/structures/Context.ts +++ b/src/structures/Context.ts @@ -1,10 +1,10 @@ import { Context as BaseContext, IContextCache } from "@tryforge/forgescript" import { ExtendedStates, IExtendedRunnable } from "../types" -import { Snowflake } from "discord.js" -import { Giveaway } from "./Giveaway" +import { BaseInteraction, Interaction, Snowflake } from "discord.js" +import { Giveaway, MongoGiveaway } from "./Giveaway" export interface IExtendedContextCache extends IContextCache { - giveaway: Giveaway | null + giveaway: Giveaway | MongoGiveaway | null } export interface IGiveawayRequirements { @@ -31,13 +31,28 @@ export class Context extends BaseContext { } public get giveaway() { - return this.#cache.giveaway ??= this.obj instanceof Giveaway ? this.obj : null + return (this.#cache.giveaway ??= + "giveaway" in this.obj + ? this.obj.giveaway as Giveaway + : this.obj instanceof Giveaway + ? this.obj + : null) + } + + public get interaction() { + return (this.#cache.interaction ??= + "baseInteraction" in this.obj + ? this.obj.baseInteraction as Interaction + : this.obj instanceof BaseInteraction + ? this.obj as Interaction + : null) } } declare module "@tryforge/forgescript" { interface Context { - giveaway?: Giveaway | null + giveaway: Giveaway | MongoGiveaway | null + interaction: Interaction | null extendedStates?: ExtendedStates requirements?: Partial } From a96be96f5cd1a9baf4fec244665265e6e08c3c2d Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Tue, 21 Oct 2025 15:56:37 +0200 Subject: [PATCH 74/87] Test --- dist/events/giveawayEntryAdd.js | 2 +- dist/events/giveawayEntryAdd.js.map | 2 +- dist/events/giveawayEntryRemove.js | 2 +- dist/events/giveawayEntryRemove.js.map | 2 +- dist/events/giveawayEntryRevoked.js | 2 +- dist/events/giveawayEntryRevoked.js.map | 2 +- dist/structures/Context.d.ts | 4 +- dist/structures/Context.d.ts.map | 2 +- dist/structures/Context.js | 9 ---- dist/structures/Context.js.map | 2 +- docs/assets/search.js | 2 +- docs/classes/Context.html | 18 ++++---- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 12 ++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 20 +++++---- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 8 ++-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- package-lock.json | 23 +++++++--- package.json | 2 +- src/events/giveawayEntryAdd.ts | 2 +- src/events/giveawayEntryRemove.ts | 2 +- src/events/giveawayEntryRevoked.ts | 2 +- src/structures/Context.ts | 12 +---- 39 files changed, 142 insertions(+), 146 deletions(-) diff --git a/dist/events/giveawayEntryAdd.js b/dist/events/giveawayEntryAdd.js index 925e36e..b162786 100644 --- a/dist/events/giveawayEntryAdd.js +++ b/dist/events/giveawayEntryAdd.js @@ -13,7 +13,7 @@ exports.default = new handlers_1.GiveawaysEventHandler({ for (const command of commands) { const ctx = new structures_1.Context({ obj: { - baseInteraction: int, + interaction: int, giveaway: newer }, command, diff --git a/dist/events/giveawayEntryAdd.js.map b/dist/events/giveawayEntryAdd.js.map index affc087..e9f20fd 100644 --- a/dist/events/giveawayEntryAdd.js.map +++ b/dist/events/giveawayEntryAdd.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,GAAG,EAAE,KAAK;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAEzF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,eAAe,EAAE,GAAG;oBACpB,QAAQ,EAAE,KAAK;iBAClB;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,GAAG,EAAE,KAAK;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAEzF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,KAAK;iBAClB;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.js b/dist/events/giveawayEntryRemove.js index f79177a..43b3d02 100644 --- a/dist/events/giveawayEntryRemove.js +++ b/dist/events/giveawayEntryRemove.js @@ -13,7 +13,7 @@ exports.default = new handlers_1.GiveawaysEventHandler({ for (const command of commands) { const ctx = new structures_1.Context({ obj: { - baseInteraction: int, + interaction: int, giveaway: newer }, command, diff --git a/dist/events/giveawayEntryRemove.js.map b/dist/events/giveawayEntryRemove.js.map index e45a724..19f5a87 100644 --- a/dist/events/giveawayEntryRemove.js.map +++ b/dist/events/giveawayEntryRemove.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,GAAG,EAAE,KAAK;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE5F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,eAAe,EAAE,GAAG;oBACpB,QAAQ,EAAE,KAAK;iBAClB;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,GAAG,EAAE,KAAK;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE5F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,KAAK;iBAClB;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRevoked.js b/dist/events/giveawayEntryRevoked.js index c38b971..ec0b4c7 100644 --- a/dist/events/giveawayEntryRevoked.js +++ b/dist/events/giveawayEntryRevoked.js @@ -13,7 +13,7 @@ exports.default = new handlers_1.GiveawaysEventHandler({ for (const command of commands) { const ctx = new structures_1.Context({ obj: { - baseInteraction: int, + interaction: int, giveaway: gw }, command, diff --git a/dist/events/giveawayEntryRevoked.js.map b/dist/events/giveawayEntryRevoked.js.map index 9f2501e..9b2ea4f 100644 --- a/dist/events/giveawayEntryRevoked.js.map +++ b/dist/events/giveawayEntryRevoked.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRevoked.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoked.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QAE7F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,eAAe,EAAE,GAAG;oBACpB,QAAQ,EAAE,EAAE;iBACf;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRevoked.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoked.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QAE7F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,EAAE;iBACf;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/structures/Context.d.ts b/dist/structures/Context.d.ts index fb1dc05..50689c5 100644 --- a/dist/structures/Context.d.ts +++ b/dist/structures/Context.d.ts @@ -1,6 +1,6 @@ import { Context as BaseContext, IContextCache } from "@tryforge/forgescript"; import { ExtendedStates, IExtendedRunnable } from "../types"; -import { Interaction, Snowflake } from "discord.js"; +import { Snowflake } from "discord.js"; import { Giveaway, MongoGiveaway } from "./Giveaway"; export interface IExtendedContextCache extends IContextCache { giveaway: Giveaway | MongoGiveaway | null; @@ -18,12 +18,10 @@ export declare class Context extends BaseContext { get obj(): import("../types").ExtendedSendable; get extendedStates(): ExtendedStates | undefined; get giveaway(): Giveaway | null; - get interaction(): Interaction | null; } declare module "@tryforge/forgescript" { interface Context { giveaway: Giveaway | MongoGiveaway | null; - interaction: Interaction | null; extendedStates?: ExtendedStates; requirements?: Partial; } diff --git a/dist/structures/Context.d.ts.map b/dist/structures/Context.d.ts.map index 8e8590b..35a31bd 100644 --- a/dist/structures/Context.d.ts.map +++ b/dist/structures/Context.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAmB,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IACxD,QAAQ,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAA;CAC5C;AAED,MAAM,WAAW,qBAAqB;IAClC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;IAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;IAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;CAClC;AAED,qBAAa,OAAQ,SAAQ,WAAW;;aAKD,OAAO,EAAE,iBAAiB;IAF7D,YAAY,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAK;gBAEd,OAAO,EAAE,iBAAiB;IAI7D,IAAW,GAAG,wCAEb;IAED,IAAW,cAAc,+BAExB;IAED,IAAW,QAAQ,oBAOlB;IAED,IAAW,WAAW,uBAOrB;CACJ;AAED,OAAO,QAAQ,uBAAuB,CAAC;IACnC,UAAU,OAAO;QACb,QAAQ,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAA;QACzC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAA;QAC/B,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,YAAY,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;KAChD;CACJ"} \ No newline at end of file +{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IACxD,QAAQ,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAA;CAC5C;AAED,MAAM,WAAW,qBAAqB;IAClC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAA;IAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;IAC7B,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAA;CAClC;AAED,qBAAa,OAAQ,SAAQ,WAAW;;aAKD,OAAO,EAAE,iBAAiB;IAF7D,YAAY,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAK;gBAEd,OAAO,EAAE,iBAAiB;IAI7D,IAAW,GAAG,wCAEb;IAED,IAAW,cAAc,+BAExB;IAED,IAAW,QAAQ,oBAOlB;CACJ;AAED,OAAO,QAAQ,uBAAuB,CAAC;IACnC,UAAU,OAAO;QACb,QAAQ,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAA;QACzC,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,YAAY,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;KAChD;CACJ"} \ No newline at end of file diff --git a/dist/structures/Context.js b/dist/structures/Context.js index 3136adc..e080afa 100644 --- a/dist/structures/Context.js +++ b/dist/structures/Context.js @@ -2,7 +2,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.Context = void 0; const forgescript_1 = require("@tryforge/forgescript"); -const discord_js_1 = require("discord.js"); const Giveaway_1 = require("./Giveaway"); class Context extends forgescript_1.Context { runtime; @@ -26,14 +25,6 @@ class Context extends forgescript_1.Context { ? this.obj : null); } - get interaction() { - return (this.#cache.interaction ??= - "baseInteraction" in this.obj - ? this.obj.baseInteraction - : this.obj instanceof discord_js_1.BaseInteraction - ? this.obj - : null); - } } exports.Context = Context; //# sourceMappingURL=Context.js.map \ No newline at end of file diff --git a/dist/structures/Context.js.map b/dist/structures/Context.js.map index 3a01bbd..513d761 100644 --- a/dist/structures/Context.js.map +++ b/dist/structures/Context.js.map @@ -1 +1 @@ -{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":";;;AAAA,uDAA6E;AAE7E,2CAAoE;AACpE,yCAAoD;AAYpD,MAAa,OAAQ,SAAQ,qBAAW;IAKD;IAJnC,MAAM,GAAmC,EAAE,CAAA;IAE3C,YAAY,GAAmC,EAAE,CAAA;IAEjD,YAAmC,OAA0B;QACzD,KAAK,CAAC,OAAO,CAAC,CAAA;QADiB,YAAO,GAAP,OAAO,CAAmB;IAE7D,CAAC;IAED,IAAW,GAAG;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;IAC3B,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IAC9B,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;YACxB,UAAU,IAAI,IAAI,CAAC,GAAG;gBAClB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAoB;gBAC/B,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,mBAAQ;oBAC1B,CAAC,CAAC,IAAI,CAAC,GAAG;oBACV,CAAC,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAED,IAAW,WAAW;QAClB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;YAC3B,iBAAiB,IAAI,IAAI,CAAC,GAAG;gBACzB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,eAA8B;gBACzC,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,4BAAe;oBACjC,CAAC,CAAC,IAAI,CAAC,GAAkB;oBACzB,CAAC,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;CACJ;AAlCD,0BAkCC"} \ No newline at end of file +{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../src/structures/Context.ts"],"names":[],"mappings":";;;AAAA,uDAA6E;AAG7E,yCAAoD;AAYpD,MAAa,OAAQ,SAAQ,qBAAW;IAKD;IAJnC,MAAM,GAAmC,EAAE,CAAA;IAE3C,YAAY,GAAmC,EAAE,CAAA;IAEjD,YAAmC,OAA0B;QACzD,KAAK,CAAC,OAAO,CAAC,CAAA;QADiB,YAAO,GAAP,OAAO,CAAmB;IAE7D,CAAC;IAED,IAAW,GAAG;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;IAC3B,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IAC9B,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;YACxB,UAAU,IAAI,IAAI,CAAC,GAAG;gBAClB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAoB;gBAC/B,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,mBAAQ;oBAC1B,CAAC,CAAC,IAAI,CAAC,GAAG;oBACV,CAAC,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;CACJ;AAzBD,0BAyBC"} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index b48f904..0cd20ab 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index ae0d0d4..cb6a74d 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    constructor +Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      -

      Parameters

      • Optionalprops: Partial<IRunnable>
      • OptionalsyncVars: boolean

      Returns Context

    • Returns Context

    • Returns IRunnable

    • Parameters

      • name: string

      Returns boolean

    • Parameters

      • name: string

      Returns boolean

    • Fetches all emojis of the application.

      -

      Parameters

      • Optionalonce: boolean

        Whether to fetch only when the collection is empty.

        -

      Returns Promise<void | Collection<string, ApplicationEmoji>>

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    +

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    onboarding: Partial<IOnboardingOptions>
    requirements: Partial<IGiveawayRequirements> = {}
    scheduledEvent: Partial<IScheduledEventOptions>
    timezone: string
    welcomeScreenChannels?: WelcomeChannelData[]

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      +

      Parameters

      • Optionalprops: Partial<IRunnable>
      • OptionalsyncVars: boolean

      Returns Context

    • Returns Context

    • Parameters

      • name: string

      Returns boolean

    • Parameters

      • name: string

      Returns boolean

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns undefined | boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    diff --git a/docs/classes/Database.html b/docs/classes/Database.html index 8deac50..cba00b1 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    constructor +Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    Properties

    database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      +

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      Parameters

      • id: string

        The id of the giveaway to delete.

        -

      Returns Promise<DeleteResult>

    • Gets an existing giveaway.

      +

    Returns Promise<DeleteResult>

    • Saves a giveaway in the database.

      +

    Returns Promise<null | Giveaway>

    +

    Returns Promise<void>

    diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index fbf6208..6f460f4 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    constructor +ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    Properties

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    -
    targetVersions?: string[]

    Only the versions written here will be allowed

    -
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    +

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    +
    targetVersions?: string[]

    Only the versions written here will be allowed

    +
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index 9eb0bde..a89688f 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    constructor +Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | Giveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Returns whether a user has entered this giveaway.

      Parameters

      • userID: string

        The user to check for.

        -

      Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | Giveaway

    diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 4c5f2ae..faa0b6e 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    constructor +GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    Properties

    Accessors

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    +

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 152b214..1806d39 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    constructor +GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    Properties

    Methods

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    +

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index f9a0cf5..7c89456 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    constructor +GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    +

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 7c2ec74..5251ce6 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    +GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 0fce32c..f7ae163 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,17 +1,17 @@ -GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    constructor +GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    Methods

    Constructors

    Methods

    • Edits an existing giveaway.

      +

    Constructors

    Methods

    • Ends an existing giveaway.

      +

    Returns Promise<null | Giveaway>

    • Rerolls an existing giveaway.

      +

    Returns Promise<undefined | Giveaway>

    • Rerolls an existing giveaway.

      Parameters

      • id: string

        The id of the giveaway to reroll.

      • unique: boolean = false

        Whether to not include the previous winners.

      • Optionalamount: number

        The amount of new winners.

        -

      Returns Promise<undefined | Giveaway>

    • Starts a new giveaway on a guild.

      +

    Returns Promise<undefined | Giveaway>

    +

    Returns Promise<undefined | Giveaway>

    diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index 33ca79e..e17deb2 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    constructor +MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    mongoId?: string

    The object id for MongoDB.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    mongoId?: string

    The object id for MongoDB.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | MongoGiveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | MongoGiveaway

    diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 768ed0c..ec323c3 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    automod +IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    +

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index e3b1eeb..b03f288 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
        suppressErrors?: boolean;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    allowTopLevelReturn?: boolean
    args?: string[]

    The args used in the message command

    -
    client: ForgeClient

    The available discord client

    +
    client: ForgeClient

    The available discord client

    command: null | BaseCommand<unknown>

    The command used for this execution

    container?: Container

    The container reference to use

    -
    data: IExtendedCompilationResult

    The compiled data to execute

    +
    data: IExtendedCompilationResult

    The compiled data to execute

    disableConsoleErrors?: boolean

    Removes errors output to console

    doNotSend?: boolean

    Whether to suppress sending the response to discord.

    environment?: Record<string, unknown>

    The already existing env variables

    -
    extras?: unknown

    Extras data

    -
    keywords?: Record<string, string>

    The already existing variables defined with $let

    -

    The context this code will run in

    -
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    -

    The old and new states of an event

    -
    +
    extras?: unknown

    Extras data

    +
    keywords?: Record<string, string>

    The already existing variables defined with $let

    +

    The context this code will run in

    +
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    +

    The old and new states of an event

    +
    suppressErrors?: boolean

    Whether to suppress forge errors from being thrown

    +
    diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index 247f4a5..2d8bac6 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    audit +IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer | PartialPollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    +

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer | PartialPollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 3ba6aff..dea1baa 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,7 +1,7 @@ -IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        startMessage?: string;
        useDefault?: boolean;
    }

    Properties

    events? +IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        startMessage?: string;
        useDefault?: boolean;
    }

    Properties

    events?: keyof IGiveawayEvents

    The giveaway events to use.

    -
    startMessage?: string

    The code to use as start message for giveaways. Only works if default messages are disabled.

    -
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    -
    +
    startMessage?: string

    The code to use as start message for giveaways. Only works if default messages are disabled.

    +
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    +
    diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 1644dfa..c21a7dd 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID +IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index e878750..90368ce 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,4 +1,4 @@ -IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEdit: [Giveaway, Giveaway];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Interaction, Giveaway, Giveaway];
        giveawayEntryRemove: [Interaction, Giveaway, Giveaway];
        giveawayEntryRevoked: [Interaction, Giveaway];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect +IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEdit: [Giveaway, Giveaway];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Interaction, Giveaway, Giveaway];
        giveawayEntryRemove: [Interaction, Giveaway, Giveaway];
        giveawayEntryRevoked: [Interaction, Giveaway];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect: []
    giveawayEdit: [Giveaway, Giveaway]
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Interaction, Giveaway, Giveaway]
    giveawayEntryRemove: [Interaction, Giveaway, Giveaway]
    giveawayEntryRevoked: [Interaction, Giveaway]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    +

    Properties

    databaseConnect: []
    giveawayEdit: [Giveaway, Giveaway]
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Interaction, Giveaway, Giveaway]
    giveawayEntryRemove: [Interaction, Giveaway, Giveaway]
    giveawayEntryRevoked: [Interaction, Giveaway]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index 25580dd..336d149 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles? +IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    +

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 07b70f0..fbdc3ca 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID +IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index 4d580f5..2a8f336 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    +AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index 42a9e42..99a4f78 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    +ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index 1004878..e1a8085 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    +ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index aab3b06..6436876 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    +IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    diff --git a/package-lock.json b/package-lock.json index 977394a..bc21f99 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ }, "devDependencies": { "@tryforge/forge.db": "^2.1.1", - "@tryforge/forgescript": "^2.5.0", + "@tryforge/forgescript": "github:xNickyDev/FudgeScript#dev", "discord.js": "^14.23.2", "typedoc": "^0.26.11", "typescript": "^5.6.3" @@ -175,6 +175,19 @@ "node": ">=14" } }, + "node_modules/@iamtraction/google-translate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@iamtraction/google-translate/-/google-translate-2.0.1.tgz", + "integrity": "sha512-kOTkt23zflxpgxLIe9tLvDU8IvNscXYbgMSXydNkZGWDtJ75YJiU3v7EBz+t7h/gSiY7sT5r4dlFkMrHCl+N6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici": "^5.12.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -335,14 +348,14 @@ } }, "node_modules/@tryforge/forgescript": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@tryforge/forgescript/-/forgescript-2.5.0.tgz", - "integrity": "sha512-DhD7FfgzbR81Oc6l6PCgKQTP5O67CovZxL6IEIPCHZOg72ptsg9OQzJQbLOFCJspRiGZIZcZYhnOvErLXm/04g==", + "version": "2.6.0", + "resolved": "git+ssh://git@github.com/xNickyDev/FudgeScript.git#0a3abaa86bd1e2040bac6f040fb498c98a373009", "dev": true, "license": "GPL-3.0", "dependencies": { + "@iamtraction/google-translate": "^2.0.1", "chalk": "^4.1.2", - "discord.js": "^14.22.1", + "discord.js": "^14.23.2", "ms-utility": "^3.3.0", "tiny-typed-emitter": "^2.1.0", "undici": "^5.23.0" diff --git a/package.json b/package.json index 154b944..ad2042f 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "license": "GPL-3.0", "devDependencies": { "@tryforge/forge.db": "^2.1.1", - "@tryforge/forgescript": "^2.5.0", + "@tryforge/forgescript": "github:xNickyDev/FudgeScript#dev", "discord.js": "^14.23.2", "typedoc": "^0.26.11", "typescript": "^5.6.3" diff --git a/src/events/giveawayEntryAdd.ts b/src/events/giveawayEntryAdd.ts index 41cd8ab..b84ccf0 100644 --- a/src/events/giveawayEntryAdd.ts +++ b/src/events/giveawayEntryAdd.ts @@ -13,7 +13,7 @@ export default new GiveawaysEventHandler({ for (const command of commands) { const ctx = new Context({ obj: { - baseInteraction: int, + interaction: int, giveaway: newer }, command, diff --git a/src/events/giveawayEntryRemove.ts b/src/events/giveawayEntryRemove.ts index 28cafa7..d992f0e 100644 --- a/src/events/giveawayEntryRemove.ts +++ b/src/events/giveawayEntryRemove.ts @@ -13,7 +13,7 @@ export default new GiveawaysEventHandler({ for (const command of commands) { const ctx = new Context({ obj: { - baseInteraction: int, + interaction: int, giveaway: newer }, command, diff --git a/src/events/giveawayEntryRevoked.ts b/src/events/giveawayEntryRevoked.ts index 4686abc..acac881 100644 --- a/src/events/giveawayEntryRevoked.ts +++ b/src/events/giveawayEntryRevoked.ts @@ -13,7 +13,7 @@ export default new GiveawaysEventHandler({ for (const command of commands) { const ctx = new Context({ obj: { - baseInteraction: int, + interaction: int, giveaway: gw }, command, diff --git a/src/structures/Context.ts b/src/structures/Context.ts index c278faf..7e065bd 100644 --- a/src/structures/Context.ts +++ b/src/structures/Context.ts @@ -1,6 +1,6 @@ import { Context as BaseContext, IContextCache } from "@tryforge/forgescript" import { ExtendedStates, IExtendedRunnable } from "../types" -import { BaseInteraction, Interaction, Snowflake } from "discord.js" +import { Snowflake } from "discord.js" import { Giveaway, MongoGiveaway } from "./Giveaway" export interface IExtendedContextCache extends IContextCache { @@ -38,21 +38,11 @@ export class Context extends BaseContext { ? this.obj : null) } - - public get interaction() { - return (this.#cache.interaction ??= - "baseInteraction" in this.obj - ? this.obj.baseInteraction as Interaction - : this.obj instanceof BaseInteraction - ? this.obj as Interaction - : null) - } } declare module "@tryforge/forgescript" { interface Context { giveaway: Giveaway | MongoGiveaway | null - interaction: Interaction | null extendedStates?: ExtendedStates requirements?: Partial } From e3ed24404f6c1a423dd97ce33377b96c2ec90030 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Tue, 21 Oct 2025 23:18:39 +0200 Subject: [PATCH 75/87] Add interaction obj --- README.md | 6 +-- dist/events/giveawayEntryAdd.d.ts.map | 2 +- dist/events/giveawayEntryAdd.js | 7 +-- dist/events/giveawayEntryAdd.js.map | 2 +- dist/events/giveawayEntryRemove.d.ts.map | 2 +- dist/events/giveawayEntryRemove.js | 7 +-- dist/events/giveawayEntryRemove.js.map | 2 +- dist/events/giveawayEntryRevoked.d.ts.map | 2 +- dist/events/giveawayEntryRevoked.js | 7 +-- dist/events/giveawayEntryRevoked.js.map | 2 +- dist/handlers/GiveawaysEventHandler.d.ts | 6 +-- dist/handlers/GiveawaysEventHandler.d.ts.map | 2 +- dist/handlers/GiveawaysInteractionHandler.js | 6 +-- .../GiveawaysInteractionHandler.js.map | 2 +- docs/classes/Context.html | 16 +++---- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 12 ++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/index.html | 4 +- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 20 ++++----- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 8 ++-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- package-lock.json | 23 +++------- package.json | 2 +- src/events/giveawayEntryAdd.ts | 7 +-- src/events/giveawayEntryRemove.ts | 7 +-- src/events/giveawayEntryRevoked.ts | 7 +-- src/handlers/GiveawaysEventHandler.ts | 6 +-- src/handlers/GiveawaysInteractionHandler.ts | 6 +-- 44 files changed, 147 insertions(+), 182 deletions(-) diff --git a/README.md b/README.md index b1895fe..03f7777 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ ForgeGiveaways is a lightweight, flexible, and reliable extension for managing g client.login("YourToken") ``` -> [!INFO] +> [!NOTE] > View all available client options [here](https://github.com/tryforge/ForgeGiveaways/blob/main/src/index.ts#L8).

    Custom Messages


    @@ -71,8 +71,8 @@ module.exports = { type: "giveawayEnd", code: ` $sendMessage[$giveawayChannelID; - $reply[$giveawayChannelID;$giveawayMessageID;true] - 🏆 **Winners:** <@$newGiveaway[winners;>, <@]> + $reply[$giveawayChannelID;$giveawayMessageID;true] + 🏆 **Winners:** <@$newGiveaway[winners;>, <@]> ] ` } diff --git a/dist/events/giveawayEntryAdd.d.ts.map b/dist/events/giveawayEntryAdd.d.ts.map index 307f352..cdbbedf 100644 --- a/dist/events/giveawayEntryAdd.d.ts.map +++ b/dist/events/giveawayEntryAdd.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryAdd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBA2BE"} \ No newline at end of file +{"version":3,"file":"giveawayEntryAdd.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAwBE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryAdd.js b/dist/events/giveawayEntryAdd.js index b162786..4e38494 100644 --- a/dist/events/giveawayEntryAdd.js +++ b/dist/events/giveawayEntryAdd.js @@ -8,14 +8,11 @@ exports.default = new handlers_1.GiveawaysEventHandler({ name: "giveawayEntryAdd", version: "1.0.0", description: "This event is fired when a giveaway entry is added", - listener: async function (int, old, newer) { + listener: async function (old, newer, int) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEntryAdd"); for (const command of commands) { const ctx = new structures_1.Context({ - obj: { - interaction: int, - giveaway: newer - }, + obj: int, command, client: this, states: { diff --git a/dist/events/giveawayEntryAdd.js.map b/dist/events/giveawayEntryAdd.js.map index e9f20fd..84b527b 100644 --- a/dist/events/giveawayEntryAdd.js.map +++ b/dist/events/giveawayEntryAdd.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,GAAG,EAAE,KAAK;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAEzF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,KAAK;iBAClB;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryAdd.js","sourceRoot":"","sources":["../../src/events/giveawayEntryAdd.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK,EAAE,GAAG;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAEzF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,GAAG;gBACR,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.d.ts.map b/dist/events/giveawayEntryRemove.d.ts.map index a3ab2c9..837d587 100644 --- a/dist/events/giveawayEntryRemove.d.ts.map +++ b/dist/events/giveawayEntryRemove.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRemove.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBA2BE"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRemove.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAwBE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRemove.js b/dist/events/giveawayEntryRemove.js index 43b3d02..92035d7 100644 --- a/dist/events/giveawayEntryRemove.js +++ b/dist/events/giveawayEntryRemove.js @@ -8,14 +8,11 @@ exports.default = new handlers_1.GiveawaysEventHandler({ name: "giveawayEntryRemove", version: "1.0.0", description: "This event is fired when a giveaway entry is removed", - listener: async function (int, old, newer) { + listener: async function (old, newer, int) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEntryRemove"); for (const command of commands) { const ctx = new structures_1.Context({ - obj: { - interaction: int, - giveaway: newer - }, + obj: int, command, client: this, states: { diff --git a/dist/events/giveawayEntryRemove.js.map b/dist/events/giveawayEntryRemove.js.map index 19f5a87..898be53 100644 --- a/dist/events/giveawayEntryRemove.js.map +++ b/dist/events/giveawayEntryRemove.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,GAAG,EAAE,KAAK;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE5F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,KAAK;iBAClB;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRemove.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRemove.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK,EAAE,GAAG;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE5F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,GAAG;gBACR,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRevoked.d.ts.map b/dist/events/giveawayEntryRevoked.d.ts.map index ef587c7..cb7ad85 100644 --- a/dist/events/giveawayEntryRevoked.d.ts.map +++ b/dist/events/giveawayEntryRevoked.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRevoked.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoked.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBA0BE"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRevoked.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoked.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAuBE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRevoked.js b/dist/events/giveawayEntryRevoked.js index ec0b4c7..5a69788 100644 --- a/dist/events/giveawayEntryRevoked.js +++ b/dist/events/giveawayEntryRevoked.js @@ -8,14 +8,11 @@ exports.default = new handlers_1.GiveawaysEventHandler({ name: "giveawayEntryRevoked", version: "1.0.0", description: "This event is fired when a giveaway entry is revoked", - listener: async function (int, gw) { + listener: async function (gw, int) { const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEntryRevoked"); for (const command of commands) { const ctx = new structures_1.Context({ - obj: { - interaction: int, - giveaway: gw - }, + obj: int, command, client: this, states: { diff --git a/dist/events/giveawayEntryRevoked.js.map b/dist/events/giveawayEntryRevoked.js.map index 9b2ea4f..e226705 100644 --- a/dist/events/giveawayEntryRevoked.js.map +++ b/dist/events/giveawayEntryRevoked.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntryRevoked.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoked.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QAE7F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE;oBACD,WAAW,EAAE,GAAG;oBAChB,QAAQ,EAAE,EAAE;iBACf;gBACD,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntryRevoked.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoked.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,EAAE,EAAE,GAAG;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QAE7F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,GAAG;gBACR,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/handlers/GiveawaysEventHandler.d.ts b/dist/handlers/GiveawaysEventHandler.d.ts index e1990dc..ba0bc51 100644 --- a/dist/handlers/GiveawaysEventHandler.d.ts +++ b/dist/handlers/GiveawaysEventHandler.d.ts @@ -7,9 +7,9 @@ export interface IGiveawayEvents { giveawayEnd: [Giveaway]; giveawayEdit: [Giveaway, Giveaway]; giveawayReroll: [Giveaway, Giveaway]; - giveawayEntryAdd: [Interaction, Giveaway, Giveaway]; - giveawayEntryRemove: [Interaction, Giveaway, Giveaway]; - giveawayEntryRevoked: [Interaction, Giveaway]; + giveawayEntryAdd: [Giveaway, Giveaway, Interaction]; + giveawayEntryRemove: [Giveaway, Giveaway, Interaction]; + giveawayEntryRevoked: [Giveaway, Interaction]; } export declare class GiveawaysEventHandler extends BaseEventHandler { register(client: ForgeClient): void; diff --git a/dist/handlers/GiveawaysEventHandler.d.ts.map b/dist/handlers/GiveawaysEventHandler.d.ts.map index 70c732a..8831246 100644 --- a/dist/handlers/GiveawaysEventHandler.d.ts.map +++ b/dist/handlers/GiveawaysEventHandler.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,WAAW,eAAe;IAC5B,eAAe,EAAE,EAAE,CAAA;IACnB,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClC,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,gBAAgB,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACnD,mBAAmB,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACtD,oBAAoB,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;CAChD;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,WAAW,eAAe;IAC5B,eAAe,EAAE,EAAE,CAAA;IACnB,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClC,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACnD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACtD,oBAAoB,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;CAChD;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file diff --git a/dist/handlers/GiveawaysInteractionHandler.js b/dist/handlers/GiveawaysInteractionHandler.js index 3d4c54b..d305223 100644 --- a/dist/handlers/GiveawaysInteractionHandler.js +++ b/dist/handlers/GiveawaysInteractionHandler.js @@ -34,7 +34,7 @@ class GiveawaysInteractionHandler { content: `❌ You do not meet the requirements to enter this giveaway!`, flags: discord_js_1.MessageFlags.Ephemeral, }).catch(noop_1.default); - client.emitter.emit("giveawayEntryRevoked", interaction, giveaway); + client.emitter.emit("giveawayEntryRevoked", giveaway, interaction); return; } const oldGiveaway = giveaway.clone(); @@ -42,12 +42,12 @@ class GiveawaysInteractionHandler { if (entered) { giveaway.removeEntry(member.user.id); await structures_1.Database.set(giveaway).catch(noop_1.default); - client.emitter.emit("giveawayEntryRemove", interaction, oldGiveaway, giveaway); + client.emitter.emit("giveawayEntryRemove", oldGiveaway, giveaway, interaction); } else { giveaway.addEntry(member.user.id); await structures_1.Database.set(giveaway).catch(noop_1.default); - client.emitter.emit("giveawayEntryAdd", interaction, oldGiveaway, giveaway); + client.emitter.emit("giveawayEntryAdd", oldGiveaway, giveaway, interaction); } await interaction.reply({ content: `✅ You have successfully ${entered ? "left" : "joined"} this giveaway.`, diff --git a/dist/handlers/GiveawaysInteractionHandler.js.map b/dist/handlers/GiveawaysInteractionHandler.js.map index 6cdf55e..46e3aa7 100644 --- a/dist/handlers/GiveawaysInteractionHandler.js.map +++ b/dist/handlers/GiveawaysInteractionHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":";;;;;;AACA,2CAAyC;AACzC,0BAAmC;AACnC,8CAAwC;AACxC,8CAA4E;AAC5E,6DAAoC;AAEpC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;gBAAE,OAAM;YAE7D,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpD,IAAI,MAAM,KAAK,eAAe;gBAAE,OAAM;YAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;gBAC3D,OAAM;YACV,CAAC;YAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YAEjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,WAAW,CAAC,KAAK,CAAC;oBACpB,OAAO,EAAE,4DAA4D;oBACrE,KAAK,EAAE,yBAAY,CAAC,SAAS;iBAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACd,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;gBAClE,OAAM;YACV,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEnD,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACpC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClF,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACjC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAC/E,CAAC;YAED,MAAM,WAAW,CAAC,KAAK,CAAC;gBACpB,OAAO,EAAE,2BAA2B,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,iBAAiB;gBAChF,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAjDD,kEAiDC"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":";;;;;;AACA,2CAAyC;AACzC,0BAAmC;AACnC,8CAAwC;AACxC,8CAA4E;AAC5E,6DAAoC;AAEpC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;gBAAE,OAAM;YAE7D,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpD,IAAI,MAAM,KAAK,eAAe;gBAAE,OAAM;YAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;gBAC3D,OAAM;YACV,CAAC;YAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YAEjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,WAAW,CAAC,KAAK,CAAC;oBACpB,OAAO,EAAE,4DAA4D;oBACrE,KAAK,EAAE,yBAAY,CAAC,SAAS;iBAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACd,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;gBAClE,OAAM;YACV,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEnD,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACpC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YAClF,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACjC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YAC/E,CAAC;YAED,MAAM,WAAW,CAAC,KAAK,CAAC;gBACpB,OAAO,EAAE,2BAA2B,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,iBAAiB;gBAChF,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAjDD,kEAiDC"} \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index cb6a74d..3bd2a6a 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    constructor +Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    onboarding: Partial<IOnboardingOptions>
    requirements: Partial<IGiveawayRequirements> = {}
    scheduledEvent: Partial<IScheduledEventOptions>
    timezone: string
    welcomeScreenChannels?: WelcomeChannelData[]

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      -

      Parameters

      • Optionalprops: Partial<IRunnable>
      • OptionalsyncVars: boolean

      Returns Context

    • Returns Context

    • Parameters

      • name: string

      Returns boolean

    • Parameters

      • name: string

      Returns boolean

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns undefined | boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    +

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      +

      Parameters

      • Optionalprops: Partial<IRunnable>
      • OptionalsyncVars: boolean

      Returns Context

    • Returns Context

    • Returns IRunnable

    • Parameters

      • name: string

      Returns boolean

    • Parameters

      • name: string

      Returns boolean

    • Fetches all emojis of the application.

      +

      Parameters

      • Optionalonce: boolean

        Whether to fetch only when the collection is empty.

        +

      Returns Promise<void | Collection<string, ApplicationEmoji>>

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    diff --git a/docs/classes/Database.html b/docs/classes/Database.html index cba00b1..3fcada7 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    constructor +Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    Properties

    database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      +

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      Parameters

      • id: string

        The id of the giveaway to delete.

        -

      Returns Promise<DeleteResult>

    • Gets an existing giveaway.

      +

    Returns Promise<DeleteResult>

    • Saves a giveaway in the database.

      +

    Returns Promise<null | Giveaway>

    +

    Returns Promise<void>

    diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 6f460f4..4f51ff9 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    constructor +ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    Properties

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    -
    targetVersions?: string[]

    Only the versions written here will be allowed

    -
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    +

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    +
    targetVersions?: string[]

    Only the versions written here will be allowed

    +
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index a89688f..ba76f6b 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    constructor +Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | Giveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Returns whether a user has entered this giveaway.

      Parameters

      • userID: string

        The user to check for.

        -

      Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | Giveaway

    diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index faa0b6e..eba880d 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    constructor +GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    Properties

    Accessors

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    +

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 1806d39..78afa34 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    constructor +GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    Properties

    Methods

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    +

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 7c89456..7ea6e82 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    constructor +GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    +

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 5251ce6..bbcdc43 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    +GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index f7ae163..3b0d55d 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,17 +1,17 @@ -GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    constructor +GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    Methods

    Constructors

    Methods

    • Edits an existing giveaway.

      +

    Constructors

    Methods

    • Ends an existing giveaway.

      +

    Returns Promise<null | Giveaway>

    • Rerolls an existing giveaway.

      +

    Returns Promise<undefined | Giveaway>

    • Rerolls an existing giveaway.

      Parameters

      • id: string

        The id of the giveaway to reroll.

      • unique: boolean = false

        Whether to not include the previous winners.

      • Optionalamount: number

        The amount of new winners.

        -

      Returns Promise<undefined | Giveaway>

    • Starts a new giveaway on a guild.

      +

    Returns Promise<undefined | Giveaway>

    +

    Returns Promise<undefined | Giveaway>

    diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index e17deb2..f3b6767 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    constructor +MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    mongoId?: string

    The object id for MongoDB.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    mongoId?: string

    The object id for MongoDB.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | MongoGiveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | MongoGiveaway

    diff --git a/docs/index.html b/docs/index.html index 94b164c..7fa9c9b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -32,12 +32,12 @@

    Installation


    -

    [!INFO] +

    [!NOTE] View all available client options here.

    Custom Messages


    You can disable the default messages by setting useDefault: false in the client options, and override them with custom messages emitted through events. Use desired functions to retrieve information about the current giveaway.

    -
    module.exports = {
    type: "giveawayEnd",
    code: `
    $sendMessage[$giveawayChannelID;
    $reply[$giveawayChannelID;$giveawayMessageID;true]
    🏆 **Winners:** <@$newGiveaway[winners;>, <@]>
    ]
    `
    } +
    module.exports = {
    type: "giveawayEnd",
    code: `
    $sendMessage[$giveawayChannelID;
    $reply[$giveawayChannelID;$giveawayMessageID;true]
    🏆 **Winners:** <@$newGiveaway[winners;>, <@]>
    ]
    `
    }

    Handling Interactions


    diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index ec323c3..0b38d94 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    automod +IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    +

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index b03f288..91f5b21 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
        suppressErrors?: boolean;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    allowTopLevelReturn?: boolean
    args?: string[]

    The args used in the message command

    -
    client: ForgeClient

    The available discord client

    +
    client: ForgeClient

    The available discord client

    command: null | BaseCommand<unknown>

    The command used for this execution

    container?: Container

    The container reference to use

    -
    data: IExtendedCompilationResult

    The compiled data to execute

    +
    data: IExtendedCompilationResult

    The compiled data to execute

    disableConsoleErrors?: boolean

    Removes errors output to console

    doNotSend?: boolean

    Whether to suppress sending the response to discord.

    environment?: Record<string, unknown>

    The already existing env variables

    -
    extras?: unknown

    Extras data

    -
    keywords?: Record<string, string>

    The already existing variables defined with $let

    -

    The context this code will run in

    -
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    -

    The old and new states of an event

    -
    suppressErrors?: boolean

    Whether to suppress forge errors from being thrown

    -
    +
    extras?: unknown

    Extras data

    +
    keywords?: Record<string, string>

    The already existing variables defined with $let

    +

    The context this code will run in

    +
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    +

    The old and new states of an event

    +
    diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index 2d8bac6..43e7b3e 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer | PartialPollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    audit +IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer | PartialPollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    +

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index dea1baa..962a13b 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,7 +1,7 @@ -IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        startMessage?: string;
        useDefault?: boolean;
    }

    Properties

    events? +IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        startMessage?: string;
        useDefault?: boolean;
    }

    Properties

    events?: keyof IGiveawayEvents

    The giveaway events to use.

    -
    startMessage?: string

    The code to use as start message for giveaways. Only works if default messages are disabled.

    -
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    -
    +
    startMessage?: string

    The code to use as start message for giveaways. Only works if default messages are disabled.

    +
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    +
    diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index c21a7dd..8353821 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID +IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 90368ce..ce48857 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,4 +1,4 @@ -IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEdit: [Giveaway, Giveaway];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Interaction, Giveaway, Giveaway];
        giveawayEntryRemove: [Interaction, Giveaway, Giveaway];
        giveawayEntryRevoked: [Interaction, Giveaway];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect +IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEdit: [Giveaway, Giveaway];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect: []
    giveawayEdit: [Giveaway, Giveaway]
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Interaction, Giveaway, Giveaway]
    giveawayEntryRemove: [Interaction, Giveaway, Giveaway]
    giveawayEntryRevoked: [Interaction, Giveaway]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    +

    Properties

    databaseConnect: []
    giveawayEdit: [Giveaway, Giveaway]
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index 336d149..c1d5b21 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles? +IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    +

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index fbdc3ca..bc108d4 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID +IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index 2a8f336..00f67fe 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    +AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index 99a4f78..9d56dbb 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    +ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index e1a8085..cdc21be 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    +ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 6436876..60a380b 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    +IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    diff --git a/package-lock.json b/package-lock.json index bc21f99..977394a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ }, "devDependencies": { "@tryforge/forge.db": "^2.1.1", - "@tryforge/forgescript": "github:xNickyDev/FudgeScript#dev", + "@tryforge/forgescript": "^2.5.0", "discord.js": "^14.23.2", "typedoc": "^0.26.11", "typescript": "^5.6.3" @@ -175,19 +175,6 @@ "node": ">=14" } }, - "node_modules/@iamtraction/google-translate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@iamtraction/google-translate/-/google-translate-2.0.1.tgz", - "integrity": "sha512-kOTkt23zflxpgxLIe9tLvDU8IvNscXYbgMSXydNkZGWDtJ75YJiU3v7EBz+t7h/gSiY7sT5r4dlFkMrHCl+N6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici": "^5.12.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -348,14 +335,14 @@ } }, "node_modules/@tryforge/forgescript": { - "version": "2.6.0", - "resolved": "git+ssh://git@github.com/xNickyDev/FudgeScript.git#0a3abaa86bd1e2040bac6f040fb498c98a373009", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@tryforge/forgescript/-/forgescript-2.5.0.tgz", + "integrity": "sha512-DhD7FfgzbR81Oc6l6PCgKQTP5O67CovZxL6IEIPCHZOg72ptsg9OQzJQbLOFCJspRiGZIZcZYhnOvErLXm/04g==", "dev": true, "license": "GPL-3.0", "dependencies": { - "@iamtraction/google-translate": "^2.0.1", "chalk": "^4.1.2", - "discord.js": "^14.23.2", + "discord.js": "^14.22.1", "ms-utility": "^3.3.0", "tiny-typed-emitter": "^2.1.0", "undici": "^5.23.0" diff --git a/package.json b/package.json index ad2042f..154b944 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "license": "GPL-3.0", "devDependencies": { "@tryforge/forge.db": "^2.1.1", - "@tryforge/forgescript": "github:xNickyDev/FudgeScript#dev", + "@tryforge/forgescript": "^2.5.0", "discord.js": "^14.23.2", "typedoc": "^0.26.11", "typescript": "^5.6.3" diff --git a/src/events/giveawayEntryAdd.ts b/src/events/giveawayEntryAdd.ts index b84ccf0..8b11e58 100644 --- a/src/events/giveawayEntryAdd.ts +++ b/src/events/giveawayEntryAdd.ts @@ -7,15 +7,12 @@ export default new GiveawaysEventHandler({ name: "giveawayEntryAdd", version: "1.0.0", description: "This event is fired when a giveaway entry is added", - listener: async function(int, old, newer) { + listener: async function(old, newer, int) { const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEntryAdd") for (const command of commands) { const ctx = new Context({ - obj: { - interaction: int, - giveaway: newer - }, + obj: int, command, client: this, states: { diff --git a/src/events/giveawayEntryRemove.ts b/src/events/giveawayEntryRemove.ts index d992f0e..7b9256e 100644 --- a/src/events/giveawayEntryRemove.ts +++ b/src/events/giveawayEntryRemove.ts @@ -7,15 +7,12 @@ export default new GiveawaysEventHandler({ name: "giveawayEntryRemove", version: "1.0.0", description: "This event is fired when a giveaway entry is removed", - listener: async function(int, old, newer) { + listener: async function(old, newer, int) { const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEntryRemove") for (const command of commands) { const ctx = new Context({ - obj: { - interaction: int, - giveaway: newer - }, + obj: int, command, client: this, states: { diff --git a/src/events/giveawayEntryRevoked.ts b/src/events/giveawayEntryRevoked.ts index acac881..2847e63 100644 --- a/src/events/giveawayEntryRevoked.ts +++ b/src/events/giveawayEntryRevoked.ts @@ -7,15 +7,12 @@ export default new GiveawaysEventHandler({ name: "giveawayEntryRevoked", version: "1.0.0", description: "This event is fired when a giveaway entry is revoked", - listener: async function(int, gw) { + listener: async function(gw, int) { const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEntryRevoked") for (const command of commands) { const ctx = new Context({ - obj: { - interaction: int, - giveaway: gw - }, + obj: int, command, client: this, states: { diff --git a/src/handlers/GiveawaysEventHandler.ts b/src/handlers/GiveawaysEventHandler.ts index b04ec3c..e5f69fb 100644 --- a/src/handlers/GiveawaysEventHandler.ts +++ b/src/handlers/GiveawaysEventHandler.ts @@ -9,9 +9,9 @@ export interface IGiveawayEvents { giveawayEnd: [Giveaway] giveawayEdit: [Giveaway, Giveaway] giveawayReroll: [Giveaway, Giveaway] - giveawayEntryAdd: [Interaction, Giveaway, Giveaway] - giveawayEntryRemove: [Interaction, Giveaway, Giveaway] - giveawayEntryRevoked: [Interaction, Giveaway] + giveawayEntryAdd: [Giveaway, Giveaway, Interaction] + giveawayEntryRemove: [Giveaway, Giveaway, Interaction] + giveawayEntryRevoked: [Giveaway, Interaction] } export class GiveawaysEventHandler extends BaseEventHandler { diff --git a/src/handlers/GiveawaysInteractionHandler.ts b/src/handlers/GiveawaysInteractionHandler.ts index eea2956..c7b5695 100644 --- a/src/handlers/GiveawaysInteractionHandler.ts +++ b/src/handlers/GiveawaysInteractionHandler.ts @@ -31,7 +31,7 @@ export class GiveawaysInteractionHandler { content: `❌ You do not meet the requirements to enter this giveaway!`, flags: MessageFlags.Ephemeral, }).catch(noop) - client.emitter.emit("giveawayEntryRevoked", interaction, giveaway) + client.emitter.emit("giveawayEntryRevoked", giveaway, interaction) return } @@ -41,11 +41,11 @@ export class GiveawaysInteractionHandler { if (entered) { giveaway.removeEntry(member.user.id) await Database.set(giveaway).catch(noop) - client.emitter.emit("giveawayEntryRemove", interaction, oldGiveaway, giveaway) + client.emitter.emit("giveawayEntryRemove", oldGiveaway, giveaway, interaction) } else { giveaway.addEntry(member.user.id) await Database.set(giveaway).catch(noop) - client.emitter.emit("giveawayEntryAdd", interaction, oldGiveaway, giveaway) + client.emitter.emit("giveawayEntryAdd", oldGiveaway, giveaway, interaction) } await interaction.reply({ From adf59ad43c731b429379fc5617ca9c184095bf91 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Tue, 21 Oct 2025 23:48:01 +0200 Subject: [PATCH 76/87] Add helper function --- dist/functions/pullGiveaway.d.ts | 3 ++ dist/functions/pullGiveaway.d.ts.map | 1 + dist/functions/pullGiveaway.js | 8 ++++ dist/functions/pullGiveaway.js.map | 1 + dist/managers/GiveawaysManager.js | 4 +- dist/managers/GiveawaysManager.js.map | 2 +- dist/native/giveawayChannelID.js | 7 ++- dist/native/giveawayChannelID.js.map | 2 +- dist/native/giveawayDuration.js | 7 ++- dist/native/giveawayDuration.js.map | 2 +- dist/native/giveawayEntries.js | 4 +- dist/native/giveawayEntries.js.map | 2 +- dist/native/giveawayGuildID.js | 7 ++- dist/native/giveawayGuildID.js.map | 2 +- dist/native/giveawayHasEnded.js | 7 ++- dist/native/giveawayHasEnded.js.map | 2 +- dist/native/giveawayHostID.js | 7 ++- dist/native/giveawayHostID.js.map | 2 +- dist/native/giveawayID.d.ts.map | 2 +- dist/native/giveawayID.js | 3 +- dist/native/giveawayID.js.map | 2 +- dist/native/giveawayMessageID.js | 7 ++- dist/native/giveawayMessageID.js.map | 2 +- dist/native/giveawayPrize.js | 7 ++- dist/native/giveawayPrize.js.map | 2 +- dist/native/giveawayRequiredRoles.js | 4 +- dist/native/giveawayRequiredRoles.js.map | 2 +- dist/native/giveawayRestrictedMembers.js | 4 +- dist/native/giveawayRestrictedMembers.js.map | 2 +- dist/native/giveawayRestrictedRoles.js | 4 +- dist/native/giveawayRestrictedRoles.js.map | 2 +- dist/native/giveawayTimestamp.js | 7 ++- dist/native/giveawayTimestamp.js.map | 2 +- dist/native/giveawayWinners.js | 4 +- dist/native/giveawayWinners.js.map | 2 +- dist/native/giveawayWinnersCount.js | 7 ++- dist/native/giveawayWinnersCount.js.map | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 12 ++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 8 ++-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- src/functions/pullGiveaway.ts | 6 +++ src/managers/GiveawaysManager.ts | 4 +- src/native/giveawayChannelID.ts | 4 +- src/native/giveawayDuration.ts | 4 +- src/native/giveawayEntries.ts | 4 +- src/native/giveawayGuildID.ts | 4 +- src/native/giveawayHasEnded.ts | 4 +- src/native/giveawayHostID.ts | 4 +- src/native/giveawayID.ts | 3 +- src/native/giveawayMessageID.ts | 4 +- src/native/giveawayPrize.ts | 4 +- src/native/giveawayRequiredRoles.ts | 4 +- src/native/giveawayRestrictedMembers.ts | 4 +- src/native/giveawayRestrictedRoles.ts | 4 +- src/native/giveawayTimestamp.ts | 4 +- src/native/giveawayWinners.ts | 4 +- src/native/giveawayWinnersCount.ts | 4 +- 76 files changed, 220 insertions(+), 172 deletions(-) create mode 100644 dist/functions/pullGiveaway.d.ts create mode 100644 dist/functions/pullGiveaway.d.ts.map create mode 100644 dist/functions/pullGiveaway.js create mode 100644 dist/functions/pullGiveaway.js.map create mode 100644 src/functions/pullGiveaway.ts diff --git a/dist/functions/pullGiveaway.d.ts b/dist/functions/pullGiveaway.d.ts new file mode 100644 index 0000000..99f1418 --- /dev/null +++ b/dist/functions/pullGiveaway.d.ts @@ -0,0 +1,3 @@ +import { Context } from "@tryforge/forgescript"; +export default function (ctx: Context, id?: string | null): Promise; +//# sourceMappingURL=pullGiveaway.d.ts.map \ No newline at end of file diff --git a/dist/functions/pullGiveaway.d.ts.map b/dist/functions/pullGiveaway.d.ts.map new file mode 100644 index 0000000..44c497a --- /dev/null +++ b/dist/functions/pullGiveaway.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"pullGiveaway.d.ts","sourceRoot":"","sources":["../../src/functions/pullGiveaway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG/C,yBAA8B,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,gEAE7D"} \ No newline at end of file diff --git a/dist/functions/pullGiveaway.js b/dist/functions/pullGiveaway.js new file mode 100644 index 0000000..4238d83 --- /dev/null +++ b/dist/functions/pullGiveaway.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = default_1; +const structures_1 = require("../structures"); +async function default_1(ctx, id) { + return (id ? await structures_1.Database.get(id) : ctx.giveaway ?? ctx.extendedStates?.giveaway?.new); +} +//# sourceMappingURL=pullGiveaway.js.map \ No newline at end of file diff --git a/dist/functions/pullGiveaway.js.map b/dist/functions/pullGiveaway.js.map new file mode 100644 index 0000000..a8f5824 --- /dev/null +++ b/dist/functions/pullGiveaway.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pullGiveaway.js","sourceRoot":"","sources":["../../src/functions/pullGiveaway.ts"],"names":[],"mappings":";;AAGA,4BAEC;AAJD,8CAAwC;AAEzB,KAAK,oBAAU,GAAY,EAAE,EAAkB;IAC1D,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;AAC5F,CAAC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 6838c30..7cbdea9 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -51,10 +51,10 @@ class GiveawaysManager { environment: { giveaway }, data: forgescript_1.Compiler.compile(this.giveaways.options.startMessage), redirectErrorsToConsole: true, + allowTopLevelReturn: true, doNotSend: true, }); - const res = result?.trim(); - msg = await this._fetchMessage(giveaway.channelID, res); + msg = await this._fetchMessage(giveaway.channelID, result?.trim()); } else { (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.NoStartMessage); diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 958d577..80aca66 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/native/giveawayChannelID.js b/dist/native/giveawayChannelID.js index 2530bce..10abfb2 100644 --- a/dist/native/giveawayChannelID.js +++ b/dist/native/giveawayChannelID.js @@ -1,7 +1,10 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const structures_1 = require("../structures"); +const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayChannelID", version: "1.0.0", @@ -19,7 +22,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Channel, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; + const giveaway = await (0, pullGiveaway_1.default)(ctx, id); return this.success(giveaway?.channelID); } }); diff --git a/dist/native/giveawayChannelID.js.map b/dist/native/giveawayChannelID.js.map index 7e0227c..430a3b4 100644 --- a/dist/native/giveawayChannelID.js.map +++ b/dist/native/giveawayChannelID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayChannelID.js","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayChannelID.js","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayDuration.js b/dist/native/giveawayDuration.js index 9aaac3d..1280808 100644 --- a/dist/native/giveawayDuration.js +++ b/dist/native/giveawayDuration.js @@ -1,7 +1,10 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const structures_1 = require("../structures"); +const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayDuration", version: "1.0.0", @@ -19,7 +22,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Number, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; + const giveaway = await (0, pullGiveaway_1.default)(ctx, id); return this.success(giveaway?.duration); } }); diff --git a/dist/native/giveawayDuration.js.map b/dist/native/giveawayDuration.js.map index abb83ed..c5574e2 100644 --- a/dist/native/giveawayDuration.js.map +++ b/dist/native/giveawayDuration.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayDuration.js","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,0CAA0C;IACvD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayDuration.js","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,0CAA0C;IACvD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayEntries.js b/dist/native/giveawayEntries.js index 521f743..aa2410b 100644 --- a/dist/native/giveawayEntries.js +++ b/dist/native/giveawayEntries.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const structures_1 = require("../structures"); +const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); const array_1 = __importDefault(require("../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayEntries", @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), async execute(ctx, [id, sep]) { - const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; + const giveaway = await (0, pullGiveaway_1.default)(ctx, id); return this.success(giveaway?.entries.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayEntries.js.map b/dist/native/giveawayEntries.js.map index 1487021..5ca2eef 100644 --- a/dist/native/giveawayEntries.js.map +++ b/dist/native/giveawayEntries.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayEntries.js","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntries.js","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AACpD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayGuildID.js b/dist/native/giveawayGuildID.js index 2e59029..01332d4 100644 --- a/dist/native/giveawayGuildID.js +++ b/dist/native/giveawayGuildID.js @@ -1,7 +1,10 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const structures_1 = require("../structures"); +const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayGuildID", version: "1.0.0", @@ -19,7 +22,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Guild, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; + const giveaway = await (0, pullGiveaway_1.default)(ctx, id); return this.success(giveaway?.guildID); } }); diff --git a/dist/native/giveawayGuildID.js.map b/dist/native/giveawayGuildID.js.map index cdaab84..6f8c26c 100644 --- a/dist/native/giveawayGuildID.js.map +++ b/dist/native/giveawayGuildID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayGuildID.js","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,KAAK;IACrB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayGuildID.js","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,KAAK;IACrB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayHasEnded.js b/dist/native/giveawayHasEnded.js index e647461..cbe49b2 100644 --- a/dist/native/giveawayHasEnded.js +++ b/dist/native/giveawayHasEnded.js @@ -1,7 +1,10 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const structures_1 = require("../structures"); +const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayHasEnded", version: "1.0.0", @@ -19,7 +22,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Boolean, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; + const giveaway = await (0, pullGiveaway_1.default)(ctx, id); return this.success(giveaway?.hasEnded); } }); diff --git a/dist/native/giveawayHasEnded.js.map b/dist/native/giveawayHasEnded.js.map index 46eae95..e29d602 100644 --- a/dist/native/giveawayHasEnded.js.map +++ b/dist/native/giveawayHasEnded.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayHasEnded.js","sourceRoot":"","sources":["../../src/native/giveawayHasEnded.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayHasEnded.js","sourceRoot":"","sources":["../../src/native/giveawayHasEnded.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayHostID.js b/dist/native/giveawayHostID.js index a261887..f3206c1 100644 --- a/dist/native/giveawayHostID.js +++ b/dist/native/giveawayHostID.js @@ -1,7 +1,10 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const structures_1 = require("../structures"); +const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayHostID", version: "1.0.0", @@ -19,7 +22,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.User, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; + const giveaway = await (0, pullGiveaway_1.default)(ctx, id); return this.success(giveaway?.hostID); } }); diff --git a/dist/native/giveawayHostID.js.map b/dist/native/giveawayHostID.js.map index 64d7192..0b8adbe 100644 --- a/dist/native/giveawayHostID.js.map +++ b/dist/native/giveawayHostID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayHostID.js","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayHostID.js","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayID.d.ts.map b/dist/native/giveawayID.d.ts.map index 0f7d549..64d6241 100644 --- a/dist/native/giveawayID.d.ts.map +++ b/dist/native/giveawayID.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;AAE/D,wBASE"} \ No newline at end of file +{"version":3,"file":"giveawayID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;AAE/D,wBAUE"} \ No newline at end of file diff --git a/dist/native/giveawayID.js b/dist/native/giveawayID.js index 153c63e..a08f72f 100644 --- a/dist/native/giveawayID.js +++ b/dist/native/giveawayID.js @@ -8,7 +8,8 @@ exports.default = new forgescript_1.NativeFunction({ unwrap: false, output: forgescript_1.ArgType.String, execute(ctx) { - return this.success(ctx.giveaway?.id); + const giveaway = ctx.giveaway ?? ctx.extendedStates?.giveaway?.new; + return this.success(giveaway?.id); } }); //# sourceMappingURL=giveawayID.js.map \ No newline at end of file diff --git a/dist/native/giveawayID.js.map b/dist/native/giveawayID.js.map index 7760997..1e9df11 100644 --- a/dist/native/giveawayID.js.map +++ b/dist/native/giveawayID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayID.js","sourceRoot":"","sources":["../../src/native/giveawayID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayID.js","sourceRoot":"","sources":["../../src/native/giveawayID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,GAAG,CAAA;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayMessageID.js b/dist/native/giveawayMessageID.js index 7d2d90e..e22d084 100644 --- a/dist/native/giveawayMessageID.js +++ b/dist/native/giveawayMessageID.js @@ -1,7 +1,10 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const structures_1 = require("../structures"); +const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayMessageID", version: "1.0.0", @@ -19,7 +22,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Message, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; + const giveaway = await (0, pullGiveaway_1.default)(ctx, id); return this.success(giveaway?.messageID); } }); diff --git a/dist/native/giveawayMessageID.js.map b/dist/native/giveawayMessageID.js.map index dfa6a42..4d4dc27 100644 --- a/dist/native/giveawayMessageID.js.map +++ b/dist/native/giveawayMessageID.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayMessageID.js","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayMessageID.js","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayPrize.js b/dist/native/giveawayPrize.js index c57e864..0bde6d0 100644 --- a/dist/native/giveawayPrize.js +++ b/dist/native/giveawayPrize.js @@ -1,7 +1,10 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const structures_1 = require("../structures"); +const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayPrize", version: "1.0.0", @@ -19,7 +22,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.String, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; + const giveaway = await (0, pullGiveaway_1.default)(ctx, id); return this.success(giveaway?.prize); } }); diff --git a/dist/native/giveawayPrize.js.map b/dist/native/giveawayPrize.js.map index d7bef34..df0886e 100644 --- a/dist/native/giveawayPrize.js.map +++ b/dist/native/giveawayPrize.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayPrize.js","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,iCAAiC;IAC9C,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayPrize.js","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,iCAAiC;IAC9C,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRequiredRoles.js b/dist/native/giveawayRequiredRoles.js index 37beab4..069e56c 100644 --- a/dist/native/giveawayRequiredRoles.js +++ b/dist/native/giveawayRequiredRoles.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const structures_1 = require("../structures"); +const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); const array_1 = __importDefault(require("../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayRequiredRoles", @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), async execute(ctx, [id, sep]) { - const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; + const giveaway = await (0, pullGiveaway_1.default)(ctx, id); return this.success(giveaway?.requirements?.requiredRoles?.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayRequiredRoles.js.map b/dist/native/giveawayRequiredRoles.js.map index cba689b..bda0336 100644 --- a/dist/native/giveawayRequiredRoles.js.map +++ b/dist/native/giveawayRequiredRoles.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRequiredRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACjF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRequiredRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AACpD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACjF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedMembers.js b/dist/native/giveawayRestrictedMembers.js index c3bbcd6..a423227 100644 --- a/dist/native/giveawayRestrictedMembers.js +++ b/dist/native/giveawayRestrictedMembers.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const structures_1 = require("../structures"); +const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); const array_1 = __importDefault(require("../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayRestrictedMembers", @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), async execute(ctx, [id, sep]) { - const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; + const giveaway = await (0, pullGiveaway_1.default)(ctx, id); return this.success(giveaway?.requirements?.restrictedMembers?.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayRestrictedMembers.js.map b/dist/native/giveawayRestrictedMembers.js.map index 47d4f28..d303e24 100644 --- a/dist/native/giveawayRestrictedMembers.js.map +++ b/dist/native/giveawayRestrictedMembers.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRestrictedMembers.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAkB;IAC/B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRestrictedMembers.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AACpD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAkB;IAC/B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedRoles.js b/dist/native/giveawayRestrictedRoles.js index fcd5470..1476d04 100644 --- a/dist/native/giveawayRestrictedRoles.js +++ b/dist/native/giveawayRestrictedRoles.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const structures_1 = require("../structures"); +const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); const array_1 = __importDefault(require("../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayRestrictedRoles", @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), async execute(ctx, [id, sep]) { - const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; + const giveaway = await (0, pullGiveaway_1.default)(ctx, id); return this.success(giveaway?.requirements?.restrictedRoles?.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayRestrictedRoles.js.map b/dist/native/giveawayRestrictedRoles.js.map index 59521ca..94709ac 100644 --- a/dist/native/giveawayRestrictedRoles.js.map +++ b/dist/native/giveawayRestrictedRoles.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRestrictedRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACnF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayRestrictedRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AACpD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACnF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayTimestamp.js b/dist/native/giveawayTimestamp.js index fe9120f..7ed7603 100644 --- a/dist/native/giveawayTimestamp.js +++ b/dist/native/giveawayTimestamp.js @@ -1,7 +1,10 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const structures_1 = require("../structures"); +const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayTimestamp", version: "1.0.0", @@ -19,7 +22,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Number, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; + const giveaway = await (0, pullGiveaway_1.default)(ctx, id); return this.success(giveaway?.timestamp); } }); diff --git a/dist/native/giveawayTimestamp.js.map b/dist/native/giveawayTimestamp.js.map index 2a5fe0b..c6a4306 100644 --- a/dist/native/giveawayTimestamp.js.map +++ b/dist/native/giveawayTimestamp.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayTimestamp.js","sourceRoot":"","sources":["../../src/native/giveawayTimestamp.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mDAAmD;IAChE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayTimestamp.js","sourceRoot":"","sources":["../../src/native/giveawayTimestamp.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mDAAmD;IAChE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinners.js b/dist/native/giveawayWinners.js index 2902258..7c13401 100644 --- a/dist/native/giveawayWinners.js +++ b/dist/native/giveawayWinners.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const structures_1 = require("../structures"); +const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); const array_1 = __importDefault(require("../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayWinners", @@ -29,7 +29,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: (0, array_1.default)(), async execute(ctx, [id, sep]) { - const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; + const giveaway = await (0, pullGiveaway_1.default)(ctx, id); return this.success(giveaway?.winners.join(sep ?? ", ")); } }); diff --git a/dist/native/giveawayWinners.js.map b/dist/native/giveawayWinners.js.map index 8559ae6..93961ca 100644 --- a/dist/native/giveawayWinners.js.map +++ b/dist/native/giveawayWinners.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayWinners.js","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,8CAAwC;AACxC,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayWinners.js","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AACpD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinnersCount.js b/dist/native/giveawayWinnersCount.js index 0b50b7b..8ddd8fa 100644 --- a/dist/native/giveawayWinnersCount.js +++ b/dist/native/giveawayWinnersCount.js @@ -1,7 +1,10 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const structures_1 = require("../structures"); +const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayWinnersCount", version: "1.0.0", @@ -19,7 +22,7 @@ exports.default = new forgescript_1.NativeFunction({ ], output: forgescript_1.ArgType.Number, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await structures_1.Database.get(id) : ctx.giveaway; + const giveaway = await (0, pullGiveaway_1.default)(ctx, id); return this.success(giveaway?.winnersCount); } }); diff --git a/dist/native/giveawayWinnersCount.js.map b/dist/native/giveawayWinnersCount.js.map index 510cde6..66e3656 100644 --- a/dist/native/giveawayWinnersCount.js.map +++ b/dist/native/giveawayWinnersCount.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayWinnersCount.js","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayWinnersCount.js","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 3bd2a6a..7f7de37 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    constructor +Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      +

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      Parameters

      • Optionalprops: Partial<IRunnable>
      • OptionalsyncVars: boolean

      Returns Context

    • Returns Context

    • Returns IRunnable

    • Parameters

      • name: string

      Returns boolean

    • Parameters

      • name: string

      Returns boolean

    • Fetches all emojis of the application.

      Parameters

      • Optionalonce: boolean

        Whether to fetch only when the collection is empty.

      Returns Promise<void | Collection<string, ApplicationEmoji>>

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    diff --git a/docs/classes/Database.html b/docs/classes/Database.html index 3fcada7..2c62f5f 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    constructor +Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    Properties

    database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      +

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      Parameters

      • id: string

        The id of the giveaway to delete.

        -

      Returns Promise<DeleteResult>

    • Gets an existing giveaway.

      +

    Returns Promise<DeleteResult>

    • Saves a giveaway in the database.

      +

    Returns Promise<null | Giveaway>

    +

    Returns Promise<void>

    diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 4f51ff9..ea65052 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    constructor +ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    Properties

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    -
    targetVersions?: string[]

    Only the versions written here will be allowed

    -
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    +

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    +
    targetVersions?: string[]

    Only the versions written here will be allowed

    +
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index ba76f6b..f0321eb 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    constructor +Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | Giveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Returns whether a user has entered this giveaway.

      Parameters

      • userID: string

        The user to check for.

        -

      Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | Giveaway

    diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index eba880d..569b238 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    constructor +GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    Properties

    Accessors

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    +

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 78afa34..e4bf316 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    constructor +GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    Properties

    Methods

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    +

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 7ea6e82..520c1ef 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    constructor +GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    +

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index bbcdc43..5745c4d 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    +GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 3b0d55d..3701db2 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,17 +1,17 @@ -GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    constructor +GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    Methods

    Constructors

    Methods

    • Edits an existing giveaway.

      +

    Constructors

    Methods

    • Ends an existing giveaway.

      +

    Returns Promise<null | Giveaway>

    • Rerolls an existing giveaway.

      +

    Returns Promise<undefined | Giveaway>

    • Rerolls an existing giveaway.

      Parameters

      • id: string

        The id of the giveaway to reroll.

      • unique: boolean = false

        Whether to not include the previous winners.

      • Optionalamount: number

        The amount of new winners.

        -

      Returns Promise<undefined | Giveaway>

    • Starts a new giveaway on a guild.

      +

    Returns Promise<undefined | Giveaway>

    +

    Returns Promise<undefined | Giveaway>

    diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index f3b6767..8c44f3f 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    constructor +MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    mongoId?: string

    The object id for MongoDB.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    mongoId?: string

    The object id for MongoDB.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | MongoGiveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | MongoGiveaway

    diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 0b38d94..930dd86 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    automod +IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    +

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index 91f5b21..de7a6ab 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    extras?: unknown

    Extras data

    keywords?: Record<string, string>

    The already existing variables defined with $let

    The context this code will run in

    -
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    +
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    The old and new states of an event

    -
    +
    diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index 43e7b3e..3a520ad 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    audit +IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    +

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 962a13b..25b45d0 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,7 +1,7 @@ -IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        startMessage?: string;
        useDefault?: boolean;
    }

    Properties

    events? +IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        startMessage?: string;
        useDefault?: boolean;
    }

    Properties

    events?: keyof IGiveawayEvents

    The giveaway events to use.

    -
    startMessage?: string

    The code to use as start message for giveaways. Only works if default messages are disabled.

    -
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    -
    +
    startMessage?: string

    The code to use as start message for giveaways. Only works if default messages are disabled.

    +
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    +
    diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 8353821..84beea0 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID +IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index ce48857..6a5a5d0 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,4 +1,4 @@ -IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEdit: [Giveaway, Giveaway];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect +IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEdit: [Giveaway, Giveaway];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect: []
    giveawayEdit: [Giveaway, Giveaway]
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    +

    Properties

    databaseConnect: []
    giveawayEdit: [Giveaway, Giveaway]
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index c1d5b21..9c2c7fd 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles? +IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    +

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index bc108d4..81597e2 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID +IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index 00f67fe..ddd649e 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    +AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index 9d56dbb..fc73749 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    +ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index cdc21be..5d47a33 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    +ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 60a380b..7fa9eeb 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    +IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    diff --git a/src/functions/pullGiveaway.ts b/src/functions/pullGiveaway.ts new file mode 100644 index 0000000..598c90f --- /dev/null +++ b/src/functions/pullGiveaway.ts @@ -0,0 +1,6 @@ +import { Context } from "@tryforge/forgescript" +import { Database } from "../structures" + +export default async function(ctx: Context, id?: string | null) { + return (id ? await Database.get(id) : ctx.giveaway ?? ctx.extendedStates?.giveaway?.new) +} \ No newline at end of file diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index b05c4ba..e992f0f 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -66,11 +66,11 @@ export class GiveawaysManager { environment: { giveaway }, data: Compiler.compile(this.giveaways.options.startMessage), redirectErrorsToConsole: true, + allowTopLevelReturn: true, doNotSend: true, }) - const res = result?.trim() - msg = await this._fetchMessage(giveaway.channelID, res) + msg = await this._fetchMessage(giveaway.channelID, result?.trim()) } else { throwGiveawaysError(GiveawaysErrorType.NoStartMessage) return diff --git a/src/native/giveawayChannelID.ts b/src/native/giveawayChannelID.ts index 3a6d6ee..8b1761a 100644 --- a/src/native/giveawayChannelID.ts +++ b/src/native/giveawayChannelID.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Database } from "../structures" +import pullGiveaway from "../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayChannelID", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Channel, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway + const giveaway = await pullGiveaway(ctx, id) return this.success(giveaway?.channelID) } }) \ No newline at end of file diff --git a/src/native/giveawayDuration.ts b/src/native/giveawayDuration.ts index 983164e..1ce5bcb 100644 --- a/src/native/giveawayDuration.ts +++ b/src/native/giveawayDuration.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Database } from "../structures" +import pullGiveaway from "../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayDuration", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Number, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway + const giveaway = await pullGiveaway(ctx, id) return this.success(giveaway?.duration) } }) \ No newline at end of file diff --git a/src/native/giveawayEntries.ts b/src/native/giveawayEntries.ts index e3098f9..f0268b5 100644 --- a/src/native/giveawayEntries.ts +++ b/src/native/giveawayEntries.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Database } from "../structures" +import pullGiveaway from "../functions/pullGiveaway" import array from "../functions/array" export default new NativeFunction({ @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), async execute(ctx, [id, sep]) { - const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway + const giveaway = await pullGiveaway(ctx, id) return this.success(giveaway?.entries.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayGuildID.ts b/src/native/giveawayGuildID.ts index 2a71d4a..ec4eea7 100644 --- a/src/native/giveawayGuildID.ts +++ b/src/native/giveawayGuildID.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Database } from "../structures" +import pullGiveaway from "../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayGuildID", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Guild, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway + const giveaway = await pullGiveaway(ctx, id) return this.success(giveaway?.guildID) } }) \ No newline at end of file diff --git a/src/native/giveawayHasEnded.ts b/src/native/giveawayHasEnded.ts index e433e8b..a38472a 100644 --- a/src/native/giveawayHasEnded.ts +++ b/src/native/giveawayHasEnded.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Database } from "../structures" +import pullGiveaway from "../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayHasEnded", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Boolean, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway + const giveaway = await pullGiveaway(ctx, id) return this.success(giveaway?.hasEnded) } }) \ No newline at end of file diff --git a/src/native/giveawayHostID.ts b/src/native/giveawayHostID.ts index 85e15fa..ee9bd96 100644 --- a/src/native/giveawayHostID.ts +++ b/src/native/giveawayHostID.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Database } from "../structures" +import pullGiveaway from "../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayHostID", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.User, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway + const giveaway = await pullGiveaway(ctx, id) return this.success(giveaway?.hostID) } }) \ No newline at end of file diff --git a/src/native/giveawayID.ts b/src/native/giveawayID.ts index ab341fe..8aa4b78 100644 --- a/src/native/giveawayID.ts +++ b/src/native/giveawayID.ts @@ -7,6 +7,7 @@ export default new NativeFunction({ unwrap: false, output: ArgType.String, execute(ctx) { - return this.success(ctx.giveaway?.id) + const giveaway = ctx.giveaway ?? ctx.extendedStates?.giveaway?.new + return this.success(giveaway?.id) } }) \ No newline at end of file diff --git a/src/native/giveawayMessageID.ts b/src/native/giveawayMessageID.ts index ee5b606..2b13b88 100644 --- a/src/native/giveawayMessageID.ts +++ b/src/native/giveawayMessageID.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Database } from "../structures" +import pullGiveaway from "../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayMessageID", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Message, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway + const giveaway = await pullGiveaway(ctx, id) return this.success(giveaway?.messageID) } }) \ No newline at end of file diff --git a/src/native/giveawayPrize.ts b/src/native/giveawayPrize.ts index b161d69..42eac00 100644 --- a/src/native/giveawayPrize.ts +++ b/src/native/giveawayPrize.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Database } from "../structures" +import pullGiveaway from "../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayPrize", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.String, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway + const giveaway = await pullGiveaway(ctx, id) return this.success(giveaway?.prize) } }) \ No newline at end of file diff --git a/src/native/giveawayRequiredRoles.ts b/src/native/giveawayRequiredRoles.ts index 19df9a1..519ad19 100644 --- a/src/native/giveawayRequiredRoles.ts +++ b/src/native/giveawayRequiredRoles.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Database } from "../structures" +import pullGiveaway from "../functions/pullGiveaway" import array from "../functions/array" export default new NativeFunction({ @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), async execute(ctx, [id, sep]) { - const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway + const giveaway = await pullGiveaway(ctx, id) return this.success(giveaway?.requirements?.requiredRoles?.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayRestrictedMembers.ts b/src/native/giveawayRestrictedMembers.ts index 9119c63..f691dd4 100644 --- a/src/native/giveawayRestrictedMembers.ts +++ b/src/native/giveawayRestrictedMembers.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Database } from "../structures" +import pullGiveaway from "../functions/pullGiveaway" import array from "../functions/array" export default new NativeFunction({ @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), async execute(ctx, [id, sep]) { - const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway + const giveaway = await pullGiveaway(ctx, id) return this.success(giveaway?.requirements?.restrictedMembers?.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayRestrictedRoles.ts b/src/native/giveawayRestrictedRoles.ts index 7452e45..b337cee 100644 --- a/src/native/giveawayRestrictedRoles.ts +++ b/src/native/giveawayRestrictedRoles.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Database } from "../structures" +import pullGiveaway from "../functions/pullGiveaway" import array from "../functions/array" export default new NativeFunction({ @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), async execute(ctx, [id, sep]) { - const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway + const giveaway = await pullGiveaway(ctx, id) return this.success(giveaway?.requirements?.restrictedRoles?.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayTimestamp.ts b/src/native/giveawayTimestamp.ts index 30f6124..0fb93f1 100644 --- a/src/native/giveawayTimestamp.ts +++ b/src/native/giveawayTimestamp.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Database } from "../structures" +import pullGiveaway from "../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayTimestamp", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Number, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway + const giveaway = await pullGiveaway(ctx, id) return this.success(giveaway?.timestamp) } }) \ No newline at end of file diff --git a/src/native/giveawayWinners.ts b/src/native/giveawayWinners.ts index 0c6cca0..187ac47 100644 --- a/src/native/giveawayWinners.ts +++ b/src/native/giveawayWinners.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Database } from "../structures" +import pullGiveaway from "../functions/pullGiveaway" import array from "../functions/array" export default new NativeFunction({ @@ -25,7 +25,7 @@ export default new NativeFunction({ ], output: array(), async execute(ctx, [id, sep]) { - const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway + const giveaway = await pullGiveaway(ctx, id) return this.success(giveaway?.winners.join(sep ?? ", ")) } }) \ No newline at end of file diff --git a/src/native/giveawayWinnersCount.ts b/src/native/giveawayWinnersCount.ts index fe2cd88..40b6df5 100644 --- a/src/native/giveawayWinnersCount.ts +++ b/src/native/giveawayWinnersCount.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Database } from "../structures" +import pullGiveaway from "../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayWinnersCount", @@ -18,7 +18,7 @@ export default new NativeFunction({ ], output: ArgType.Number, async execute(ctx, [id]) { - const giveaway = this.hasFields ? await Database.get(id) : ctx.giveaway + const giveaway = await pullGiveaway(ctx, id) return this.success(giveaway?.winnersCount) } }) \ No newline at end of file From 1d69640b4adc2964070dbc064b9ac1eae4b2ff55 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Tue, 21 Oct 2025 23:53:15 +0200 Subject: [PATCH 77/87] Quick test --- dist/events/giveawayStart.d.ts.map | 2 +- dist/events/giveawayStart.js | 3 +- dist/events/giveawayStart.js.map | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 12 ++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 8 ++-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- src/events/giveawayStart.ts | 3 +- 26 files changed, 99 insertions(+), 97 deletions(-) diff --git a/dist/events/giveawayStart.d.ts.map b/dist/events/giveawayStart.d.ts.map index 099ef40..222cae0 100644 --- a/dist/events/giveawayStart.d.ts.map +++ b/dist/events/giveawayStart.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAuBE"} \ No newline at end of file +{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAwBE"} \ No newline at end of file diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index 49add4b..e3586d7 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -22,7 +22,8 @@ exports.default = new handlers_1.GiveawaysEventHandler({ }, data: command.compiled.code }); - forgescript_1.Interpreter.run(ctx); + const result = await forgescript_1.Interpreter.run(ctx); + console.log(result); } } }); diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index 3ca4eeb..eade4b7 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,8CAAuC;AACvC,0BAAmC;AAEnC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAEtF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,8CAAuC;AACvC,0BAAmC;AAEnC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAEtF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACzC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACvB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 7f7de37..20ec31f 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    constructor +Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      +

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      Parameters

      • Optionalprops: Partial<IRunnable>
      • OptionalsyncVars: boolean

      Returns Context

    • Returns Context

    • Returns IRunnable

    • Parameters

      • name: string

      Returns boolean

    • Parameters

      • name: string

      Returns boolean

    • Fetches all emojis of the application.

      Parameters

      • Optionalonce: boolean

        Whether to fetch only when the collection is empty.

      Returns Promise<void | Collection<string, ApplicationEmoji>>

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    diff --git a/docs/classes/Database.html b/docs/classes/Database.html index 2c62f5f..c63d9ca 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    constructor +Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    Properties

    database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      +

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      Parameters

      • id: string

        The id of the giveaway to delete.

        -

      Returns Promise<DeleteResult>

    • Gets an existing giveaway.

      +

    Returns Promise<DeleteResult>

    • Saves a giveaway in the database.

      +

    Returns Promise<null | Giveaway>

    +

    Returns Promise<void>

    diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index ea65052..cce3488 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    constructor +ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    Properties

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    -
    targetVersions?: string[]

    Only the versions written here will be allowed

    -
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    +

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    +
    targetVersions?: string[]

    Only the versions written here will be allowed

    +
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index f0321eb..43d2a38 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    constructor +Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | Giveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Returns whether a user has entered this giveaway.

      Parameters

      • userID: string

        The user to check for.

        -

      Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | Giveaway

    diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 569b238..e2357af 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    constructor +GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    Properties

    Accessors

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    +

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index e4bf316..fdc87ac 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    constructor +GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    Properties

    Methods

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    +

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 520c1ef..bc2eb5e 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    constructor +GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    +

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 5745c4d..5dc1b77 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    +GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 3701db2..b6bdb46 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,17 +1,17 @@ -GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    constructor +GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    Methods

    Constructors

    Methods

    • Edits an existing giveaway.

      +

    Constructors

    Methods

    • Ends an existing giveaway.

      +

    Returns Promise<null | Giveaway>

    • Rerolls an existing giveaway.

      +

    Returns Promise<undefined | Giveaway>

    • Rerolls an existing giveaway.

      Parameters

      • id: string

        The id of the giveaway to reroll.

      • unique: boolean = false

        Whether to not include the previous winners.

      • Optionalamount: number

        The amount of new winners.

        -

      Returns Promise<undefined | Giveaway>

    • Starts a new giveaway on a guild.

      +

    Returns Promise<undefined | Giveaway>

    +

    Returns Promise<undefined | Giveaway>

    diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index 8c44f3f..018ce27 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    constructor +MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    mongoId?: string

    The object id for MongoDB.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    mongoId?: string

    The object id for MongoDB.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | MongoGiveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | MongoGiveaway

    diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 930dd86..c94b703 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    automod +IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    +

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index de7a6ab..4bda9e6 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    extras?: unknown

    Extras data

    keywords?: Record<string, string>

    The already existing variables defined with $let

    The context this code will run in

    -
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    +
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    The old and new states of an event

    -
    +
    diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index 3a520ad..0aa4587 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    audit +IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    +

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 25b45d0..ecdc552 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,7 +1,7 @@ -IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        startMessage?: string;
        useDefault?: boolean;
    }

    Properties

    events? +IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        startMessage?: string;
        useDefault?: boolean;
    }

    Properties

    events?: keyof IGiveawayEvents

    The giveaway events to use.

    -
    startMessage?: string

    The code to use as start message for giveaways. Only works if default messages are disabled.

    -
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    -
    +
    startMessage?: string

    The code to use as start message for giveaways. Only works if default messages are disabled.

    +
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    +
    diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 84beea0..36d119f 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID +IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 6a5a5d0..d090c05 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,4 +1,4 @@ -IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEdit: [Giveaway, Giveaway];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect +IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEdit: [Giveaway, Giveaway];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect: []
    giveawayEdit: [Giveaway, Giveaway]
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    +

    Properties

    databaseConnect: []
    giveawayEdit: [Giveaway, Giveaway]
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index 9c2c7fd..cf2a2e4 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles? +IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    +

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 81597e2..73beb27 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID +IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index ddd649e..fa97452 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    +AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index fc73749..eea6c37 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    +ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index 5d47a33..2510acc 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    +ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 7fa9eeb..20388d6 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    +IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index f5e8036..a42842c 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -23,7 +23,8 @@ export default new GiveawaysEventHandler({ data: command.compiled.code }) - Interpreter.run(ctx) + const result = await Interpreter.run(ctx) + console.log(result) } } }) \ No newline at end of file From b054d0da5501f9ad5bbd7a039192c5fc5f1a7ddb Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Wed, 22 Oct 2025 00:33:17 +0200 Subject: [PATCH 78/87] Allow only one start event --- dist/events/giveawayStart.d.ts.map | 2 +- dist/events/giveawayStart.js | 29 +++++++-- dist/events/giveawayStart.js.map | 2 +- dist/functions/error.d.ts | 3 +- dist/functions/error.d.ts.map | 2 +- dist/functions/error.js | 1 + dist/functions/error.js.map | 2 +- dist/index.d.ts | 4 -- dist/index.d.ts.map | 2 +- dist/index.js | 4 ++ dist/index.js.map | 2 +- dist/managers/GiveawaysManager.d.ts | 18 +++--- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 61 +++++++----------- dist/managers/GiveawaysManager.js.map | 2 +- dist/native/manage/startGiveaway.js | 2 +- dist/native/manage/startGiveaway.js.map | 2 +- docs/assets/search.js | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 ++-- docs/classes/ForgeGiveaways.html | 8 +-- docs/classes/Giveaway.html | 42 ++++++------ docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 18 ++++-- docs/classes/MongoGiveaway.html | 44 ++++++------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 8 +-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- src/events/giveawayStart.ts | 34 ++++++++-- src/functions/error.ts | 1 + src/index.ts | 8 +-- src/managers/GiveawaysManager.ts | 64 ++++++++----------- src/native/manage/startGiveaway.ts | 2 +- 45 files changed, 229 insertions(+), 214 deletions(-) diff --git a/dist/events/giveawayStart.d.ts.map b/dist/events/giveawayStart.d.ts.map index 222cae0..73372bc 100644 --- a/dist/events/giveawayStart.d.ts.map +++ b/dist/events/giveawayStart.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAwBE"} \ No newline at end of file +{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAKnD,wBA6CE"} \ No newline at end of file diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index e3586d7..8c372f5 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -4,13 +4,22 @@ const forgescript_1 = require("@tryforge/forgescript"); const handlers_1 = require("../handlers"); const structures_1 = require("../structures"); const __1 = require(".."); +const error_1 = require("../functions/error"); exports.default = new handlers_1.GiveawaysEventHandler({ name: "giveawayStart", version: "1.0.0", description: "This event is fired when a giveaway started", listener: async function (gw) { - const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayStart"); - for (const command of commands) { + const client = this.getExtension(__1.ForgeGiveaways, true); + const commands = client.commands.get("giveawayStart"); + const command = commands[0]; + if (commands.length > 1) + throw new Error(error_1.GiveawaysErrorType.MultipleStartEvents); + if (!command && client.options.useDefault === false) { + await structures_1.Database.delete(gw.id); + throw new Error(error_1.GiveawaysErrorType.NoStartMessage); + } + if (command) { const ctx = new structures_1.Context({ obj: gw, command, @@ -20,10 +29,22 @@ exports.default = new handlers_1.GiveawaysEventHandler({ new: gw, } }, - data: command.compiled.code + data: command.compiled.code, + allowTopLevelReturn: true }); const result = await forgescript_1.Interpreter.run(ctx); - console.log(result); + if (client.options.useDefault === false) { + const res = result?.trim(); + const msg = await client.giveawaysManager.fetchMessage(gw.channelID, res); + if (msg) { + gw.messageID = msg.id; + await structures_1.Database.set(gw); + } + else { + (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotDetermined, gw.id); + await structures_1.Database.delete(gw.id); + } + } } } }); diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index eade4b7..d263fe4 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,8CAAuC;AACvC,0BAAmC;AAEnC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAU,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAEtF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACzC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACvB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,8CAAiD;AACjD,0BAAmC;AACnC,8CAA4E;AAE5E,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAW,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAE3B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,mBAAmB,CAAC,CAAA;QAChF,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAClD,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,cAAc,CAAC,CAAA;QACtD,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAC3B,mBAAmB,EAAE,IAAI;aAC5B,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;gBAC1B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;gBAEzE,IAAI,GAAG,EAAE,CAAC;oBACN,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;qBAAM,CAAC;oBACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;oBACnE,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/functions/error.d.ts b/dist/functions/error.d.ts index 22def70..0714bbc 100644 --- a/dist/functions/error.d.ts +++ b/dist/functions/error.d.ts @@ -3,7 +3,8 @@ export declare enum GiveawaysErrorType { MessageNotFound = "Could not find and update the message for giveaway with ID \"$1\"", MessageNotDetermined = "Could not determine the messageID for giveaway with ID \"$1\", giveaway terminated", UnknownGiveaway = "Could not find the giveaway with ID \"$1\"", - NoStartMessage = "No start message for giveaways has been configured, giveaway terminated" + NoStartMessage = "No start message for giveaways has been configured, giveaway terminated", + MultipleStartEvents = "Detected multiple giveawayStart events, only one is allowed per client instance" } /** * Throws a giveaways error in the console. diff --git a/dist/functions/error.d.ts.map b/dist/functions/error.d.ts.map index 4827289..9ba5178 100644 --- a/dist/functions/error.d.ts.map +++ b/dist/functions/error.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,oBAAY,kBAAkB;IAC1B,eAAe,sEAAoE;IACnF,oBAAoB,uFAAqF;IACzG,eAAe,+CAA6C;IAC5D,cAAc,4EAA4E;CAC7F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,SAAS,QAI3E"} \ No newline at end of file +{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,oBAAY,kBAAkB;IAC1B,eAAe,sEAAoE;IACnF,oBAAoB,uFAAqF;IACzG,eAAe,+CAA6C;IAC5D,cAAc,4EAA4E;IAC1F,mBAAmB,oFAAoF;CAC1G;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,SAAS,QAI3E"} \ No newline at end of file diff --git a/dist/functions/error.js b/dist/functions/error.js index 716d426..50cacee 100644 --- a/dist/functions/error.js +++ b/dist/functions/error.js @@ -9,6 +9,7 @@ var GiveawaysErrorType; GiveawaysErrorType["MessageNotDetermined"] = "Could not determine the messageID for giveaway with ID \"$1\", giveaway terminated"; GiveawaysErrorType["UnknownGiveaway"] = "Could not find the giveaway with ID \"$1\""; GiveawaysErrorType["NoStartMessage"] = "No start message for giveaways has been configured, giveaway terminated"; + GiveawaysErrorType["MultipleStartEvents"] = "Detected multiple giveawayStart events, only one is allowed per client instance"; })(GiveawaysErrorType || (exports.GiveawaysErrorType = GiveawaysErrorType = {})); /** * Throws a giveaways error in the console. diff --git a/dist/functions/error.js.map b/dist/functions/error.js.map index 873e41a..3917315 100644 --- a/dist/functions/error.js.map +++ b/dist/functions/error.js.map @@ -1 +1 @@ -{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":";;;AAeA,kDAIC;AAnBD,uDAA8C;AAG9C,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,2GAAmF,CAAA;IACnF,iIAAyG,CAAA;IACzG,oFAA4D,CAAA;IAC5D,gHAA0F,CAAA;AAC9F,CAAC,EALW,kBAAkB,kCAAlB,kBAAkB,QAK7B;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAwB,EAAE,EAAc;IACxE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAoC,CAAC,KAAK,IAAI,CAAC,CAAA;IAC1H,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACxD,oBAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,OAAO,EAAE,CAAC,CAAA;AACvD,CAAC"} \ No newline at end of file +{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":";;;AAgBA,kDAIC;AApBD,uDAA8C;AAG9C,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC1B,2GAAmF,CAAA;IACnF,iIAAyG,CAAA;IACzG,oFAA4D,CAAA;IAC5D,gHAA0F,CAAA;IAC1F,6HAAuG,CAAA;AAC3G,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAwB,EAAE,EAAc;IACxE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAoC,CAAC,KAAK,IAAI,CAAC,CAAA;IAC1H,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACxD,oBAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,OAAO,EAAE,CAAC,CAAA;AACvD,CAAC"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index 83a6f8e..fd0ceff 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -12,10 +12,6 @@ export interface IForgeGiveawaysOptions { * Whether to use the default giveaway messages. Defaults to `true`. */ useDefault?: boolean; - /** - * The code to use as start message for giveaways. Only works if default messages are disabled. - */ - startMessage?: string; } export declare class ForgeGiveaways extends ForgeExtension { readonly options: IForgeGiveawaysOptions; diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index 378bc97..cfe0009 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,EAA+B,eAAe,EAAE,MAAM,YAAY,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,MAAyC;IACpD,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAexC;AAED,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,EAA+B,eAAe,EAAE,MAAM,YAAY,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAIpD,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,MAAyC;IACpD,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAiBxC;AAED,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index e4d6129..0f3f376 100644 --- a/dist/index.js +++ b/dist/index.js @@ -20,6 +20,7 @@ const managers_1 = require("./managers"); const handlers_1 = require("./handlers"); const tiny_typed_emitter_1 = require("tiny-typed-emitter"); const structures_1 = require("./structures"); +const error_1 = require("./functions/error"); class ForgeGiveaways extends forgescript_1.ForgeExtension { options; name = "forge.giveaways"; @@ -41,6 +42,9 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { new handlers_1.GiveawaysInteractionHandler(client); if (this.options.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); + const commands = this.commands.get("giveawayStart"); + if (commands.length > 1) + throw new Error(error_1.GiveawaysErrorType.MultipleStartEvents); } await new structures_1.Database(this.emitter).init(); this.giveawaysManager = new managers_1.GiveawaysManager(this, client); diff --git a/dist/index.js.map b/dist/index.js.map index 05f817c..a2af2d4 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AACjF,yCAAsE;AACtE,yCAAyE;AACzE,2DAAiD;AAEjD,6CAAuC;AAmBvC,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAA;IACpD,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;CACJ;AA/BD,wCA+BC;AAED,6CAA0B;AAC1B,6CAA0B;AAC1B,+CAA4B;AAC5B,0CAAuB"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AACjF,yCAAsE;AACtE,yCAAyE;AACzE,2DAAiD;AAEjD,6CAAuC;AACvC,6CAAsD;AActD,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAA;IACpD,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;YACnD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,mBAAmB,CAAC,CAAA;QACpF,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;CACJ;AAjCD,wCAiCC;AAED,6CAA0B;AAC1B,6CAA0B;AAC1B,+CAA4B;AAC5B,0CAAuB"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts b/dist/managers/GiveawaysManager.d.ts index 34d44fd..19a8e41 100644 --- a/dist/managers/GiveawaysManager.d.ts +++ b/dist/managers/GiveawaysManager.d.ts @@ -1,5 +1,5 @@ import { Snowflake } from "discord.js"; -import { Context, ForgeClient } from "@tryforge/forgescript"; +import { ForgeClient } from "@tryforge/forgescript"; import { IGiveawayRequirements } from "../structures"; import { ForgeGiveaways } from ".."; export interface IGiveawayStartOptions { @@ -21,7 +21,7 @@ export declare class GiveawaysManager { * @param options The start options for the giveaway. * @returns */ - start(ctx: Context, options: IGiveawayStartOptions): Promise; + start(options: IGiveawayStartOptions): Promise; /** * Ends an existing giveaway. * @param id The id of the giveaway to end. @@ -42,6 +42,13 @@ export declare class GiveawaysManager { * @param options The options used to edit this giveaway. */ edit(id: Snowflake, options: IGiveawayEditOptions): Promise; + /** + * Fetches the message of a giveaway. + * @param channelID The id of the channel to pull message from. + * @param messageID The id of the message to fetch. + * @returns + */ + fetchMessage(channelID: Snowflake, messageID?: Snowflake): Promise>; /** * Randomly picks X amount of winners from the provided entries. * @param entries The entries to pick winners from. @@ -55,13 +62,6 @@ export declare class GiveawaysManager { * @returns */ private _parseMentions; - /** - * Fetches the message of a giveaway. - * @param channelID The id of the channel to pull message from. - * @param messageID The id of the message to fetch. - * @returns - */ - private _fetchMessage; /** * Restores all active giveaways on startup. * @returns diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index cb4a5d9..97a2cd3 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuE,SAAS,EAAqB,MAAM,YAAY,CAAA;AAC9H,OAAO,EAAY,OAAO,EAAE,WAAW,EAAe,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IA2D/D;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAyD9B;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM;IAsC3E;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;YACW,aAAa;IAM3B;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IA6CjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAyD9B;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM;IAsC3E;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACU,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS;IAMrE;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 7cbdea9..630761e 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); exports.GiveawaysManager = void 0; const discord_js_1 = require("discord.js"); -const forgescript_1 = require("@tryforge/forgescript"); const structures_1 = require("../structures"); const error_1 = require("../functions/error"); const noop_1 = __importDefault(require("../functions/noop")); @@ -22,11 +21,10 @@ class GiveawaysManager { * @param options The start options for the giveaway. * @returns */ - async start(ctx, options) { + async start(options) { const giveaway = new structures_1.Database.entities.Giveaway(options); - const chan = this.client.channels.cache.get(giveaway.channelID); - let msg; if (this.giveaways.options.useDefault) { + const chan = this.client.channels.cache.get(giveaway.channelID); const embed = new discord_js_1.EmbedBuilder() .setTitle("🎉 GIVEAWAY 🎉") .setDescription(`🎁 **Prize:** ${giveaway.prize}\n🏆 **Winners:** ${giveaway.winnersCount}`) @@ -40,31 +38,16 @@ class GiveawaysManager { .setLabel("Join") .setEmoji("🎉") .setStyle(discord_js_1.ButtonStyle.Success)); - msg = await chan?.send({ + const msg = await chan?.send({ embeds: [embed], components: [comps.toJSON()] }).catch(noop_1.default); + if (!msg) { + (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotDetermined, giveaway.id); + return; + } + giveaway.messageID = msg.id; } - else if (this.giveaways.options.startMessage) { - const result = await forgescript_1.Interpreter.run({ - ...ctx.runtime, - environment: { giveaway }, - data: forgescript_1.Compiler.compile(this.giveaways.options.startMessage), - redirectErrorsToConsole: true, - allowTopLevelReturn: true, - doNotSend: true, - }); - msg = await this._fetchMessage(giveaway.channelID, result?.trim()); - } - else { - (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.NoStartMessage); - return; - } - if (!msg) { - (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.MessageNotDetermined, giveaway.id); - return; - } - giveaway.messageID = msg.id; await structures_1.Database.set(giveaway).catch(noop_1.default); this.giveaways.emitter.emit("giveawayStart", giveaway); setTimeout(async () => await this.end(giveaway.id).catch(noop_1.default), giveaway.duration); @@ -88,7 +71,7 @@ class GiveawaysManager { const winners = this._pickWinners(eligibleEntries, giveaway.winnersCount); giveaway.winners = winners; if (this.giveaways.options.useDefault) { - const msg = await this._fetchMessage(giveaway.channelID, giveaway.messageID); + const msg = await this.fetchMessage(giveaway.channelID, giveaway.messageID); if (msg) { const plural = winners.length === 1 ? "" : "s"; const mentions = this._parseMentions(winners); @@ -142,7 +125,7 @@ class GiveawaysManager { newWinners = this._pickWinners(entries, amount); giveaway.winners = newWinners; if (this.giveaways.options.useDefault) { - const msg = await this._fetchMessage(giveaway.channelID, giveaway.messageID); + const msg = await this.fetchMessage(giveaway.channelID, giveaway.messageID); if (msg) { const plural = newWinners.length === 1 ? "" : "s"; msg.reply({ @@ -187,6 +170,18 @@ class GiveawaysManager { this.giveaways.emitter.emit("giveawayEdit", oldGiveaway, giveaway); return giveaway; } + /** + * Fetches the message of a giveaway. + * @param channelID The id of the channel to pull message from. + * @param messageID The id of the message to fetch. + * @returns + */ + async fetchMessage(channelID, messageID) { + if (!messageID) + return; + const chan = this.client.channels.cache.get(channelID); + return chan?.messages.cache.get(messageID) ?? await chan?.messages.fetch(messageID).catch(() => { }); + } /** * Randomly picks X amount of winners from the provided entries. * @param entries The entries to pick winners from. @@ -205,18 +200,6 @@ class GiveawaysManager { _parseMentions(winners) { return winners.map((id) => `<@${id}>`).join(", "); } - /** - * Fetches the message of a giveaway. - * @param channelID The id of the channel to pull message from. - * @param messageID The id of the message to fetch. - * @returns - */ - async _fetchMessage(channelID, messageID) { - if (!messageID) - return; - const chan = this.client.channels.cache.get(channelID); - return chan?.messages.cache.get(messageID) ?? await chan?.messages.fetch(messageID).catch(() => { }); - } /** * Restores all active giveaways on startup. * @returns diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 80aca66..5db8688 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/native/manage/startGiveaway.js b/dist/native/manage/startGiveaway.js index 2970058..ccb8561 100644 --- a/dist/native/manage/startGiveaway.js +++ b/dist/native/manage/startGiveaway.js @@ -50,7 +50,7 @@ exports.default = new forgescript_1.NativeFunction({ output: forgescript_1.ArgType.String, async execute(ctx, [channel, host, prize, duration, winners]) { const client = ctx.client.getExtension(__1.ForgeGiveaways, true); - const giveaway = await client.giveawaysManager.start(ctx, { + const giveaway = await client.giveawaysManager.start({ guildID: channel.guildId, channelID: channel.id, hostID: host.id, diff --git a/dist/native/manage/startGiveaway.js.map b/dist/native/manage/startGiveaway.js.map index 0bba4d3..0a1453b 100644 --- a/dist/native/manage/startGiveaway.js.map +++ b/dist/native/manage/startGiveaway.js.map @@ -1 +1 @@ -{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE;YACtD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ;YACR,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;SACjC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAElB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"startGiveaway.js","sourceRoot":"","sources":["../../../src/native/manage/startGiveaway.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,6BAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;SAC/D;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,OAAO;SAC3B;QACD;YACI,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,IAAI;SACrB;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;YACvD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;YACjD,OAAO,EAAG,OAA6B,CAAC,OAAO;YAC/C,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ;YACR,KAAK;YACL,YAAY,EAAE,OAAO,IAAI,CAAC;YAC1B,YAAY,EAAE,GAAG,CAAC,YAAY;SACjC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAElB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 0cd20ab..4aeba2f 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 20ec31f..bca9397 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    constructor +Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      +

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      Parameters

      • Optionalprops: Partial<IRunnable>
      • OptionalsyncVars: boolean

      Returns Context

    • Returns Context

    • Returns IRunnable

    • Parameters

      • name: string

      Returns boolean

    • Parameters

      • name: string

      Returns boolean

    • Fetches all emojis of the application.

      Parameters

      • Optionalonce: boolean

        Whether to fetch only when the collection is empty.

      Returns Promise<void | Collection<string, ApplicationEmoji>>

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    diff --git a/docs/classes/Database.html b/docs/classes/Database.html index c63d9ca..8af6934 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    constructor +Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    Properties

    database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      +

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      Parameters

      • id: string

        The id of the giveaway to delete.

        -

      Returns Promise<DeleteResult>

    • Gets an existing giveaway.

      +

    Returns Promise<DeleteResult>

    • Saves a giveaway in the database.

      +

    Returns Promise<null | Giveaway>

    +

    Returns Promise<void>

    diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index cce3488..5b224b6 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    constructor +ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    Properties

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    -
    targetVersions?: string[]

    Only the versions written here will be allowed

    -
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    +

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    +
    targetVersions?: string[]

    Only the versions written here will be allowed

    +
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index 43d2a38..dd9fe19 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    constructor +Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | Giveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Returns whether a user has entered this giveaway.

      Parameters

      • userID: string

        The user to check for.

        -

      Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | Giveaway

    diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index e2357af..fdb7595 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    constructor +GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    Properties

    Accessors

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    +

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index fdc87ac..5666339 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    constructor +GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    Properties

    Methods

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    +

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index bc2eb5e..6d06572 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    constructor +GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    +

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 5dc1b77..0ec52ad 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    +GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index b6bdb46..1b4ab14 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,17 +1,21 @@ -GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    constructor +GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    Methods

    • Edits an existing giveaway.

      +

    Constructors

    Methods

    • Ends an existing giveaway.

      +

    Returns Promise<null | Giveaway>

    • Rerolls an existing giveaway.

      +

    Returns Promise<undefined | Giveaway>

    • Fetches the message of a giveaway.

      +

      Parameters

      • channelID: string

        The id of the channel to pull message from.

        +
      • OptionalmessageID: string

        The id of the message to fetch.

        +

      Returns Promise<void | Message<true>>

    • Rerolls an existing giveaway.

      Parameters

      • id: string

        The id of the giveaway to reroll.

      • unique: boolean = false

        Whether to not include the previous winners.

      • Optionalamount: number

        The amount of new winners.

        -

      Returns Promise<undefined | Giveaway>

    +

    Returns Promise<undefined | Giveaway>

    diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index 018ce27..6b76868 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    constructor +MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    mongoId?: string

    The object id for MongoDB.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    mongoId?: string

    The object id for MongoDB.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | MongoGiveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | MongoGiveaway

    diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index c94b703..660b379 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    automod +IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    +

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index 4bda9e6..68cc927 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    extras?: unknown

    Extras data

    keywords?: Record<string, string>

    The already existing variables defined with $let

    The context this code will run in

    -
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    +
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    The old and new states of an event

    -
    +
    diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index 0aa4587..c9bc20d 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    audit +IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    +

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index ecdc552..1c2ca70 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,7 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        startMessage?: string;
        useDefault?: boolean;
    }

    Properties

    events? -startMessage? +IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        useDefault?: boolean;
    }

    Properties

    Properties

    events?: keyof IGiveawayEvents

    The giveaway events to use.

    -
    startMessage?: string

    The code to use as start message for giveaways. Only works if default messages are disabled.

    -
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    -
    +
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    +
    diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 36d119f..8937773 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID +IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index d090c05..96e90e8 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,4 +1,4 @@ -IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEdit: [Giveaway, Giveaway];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect +IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEdit: [Giveaway, Giveaway];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect: []
    giveawayEdit: [Giveaway, Giveaway]
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    +

    Properties

    databaseConnect: []
    giveawayEdit: [Giveaway, Giveaway]
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index cf2a2e4..d1f2606 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles? +IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    +

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 73beb27..ceedf13 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID +IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index fa97452..aa02a1c 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    +AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index eea6c37..a36c98f 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    +ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index 2510acc..78fe22f 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    +ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 20388d6..7df59a7 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    +IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index a42842c..85649ed 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -1,16 +1,25 @@ import { Interpreter } from "@tryforge/forgescript" import { GiveawaysEventHandler } from "../handlers" -import { Context } from "../structures" +import { Context, Database } from "../structures" import { ForgeGiveaways } from ".." +import { GiveawaysErrorType, throwGiveawaysError } from "../functions/error" export default new GiveawaysEventHandler({ name: "giveawayStart", version: "1.0.0", description: "This event is fired when a giveaway started", - listener: async function(gw) { - const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayStart") + listener: async function (gw) { + const client = this.getExtension(ForgeGiveaways, true) + const commands = client.commands.get("giveawayStart") + const command = commands[0] - for (const command of commands) { + if (commands.length > 1) throw new Error(GiveawaysErrorType.MultipleStartEvents) + if (!command && client.options.useDefault === false) { + await Database.delete(gw.id) + throw new Error(GiveawaysErrorType.NoStartMessage) + } + + if (command) { const ctx = new Context({ obj: gw, command, @@ -20,11 +29,24 @@ export default new GiveawaysEventHandler({ new: gw, } }, - data: command.compiled.code + data: command.compiled.code, + allowTopLevelReturn: true }) const result = await Interpreter.run(ctx) - console.log(result) + + if (client.options.useDefault === false) { + const res = result?.trim() + const msg = await client.giveawaysManager.fetchMessage(gw.channelID, res) + + if (msg) { + gw.messageID = msg.id + await Database.set(gw) + } else { + throwGiveawaysError(GiveawaysErrorType.MessageNotDetermined, gw.id) + await Database.delete(gw.id) + } + } } } }) \ No newline at end of file diff --git a/src/functions/error.ts b/src/functions/error.ts index 942541c..07583cb 100644 --- a/src/functions/error.ts +++ b/src/functions/error.ts @@ -6,6 +6,7 @@ export enum GiveawaysErrorType { MessageNotDetermined = `Could not determine the messageID for giveaway with ID "$1", giveaway terminated`, UnknownGiveaway = `Could not find the giveaway with ID "$1"`, NoStartMessage = `No start message for giveaways has been configured, giveaway terminated`, + MultipleStartEvents = `Detected multiple giveawayStart events, only one is allowed per client instance`, } /** diff --git a/src/index.ts b/src/index.ts index 149682e..ff1f6fb 100644 --- a/src/index.ts +++ b/src/index.ts @@ -4,6 +4,7 @@ import { GiveawaysInteractionHandler, IGiveawayEvents } from "./handlers" import { TypedEmitter } from "tiny-typed-emitter" import { TransformEvents } from "@tryforge/forge.db" import { Database } from "./structures" +import { GiveawaysErrorType } from "./functions/error" export interface IForgeGiveawaysOptions { /** @@ -15,11 +16,6 @@ export interface IForgeGiveawaysOptions { * Whether to use the default giveaway messages. Defaults to `true`. */ useDefault?: boolean - - /** - * The code to use as start message for giveaways. Only works if default messages are disabled. - */ - startMessage?: string } export class ForgeGiveaways extends ForgeExtension { @@ -48,6 +44,8 @@ export class ForgeGiveaways extends ForgeExtension { if (this.options.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events) + const commands = this.commands.get("giveawayStart") + if (commands.length > 1) throw new Error(GiveawaysErrorType.MultipleStartEvents) } await new Database(this.emitter).init() diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index e992f0f..98c1b2a 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -1,5 +1,5 @@ -import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, Message, Snowflake, TextChannel, time } from "discord.js" -import { Compiler, Context, ForgeClient, Interpreter } from "@tryforge/forgescript" +import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, Snowflake, TextChannel, time } from "discord.js" +import { ForgeClient } from "@tryforge/forgescript" import { Database, IGiveawayRequirements } from "../structures" import { GiveawaysErrorType, throwGiveawaysError } from "../functions/error" import { ForgeGiveaways } from ".." @@ -30,12 +30,12 @@ export class GiveawaysManager { * @param options The start options for the giveaway. * @returns */ - public async start(ctx: Context, options: IGiveawayStartOptions) { + public async start(options: IGiveawayStartOptions) { const giveaway = new Database.entities.Giveaway(options) - const chan = this.client.channels.cache.get(giveaway.channelID) as TextChannel | undefined - let msg: Message | undefined | void if (this.giveaways.options.useDefault) { + const chan = this.client.channels.cache.get(giveaway.channelID) as TextChannel | undefined + const embed = new EmbedBuilder() .setTitle("🎉 GIVEAWAY 🎉") .setDescription(`🎁 **Prize:** ${giveaway.prize}\n🏆 **Winners:** ${giveaway.winnersCount}`) @@ -56,31 +56,17 @@ export class GiveawaysManager { .setStyle(ButtonStyle.Success) ) - msg = await chan?.send({ + const msg = await chan?.send({ embeds: [embed], components: [comps.toJSON()] }).catch(noop) - } else if (this.giveaways.options.startMessage) { - const result = await Interpreter.run({ - ...ctx.runtime, - environment: { giveaway }, - data: Compiler.compile(this.giveaways.options.startMessage), - redirectErrorsToConsole: true, - allowTopLevelReturn: true, - doNotSend: true, - }) - - msg = await this._fetchMessage(giveaway.channelID, result?.trim()) - } else { - throwGiveawaysError(GiveawaysErrorType.NoStartMessage) - return - } - if (!msg) { - throwGiveawaysError(GiveawaysErrorType.MessageNotDetermined, giveaway.id) - return + if (!msg) { + throwGiveawaysError(GiveawaysErrorType.MessageNotDetermined, giveaway.id) + return + } + giveaway.messageID = msg.id } - giveaway.messageID = msg.id await Database.set(giveaway).catch(noop) this.giveaways.emitter.emit("giveawayStart", giveaway) @@ -108,7 +94,7 @@ export class GiveawaysManager { giveaway.winners = winners if (this.giveaways.options.useDefault) { - const msg = await this._fetchMessage(giveaway.channelID, giveaway.messageID) + const msg = await this.fetchMessage(giveaway.channelID, giveaway.messageID) if (msg) { const plural = winners.length === 1 ? "" : "s" @@ -172,7 +158,7 @@ export class GiveawaysManager { giveaway.winners = newWinners if (this.giveaways.options.useDefault) { - const msg = await this._fetchMessage(giveaway.channelID, giveaway.messageID) + const msg = await this.fetchMessage(giveaway.channelID, giveaway.messageID) if (msg) { const plural = newWinners.length === 1 ? "" : "s" @@ -220,6 +206,18 @@ export class GiveawaysManager { return giveaway } + /** + * Fetches the message of a giveaway. + * @param channelID The id of the channel to pull message from. + * @param messageID The id of the message to fetch. + * @returns + */ + public async fetchMessage(channelID: Snowflake, messageID?: Snowflake) { + if (!messageID) return + const chan = this.client.channels.cache.get(channelID) as TextChannel | undefined + return chan?.messages.cache.get(messageID) ?? await chan?.messages.fetch(messageID).catch(() => { }) + } + /** * Randomly picks X amount of winners from the provided entries. * @param entries The entries to pick winners from. @@ -240,18 +238,6 @@ export class GiveawaysManager { return winners.map((id) => `<@${id}>`).join(", ") } - /** - * Fetches the message of a giveaway. - * @param channelID The id of the channel to pull message from. - * @param messageID The id of the message to fetch. - * @returns - */ - private async _fetchMessage(channelID: Snowflake, messageID?: Snowflake) { - if (!messageID) return - const chan = this.client.channels.cache.get(channelID) as TextChannel | undefined - return chan?.messages.cache.get(messageID) ?? await chan?.messages.fetch(messageID).catch(() => {}) - } - /** * Restores all active giveaways on startup. * @returns diff --git a/src/native/manage/startGiveaway.ts b/src/native/manage/startGiveaway.ts index 3bae914..d071d93 100644 --- a/src/native/manage/startGiveaway.ts +++ b/src/native/manage/startGiveaway.ts @@ -51,7 +51,7 @@ export default new NativeFunction({ async execute(ctx, [channel, host, prize, duration, winners]) { const client = ctx.client.getExtension(ForgeGiveaways, true) - const giveaway = await client.giveawaysManager.start(ctx, { + const giveaway = await client.giveawaysManager.start({ guildID: (channel as GuildBasedChannel).guildId, channelID: channel.id, hostID: host.id, From facd5b502c4a7c69bf8703484c843d6d058c7058 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Wed, 22 Oct 2025 01:15:11 +0200 Subject: [PATCH 79/87] Better handling of interactions --- README.md | 37 +++++++++++++++- dist/functions/error.d.ts | 3 +- dist/functions/error.d.ts.map | 2 +- dist/functions/error.js | 1 + dist/functions/error.js.map | 2 +- dist/handlers/GiveawaysEventHandler.d.ts | 1 - dist/handlers/GiveawaysEventHandler.d.ts.map | 2 +- dist/handlers/GiveawaysEventHandler.js.map | 2 +- .../GiveawaysInteractionHandler.d.ts.map | 2 +- dist/handlers/GiveawaysInteractionHandler.js | 24 ++++++---- .../GiveawaysInteractionHandler.js.map | 2 +- dist/managers/GiveawaysManager.d.ts.map | 2 +- dist/managers/GiveawaysManager.js | 6 ++- dist/managers/GiveawaysManager.js.map | 2 +- docs/assets/highlight.css | 7 +++ docs/assets/search.js | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 14 +++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/index.html | 15 ++++++- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 6 +-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 5 +-- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- src/events/giveawayEdit.ts | 30 ------------- src/functions/error.ts | 1 + src/handlers/GiveawaysEventHandler.ts | 1 - src/handlers/GiveawaysInteractionHandler.ts | 26 +++++++---- src/managers/GiveawaysManager.ts | 6 ++- 44 files changed, 203 insertions(+), 160 deletions(-) delete mode 100644 src/events/giveawayEdit.ts diff --git a/README.md b/README.md index 03f7777..151cdba 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,30 @@ ForgeGiveaways is a lightweight, flexible, and reliable extension for managing g You can disable the default messages by setting `useDefault: false` in the client options, and override them with custom messages emitted through events. Use desired functions to retrieve information about the current giveaway. -##### Example +> [!WARNING] +> Only **one** `giveawayStart` event is allowed per client instance! + +##### Examples +```js +module.exports = { + type: "giveawayStart", + code: ` + $return[ + $sendMessage[$giveawayChannelID; + $addContainer[ + $addTextDisplay[### 🎉 Giveaway 🎉] + $addSeparator + $addTextDisplay[**Prize:** $giveawayPrize\n**Winners:** $giveawayWinnersCount] + $addSeparator + $addActionRow + $addButton[giveawayEntry-$giveawayID;Join;Secondary;🎉] + ;Green] + ;true] + ] + ` +} +``` + ```js module.exports = { type: "giveawayEnd", @@ -80,4 +103,14 @@ module.exports = {

    Handling Interactions


    - \ No newline at end of file + ```js +module.exports = { + type: "giveawayEntryAdd", + code: ` + $interactionReply[ + $ephemeral + You have joined this giveaway as **$ordinal[$@[,]giveawayEntries]** participant! + ] + ` +} +``` \ No newline at end of file diff --git a/dist/functions/error.d.ts b/dist/functions/error.d.ts index 0714bbc..3b6566b 100644 --- a/dist/functions/error.d.ts +++ b/dist/functions/error.d.ts @@ -4,7 +4,8 @@ export declare enum GiveawaysErrorType { MessageNotDetermined = "Could not determine the messageID for giveaway with ID \"$1\", giveaway terminated", UnknownGiveaway = "Could not find the giveaway with ID \"$1\"", NoStartMessage = "No start message for giveaways has been configured, giveaway terminated", - MultipleStartEvents = "Detected multiple giveawayStart events, only one is allowed per client instance" + MultipleStartEvents = "Detected multiple giveawayStart events, only one is allowed per client instance", + GiveawayNotActive = "Giveaway with ID \"$1\" has already ended and can no longer be entered" } /** * Throws a giveaways error in the console. diff --git a/dist/functions/error.d.ts.map b/dist/functions/error.d.ts.map index 9ba5178..08a82e2 100644 --- a/dist/functions/error.d.ts.map +++ b/dist/functions/error.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,oBAAY,kBAAkB;IAC1B,eAAe,sEAAoE;IACnF,oBAAoB,uFAAqF;IACzG,eAAe,+CAA6C;IAC5D,cAAc,4EAA4E;IAC1F,mBAAmB,oFAAoF;CAC1G;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,SAAS,QAI3E"} \ No newline at end of file +{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,oBAAY,kBAAkB;IAC1B,eAAe,sEAAoE;IACnF,oBAAoB,uFAAqF;IACzG,eAAe,+CAA6C;IAC5D,cAAc,4EAA4E;IAC1F,mBAAmB,oFAAoF;IACvG,iBAAiB,2EAAyE;CAC7F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,SAAS,QAI3E"} \ No newline at end of file diff --git a/dist/functions/error.js b/dist/functions/error.js index 50cacee..699c3ee 100644 --- a/dist/functions/error.js +++ b/dist/functions/error.js @@ -10,6 +10,7 @@ var GiveawaysErrorType; GiveawaysErrorType["UnknownGiveaway"] = "Could not find the giveaway with ID \"$1\""; GiveawaysErrorType["NoStartMessage"] = "No start message for giveaways has been configured, giveaway terminated"; GiveawaysErrorType["MultipleStartEvents"] = "Detected multiple giveawayStart events, only one is allowed per client instance"; + GiveawaysErrorType["GiveawayNotActive"] = "Giveaway with ID \"$1\" has already ended and can no longer be entered"; })(GiveawaysErrorType || (exports.GiveawaysErrorType = GiveawaysErrorType = {})); /** * Throws a giveaways error in the console. diff --git a/dist/functions/error.js.map b/dist/functions/error.js.map index 3917315..07a37b2 100644 --- a/dist/functions/error.js.map +++ b/dist/functions/error.js.map @@ -1 +1 @@ -{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":";;;AAgBA,kDAIC;AApBD,uDAA8C;AAG9C,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC1B,2GAAmF,CAAA;IACnF,iIAAyG,CAAA;IACzG,oFAA4D,CAAA;IAC5D,gHAA0F,CAAA;IAC1F,6HAAuG,CAAA;AAC3G,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAwB,EAAE,EAAc;IACxE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAoC,CAAC,KAAK,IAAI,CAAC,CAAA;IAC1H,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACxD,oBAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,OAAO,EAAE,CAAC,CAAA;AACvD,CAAC"} \ No newline at end of file +{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":";;;AAiBA,kDAIC;AArBD,uDAA8C;AAG9C,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC1B,2GAAmF,CAAA;IACnF,iIAAyG,CAAA;IACzG,oFAA4D,CAAA;IAC5D,gHAA0F,CAAA;IAC1F,6HAAuG,CAAA;IACvG,kHAA0F,CAAA;AAC9F,CAAC,EAPW,kBAAkB,kCAAlB,kBAAkB,QAO7B;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAwB,EAAE,EAAc;IACxE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAoC,CAAC,KAAK,IAAI,CAAC,CAAA;IAC1H,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACxD,oBAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,OAAO,EAAE,CAAC,CAAA;AACvD,CAAC"} \ No newline at end of file diff --git a/dist/handlers/GiveawaysEventHandler.d.ts b/dist/handlers/GiveawaysEventHandler.d.ts index ba0bc51..3f96f76 100644 --- a/dist/handlers/GiveawaysEventHandler.d.ts +++ b/dist/handlers/GiveawaysEventHandler.d.ts @@ -5,7 +5,6 @@ export interface IGiveawayEvents { databaseConnect: []; giveawayStart: [Giveaway]; giveawayEnd: [Giveaway]; - giveawayEdit: [Giveaway, Giveaway]; giveawayReroll: [Giveaway, Giveaway]; giveawayEntryAdd: [Giveaway, Giveaway, Interaction]; giveawayEntryRemove: [Giveaway, Giveaway, Interaction]; diff --git a/dist/handlers/GiveawaysEventHandler.d.ts.map b/dist/handlers/GiveawaysEventHandler.d.ts.map index 8831246..bc7d8cf 100644 --- a/dist/handlers/GiveawaysEventHandler.d.ts.map +++ b/dist/handlers/GiveawaysEventHandler.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,WAAW,eAAe;IAC5B,eAAe,EAAE,EAAE,CAAA;IACnB,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClC,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACnD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACtD,oBAAoB,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;CAChD;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,WAAW,eAAe;IAC5B,eAAe,EAAE,EAAE,CAAA;IACnB,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACnD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACtD,oBAAoB,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;CAChD;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file diff --git a/dist/handlers/GiveawaysEventHandler.js.map b/dist/handlers/GiveawaysEventHandler.js.map index b2c3def..c739a8a 100644 --- a/dist/handlers/GiveawaysEventHandler.js.map +++ b/dist/handlers/GiveawaysEventHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AAcnC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAErE,0BAAmC;AAanC,MAAa,qBAAuD,SAAQ,8BAAoC;IAC5G,QAAQ,CAAC,MAAmB;QACxB,aAAa;QACb,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;CACJ;AALD,sDAKC"} \ No newline at end of file diff --git a/dist/handlers/GiveawaysInteractionHandler.d.ts.map b/dist/handlers/GiveawaysInteractionHandler.d.ts.map index 6a6cd85..868162c 100644 --- a/dist/handlers/GiveawaysInteractionHandler.d.ts.map +++ b/dist/handlers/GiveawaysInteractionHandler.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAOnD,qBAAa,2BAA2B;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;YAIzC,SAAS;CA4C1B"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAOnD,qBAAa,2BAA2B;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;YAIzC,SAAS;CAsD1B"} \ No newline at end of file diff --git a/dist/handlers/GiveawaysInteractionHandler.js b/dist/handlers/GiveawaysInteractionHandler.js index d305223..ac4c615 100644 --- a/dist/handlers/GiveawaysInteractionHandler.js +++ b/dist/handlers/GiveawaysInteractionHandler.js @@ -28,13 +28,19 @@ class GiveawaysInteractionHandler { (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.UnknownGiveaway, id); return; } + if (giveaway.hasEnded) { + (0, error_1.throwGiveawaysError)(error_1.GiveawaysErrorType.GiveawayNotActive, id); + return; + } const member = interaction.member; if (!giveaway.canEnter(member)) { - await interaction.reply({ - content: `❌ You do not meet the requirements to enter this giveaway!`, - flags: discord_js_1.MessageFlags.Ephemeral, - }).catch(noop_1.default); client.emitter.emit("giveawayEntryRevoked", giveaway, interaction); + if (client.options.useDefault) { + await interaction.reply({ + content: `❌ You do not meet the requirements to enter this giveaway!`, + flags: discord_js_1.MessageFlags.Ephemeral, + }).catch(noop_1.default); + } return; } const oldGiveaway = giveaway.clone(); @@ -49,10 +55,12 @@ class GiveawaysInteractionHandler { await structures_1.Database.set(giveaway).catch(noop_1.default); client.emitter.emit("giveawayEntryAdd", oldGiveaway, giveaway, interaction); } - await interaction.reply({ - content: `✅ You have successfully ${entered ? "left" : "joined"} this giveaway.`, - flags: discord_js_1.MessageFlags.Ephemeral, - }).catch(noop_1.default); + if (client.options.useDefault) { + await interaction.reply({ + content: `✅ You have successfully ${entered ? "left" : "joined"} this giveaway.`, + flags: discord_js_1.MessageFlags.Ephemeral, + }).catch(noop_1.default); + } }); } } diff --git a/dist/handlers/GiveawaysInteractionHandler.js.map b/dist/handlers/GiveawaysInteractionHandler.js.map index 46e3aa7..45dadb8 100644 --- a/dist/handlers/GiveawaysInteractionHandler.js.map +++ b/dist/handlers/GiveawaysInteractionHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":";;;;;;AACA,2CAAyC;AACzC,0BAAmC;AACnC,8CAAwC;AACxC,8CAA4E;AAC5E,6DAAoC;AAEpC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;gBAAE,OAAM;YAE7D,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpD,IAAI,MAAM,KAAK,eAAe;gBAAE,OAAM;YAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;gBAC3D,OAAM;YACV,CAAC;YAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YAEjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,WAAW,CAAC,KAAK,CAAC;oBACpB,OAAO,EAAE,4DAA4D;oBACrE,KAAK,EAAE,yBAAY,CAAC,SAAS;iBAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACd,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;gBAClE,OAAM;YACV,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEnD,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACpC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YAClF,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACjC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YAC/E,CAAC;YAED,MAAM,WAAW,CAAC,KAAK,CAAC;gBACpB,OAAO,EAAE,2BAA2B,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,iBAAiB;gBAChF,KAAK,EAAE,yBAAY,CAAC,SAAS;aAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAjDD,kEAiDC"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.d.ts.map b/dist/managers/GiveawaysManager.d.ts.map index 97a2cd3..f3314b0 100644 --- a/dist/managers/GiveawaysManager.d.ts.map +++ b/dist/managers/GiveawaysManager.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IA6CjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAyD9B;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM;IAsC3E;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACU,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS;IAMrE;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.d.ts","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,SAAS,EAAqB,MAAM,YAAY,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAY,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAGnC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAEvF,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW;IAKxC;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,qBAAqB;IA8CjD;;;;OAIG;IACU,GAAG,CAAC,EAAE,EAAE,SAAS;IAyD9B;;;;;;OAMG;IACU,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,MAAM;IAuC3E;;;;OAIG;IACU,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB;IAmB9D;;;;;OAKG;IACU,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS;IAMrE;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAKpB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;OAGG;YACW,iBAAiB;CAclC"} \ No newline at end of file diff --git a/dist/managers/GiveawaysManager.js b/dist/managers/GiveawaysManager.js index 630761e..025dee6 100644 --- a/dist/managers/GiveawaysManager.js +++ b/dist/managers/GiveawaysManager.js @@ -25,9 +25,10 @@ class GiveawaysManager { const giveaway = new structures_1.Database.entities.Giveaway(options); if (this.giveaways.options.useDefault) { const chan = this.client.channels.cache.get(giveaway.channelID); + const roles = giveaway.requirements?.requiredRoles?.map((id) => `<@&${id}>`).join(", "); const embed = new discord_js_1.EmbedBuilder() .setTitle("🎉 GIVEAWAY 🎉") - .setDescription(`🎁 **Prize:** ${giveaway.prize}\n🏆 **Winners:** ${giveaway.winnersCount}`) + .setDescription(`🎁 **Prize:** ${giveaway.prize}\n🏆 **Winners:** ${giveaway.winnersCount}${roles ? `\n\n📌 **Required Roles:** ${roles}` : ""}`) .setFields({ name: "Ends", value: `${(0, discord_js_1.time)(new Date(Date.now() + giveaway.timeLeft()), "R")}`, inline: true }, { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }) .setFooter({ text: "Click the button below to join!" }) .setTimestamp() @@ -145,6 +146,7 @@ class GiveawaysManager { this.giveaways.emitter.emit("giveawayReroll", oldGiveaway, giveaway); return giveaway; } + // WIP /** * Edits an existing giveaway. * @param id The id of the giveaway to edit. @@ -167,7 +169,7 @@ class GiveawaysManager { giveaway.requirements = options.requirements; if (this.giveaways.options.useDefault) { } await structures_1.Database.set(giveaway).catch(noop_1.default); - this.giveaways.emitter.emit("giveawayEdit", oldGiveaway, giveaway); + // this.giveaways.emitter.emit("giveawayEdit", oldGiveaway, giveaway) return giveaway; } /** diff --git a/dist/managers/GiveawaysManager.js.map b/dist/managers/GiveawaysManager.js.map index 5db8688..17cca51 100644 --- a/dist/managers/GiveawaysManager.js.map +++ b/dist/managers/GiveawaysManager.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysManager.js","sourceRoot":"","sources":["../../src/managers/GiveawaysManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css index 8cb2d23..0c1819f 100644 --- a/docs/assets/highlight.css +++ b/docs/assets/highlight.css @@ -15,6 +15,8 @@ --dark-hl-6: #6A9955; --light-hl-7: #267F99; --dark-hl-7: #4EC9B0; + --light-hl-8: #EE0000; + --dark-hl-8: #D7BA7D; --light-code-background: #FFFFFF; --dark-code-background: #1E1E1E; } @@ -28,6 +30,7 @@ --hl-5: var(--light-hl-5); --hl-6: var(--light-hl-6); --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); --code-background: var(--light-code-background); } } @@ -40,6 +43,7 @@ --hl-5: var(--dark-hl-5); --hl-6: var(--dark-hl-6); --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); --code-background: var(--dark-code-background); } } @@ -52,6 +56,7 @@ --hl-5: var(--light-hl-5); --hl-6: var(--light-hl-6); --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); --code-background: var(--light-code-background); } @@ -64,6 +69,7 @@ --hl-5: var(--dark-hl-5); --hl-6: var(--dark-hl-6); --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); --code-background: var(--dark-code-background); } @@ -75,4 +81,5 @@ .hl-5 { color: var(--hl-5); } .hl-6 { color: var(--hl-6); } .hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } pre, code { background: var(--code-background); } diff --git a/docs/assets/search.js b/docs/assets/search.js index 4aeba2f..0d23862 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7WdW4/jtpKA/4v61emIlChK/RZMstkBNnuACXBeGoPAY2u6tcctTyT1JH0G898PSN2qyKJUsr1Pk7RZF1Efi8UqWf4WNee/2ujh8Vv0r6o+Rg9SZbuo3r+U0UP0/r/OzVP5a/W13P+1f2v/8aWrznUb7aLX5hQ9RFXdlc3n/aFsf6RH3j93L6doFx1O+7Yt2+ghir7vRkMilulkqfxa1t1WzXeTFDCwi77sm7Luwu4HXHhty5/Lz/vXU7fVDSR5qSsynzzBYydvBs0/4o8X51gJOWk9nOu2a14P3bnhqLzD4+nLcjwNzKz9h2NyGHiNrWPZHprKTi/LJB5/jeWvZdNyrc5jr7HYlH++Vk35y99dWbdoZS7ZpqSu8aJ8qbqu5DE1j73G4tM44Ld9vX9imiaErvHhcH552ddH3pSDwdfYPDvxd8nkPHajRRmncySq6qpjmRsGbrUF95pxwC/hrQAP4e8ux323/7Rvy3fnui4PdHwndN/5coHo7vi+wu3v3b7hO+FK3cSFX+rjZgd6mZuY/1A259NpsweT2I3moGvefjpeMhGT4O0c+VC+nL+Wl/kyyd7Sna/nf5UXzs0svNkhkAZNEcOO+u99fTwRsZ4ctRgaUIRryqeqpbavsN47IENfH+35ylW+NzO8P5iwvXqt/tibpIFr+lk54dIFrUzBu36fDG3rgXH8feC5d+N/qXx0SfkdFly5bucqVq7552GPWb1oZ+BtbzilfNvddq9jZZe3u9nSgZIayL/TX5rq38vB1NN7N8qsxCzkeSjheG326AjC8wCI3cCJv6q6Lpv23fm1Xs42fEcc0Rs483xuu/c/b3RjErqBA0+v1em42YNZ6gYuHJ73dV2eNjsB5W7gxnAAfFlNs31PHNHLnJFxoYWSROZ/rLyQ0L19QSnHPGQ5GFChdjXE/r+E1stDKhFKYerSomPEst128fDAtViCU8OyvXLhrMC11uBDwrLBZvlowL7CI3HgDVziceHIy7X3uewOz7+Vbbt/WkhJkF1HZLt9uB3bKtCxPL471135d/duf3imt01qIH87Hk8H21TfAbFAqCH9X0k9PnDjHxzIv9YhRh4/nE/lRv13ruxKgEVXEnSn7Zrq0F3qkCt9U5d+K18+lc3lTs3yF7oFtokBIW8VDn+/yaYAdbH2gtGpLVs5aYy1c69Ze627ijg6YUPToNlG1x5/qNofqvq5bKrOFgYWbMpMihRUPT/937LFfgD3ihzt5RBAfu/2Xbkyh97YC2160ZC0thr8CDtOZvVT/fara6tPqMAn7DxqPOF5bo8fbGj31V3VVcR8I1V3YBg9BZNLs51MqWQO+n/8Ya6Xaea+H/2DWLV3P3kWuEBv2pmW739du+ueC4NsKMN4Kv2Qhp3oR7An2NX+E5GjeQZ+WsjN1my0q1fQXnEFx/JUdmuETIMus/FXtcrgMIStn7vjYCucLYcwRjZT1qZsHnaZHcv3W+jMRqyjt7XO3g2jxWjrfhLhrNY3oiYIL7n981StskjZv58kt7jhRw7kzcu5fjofP13izix6S3/e2j/XQg3tzSB4Q1++nNvuqeFtYK47QPY6j9ZbtdibxSYtFcOo09Nirs7PAKrl1tLgMKOFFDJgktC22798YdiBYy8097xvfzG5IcMaGHqhsZf+9L9SSOytwbEXmivrrqlWjo4T781SvrZqaig8M0zNIy80td4iCLUFlo4zq2ZZrYGFdsBVxtktgZU2wFVOMFoBwfL/VYY5LYBw2f8q07zS/1K5/yrz7JL/SrFgsxNEGT5Y5rxp2X17uZ2xU9FGFnapbTGIVr/cltwcbmgjq53H7dstbWh9q70ohtHGWG3MzTs7bWt1V98YFgNWljuiWyMgbWSt6bk92AVW52pfc2tmQttZy0q2JiWLsF1sZbGWy4zPW+z5SSRtbD2BJCyho4lZ8/9Tfl5brWDYZXbsEuzKhrdWx4GX2dofj/ZRtxVLYNhldhr7aB/HFB55mbXDvrYTs7Zw52EX2jmd67V9bxzDpxskG7+ZAkQw40Cf3iTt8DWycg/s5lId5r3PNGFzHnqFPSLhIUw5Wc9SZsiySqdChOFt5zGW7WCSRJjffChjeRBOnwgX6Bzqah8WEyvCjYtOhyxPgikX4QWZd13vAZ2MUfa3HVJZ1kNpGmF+60mVZT+cwFFxbvNxleVDKLUjPKDyu1uthg0L4bb2F9NBwomLzuy8/SeYKFI7EJktXuIDL4UMhEcvj7zag4XkMhSV/Azzai+CaSfhA5l7Xu3BUkJKYklnpVf7EUxVqRBF5avXe0AmsZR5L5O9zDZ+uGN89O33sj7uP51mT/onPNyPl78SQz0T6DwSQz2y1w+58XOAQOmGJwAHbxnzhS/Lma31CyLn6sNrXaObQF3YOIg/X/DZp1WNiw9C+Z6GetDrdx1bbZefhiIMf9xFVX0s/44evk3fmn6I5H1yX0S76HNVno7mjQS9Rzv7VdvSppjH8+HV/ufHYdg/S3O8MoP70T/G0e4x3qXqXun048fd4yhsP7B/GHXMf7GCIto9CkpQeIICCcpo9ygpQekJSiSYRLvHhBJMPMEECabR7jHdyfxeyhwJpp5gigRVtHtUlEXlCSokmEW7x4wSzDzBDAnqaPeoKUHtCWokmEe7x5wSzD3BHAkW0e6xoAQLT7DAABgeRLxL4/s0yzACPjzCocfiQ/NDAIQJEoYLQTIkfIgEpkgYNkRCuu2DJDBJwvAhUtKyD5PANAnDiCB5Ej5QAhMlDCeCZEr4UAlMlTCsCJIr4YMlMFnC8CJItoQPl8B0CcOMIPkSPmACEyYNM5KMTtInTGLCpGFGkoRJnzDpxCgbpOgoRYQpTJg0zEgyUkmfMIkJk4YZSRImfcIkJkyqUKSTPmASAyYNMpKkU/qASQyYNMhIkk7pAyYxYNIgI0k6pQ+YxIDJInjJPl8S85VYvkiyE5+vBPOVWL6KXZLeqxxbTny+EsxXYohJYlLY5ytx9kG7EQpSmNgKMV+JISaRpLDPV4L5SgwySUIK+4AlGLDEIJOkpLAPWIIBSwwyidol8l7lAgv7gCUYsMQgk5B0Jj5gCQYsKYLbXOITlmDC0jiYeviApRiw1CCTkMsi9QFLMWCpBYxEO/UBSzFgqQWMDNqpD1jqJFs22yKDdkrkWxiw1AYwMminPmApBiw1yKRk0E59wFIMWGqQSRMKsNQHLMWApQaZlAzaqQ9YigFLbQQjA2/qA5ZiwJQFjERb+YQpTJgyzKQkYconTGHClGEmJQlTPmEKE6aS0LpQPmAKA6bSYChQPmDKyegtYCTaikjqMWDKIKPIUKB8wBQGTBlklCCFfcAUBkzlQTqVD5jCgCmDjCLXhfIBUxiwzCCjyHQ58wHLMGCZQUaR6yLzAcswYJlBRinSsg9YhgHLkuCEZT5hGSYsM8wo+vzmE5ZhwjJ7aCQXVeYTljnnRksYuagy4uiICcssYSTbmU9YhgnLDDMZGbYzn7AME5YFk7DMByzDgOkwYNoHTGPAtEEmI/cL7QOmMWA6DJj2AdMYMG2QychFpX3ANAZMG2Qy8oSgfcA0BkwbZDJyUWkfMI0B07YyQW422gdMO8UJHTw6a6I+gQHTFjByUWkfMI0B04aZTO8SfS9ivJy1T5jGhOWGmSynhHOfsBwTllvCClLYJyzHhOWGGR2Twj5hOSYsN8xoQQr7hOWYsNwwoyUp7BOWY8JyFTza5D5hOSYsz4JHm9wnLMeE5Tp4tMl9wnKnBJYHjzY5UQXDhOVF8GiT+4TlmLAiDh5tCp+wAhNWiGA+U/iEFZiwQgb3ucInrMCEFcEsrPABKzBgRRpckYUPWIEBK8KAFT5gBQasCANW+IAVGLBCB2NB4QNWYMCKPEhn4QNWOHXWIhhICqLU6tZa4yDb/WdYHPxtkBdBvPvPXHmn4hrLIOH9Z668U3SNw8Gs/8yVd+qucTie9Z+58k7pNVbBRdZ/5so71dc4C0by/jNX3inAxrawT1edY6IEGzs12NjApFNanqjCxk4ZNjY8aTLX6T9z5R3+bPleZ6Q8Ve33yv2GJ61pearg7/Bni/g6p+UJ/tyiv63ja7oOTZX93bq/CPaQBFX4dyv/tpifk9m1oGr/bvHf1vPpaCuo8r9b/7clfTrgCqoD4LYAbFWfjrmCagK4XQBb2KfDrqD6AE4jQNjaPh15BdEKEE4vQMhwFieIboBw2gHCVvgD4ZdoCAinIyBskT8QfomegHCaAsLW+QPhl2gLCKcvIGytPxB+idaAcHoDwpb7A+GX6A4Ipz0gZLh8K4gGgXA6BMIW/QPhl+gRCKdJIGzhPxB+iT6BcBoFwtb+A+GXaBUIp1cgbPk/EH6JboFw2gXCdgAC4ZdoGAinYyBsEyAQfomegXCaBsL2AQLhl2gbCKdvIGwrIKfbvUTnQDitA2G7ATnd8SWaB8LpHogkXN0VRP9AOA0EYXsCdPFOEC0E4fQQhG0L5OSBXxBdBOG0EYRtDdCVR0F0EoTTShC2O5AH+tYEf8Pf7HMnX8umK4/v++dPHh+ndz58i/4YHkpRanwY5luUyejh2/ddpO2/3+eHUexfRwv2M2NyfzyW/aNuszoN1JlExEqaJcFSWL/Nj0ABF+WsUxUsTYd9XfbPwAHXNHBNiNG1hKewf+7XfA9g1piks8Yk6yWLeFAcD5Np4jnLQv/cHPA3h/6O2hKmtukl/LNCIaBCphrwtY5ZE7jutJeUavh3uOXpMA0q6f/Nhr8Xw/+bLIvpQP+eMmAczIvikTq/ngVQlQDwB291vEndYXxTPphjyL/iaRtetwNcK4BrmqkE/LLHrCkDinh6pi98AMxjgPnAYT7ino33M2fp798jCW4m0J3ykJh+VmPWAuaLFx/sGzvBFQKkUh5S89u6wH0D6yLjLbD+pScv47t8wJ0Di1WzdTWORxpoycelF4//IXmAjj88BCgHkPNUDI9FttPju7OyHGpLmC6N+obHMcE9ANqUHoMmD077stGX8WWjAFKgM+U5+Nn8Csj0KyyINbCYWKrsG8vABcI1zVsxT2W3N68kA0rAXpjxrojamVNwMekw2SofIv5AWTHtXLxINtpxlqiAu/dWTV3ztj9idSBkCF7MQOqa4UcoZo0SRDLJ20ccjcPPSACVgDvJW2ijyvENweCKYTrBWw8Tv0M2QYQpCfY7ydtiJq3jNkqpBXdbbnTWhqvn8UclgE6QRkpekJ90VvOvO1CaQdxnZnuTZuLiBSBJDJlJso3R4Q3YQCeIGoJ5n8yX7ZyEFwavIePLxyQ/HlNqyYtrw0RafXAygaeSt9Cf923ZfysS7J9ggeeDZ8XoKnMxWb3D95rAnprC25OP0Y235M0XKJ05BVgmQzadj1rj8TTBBBarzsAq0mMCno4JG4+Catxqh0z80L80G+wBwP90o85m+iIJSAcSmA7wsK/C+UAuoTqmf3j3nn5dbNYKVijvvlfU9pkB1DUvyk16TCJNOJYAlcysZ1bp53kQdV5gq+YdCH5FE/ACD48bPbRhjbhqCfY25kLsXw8ILhVh1wtpXvgZMka89jRAJB9ToHg8LTH3tOnNkoAZ4Kfm3RKrheJPwyRI8KK2VYYvNYf7FfPQO7ylElwXwELzdLg7B0hFeArsV8iAPLgONd6plIcTAaWAkYcXvueXZYKJAZelefFreGkEWB/gRifDZpgP+3ehxg2BR/v8e2BAP4CSufv3CbRfP4R5ypj8iIQ3feMPCjT92/tBzAFzmPK2lEFXCX44FBAP1vYWbV4wTIBjyXiAGnboYsyn4vEOMdMhP/dPwP1Pufdn/NmBl/FnB8B8gsRC8XKpWZ9/d8A9V7zlNr13H2gB16h46791Ttbgtma8lTa+iRgsV7DqNW+qvWQ9AdOb8qaXSHzQ3s3TYub0ZF8mAFYk3BjjsaIieasIvLwFTBFcPsMSL0bFzMP4a1sex1+hBnEIhCGWmumnicH1gvvH0jG9EAPoAI7kY8Idj//BPCcPeg/9G2cAHaAqkAyZSj5MXzEeHJgViP5F7ODWgC0wY4S2j7voS/WlPFV1GT08fvz+/T+qzDePYn0AAA=="; \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index bca9397..d27c1da 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    constructor +Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      +

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      Parameters

      • Optionalprops: Partial<IRunnable>
      • OptionalsyncVars: boolean

      Returns Context

    • Returns Context

    • Returns IRunnable

    • Parameters

      • name: string

      Returns boolean

    • Parameters

      • name: string

      Returns boolean

    • Fetches all emojis of the application.

      Parameters

      • Optionalonce: boolean

        Whether to fetch only when the collection is empty.

      Returns Promise<void | Collection<string, ApplicationEmoji>>

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    diff --git a/docs/classes/Database.html b/docs/classes/Database.html index 8af6934..427ae6b 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    constructor +Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    Properties

    database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      +

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      Parameters

      • id: string

        The id of the giveaway to delete.

        -

      Returns Promise<DeleteResult>

    • Gets an existing giveaway.

      +

    Returns Promise<DeleteResult>

    • Saves a giveaway in the database.

      +

    Returns Promise<null | Giveaway>

    +

    Returns Promise<void>

    diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 5b224b6..316d8b2 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    constructor +ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    Properties

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    -
    targetVersions?: string[]

    Only the versions written here will be allowed

    -
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    +

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    +
    targetVersions?: string[]

    Only the versions written here will be allowed

    +
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index dd9fe19..be71814 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    constructor +Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | Giveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Returns whether a user has entered this giveaway.

      Parameters

      • userID: string

        The user to check for.

        -

      Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | Giveaway

    diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index fdb7595..683a9c2 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    constructor +GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    Properties

    Accessors

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    +

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 5666339..80276cf 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    constructor +GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    Properties

    Methods

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    +

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 6d06572..a0f4a61 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    constructor +GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    +

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 0ec52ad..100f007 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    +GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 1b4ab14..f244b3f 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,21 +1,21 @@ -GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    constructor +GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    Methods

    • Edits an existing giveaway.

      +

    Constructors

    Methods

    • Ends an existing giveaway.

      +

    Returns Promise<null | Giveaway>

    • Fetches the message of a giveaway.

      +

    Returns Promise<undefined | Giveaway>

    • Fetches the message of a giveaway.

      Parameters

      • channelID: string

        The id of the channel to pull message from.

      • OptionalmessageID: string

        The id of the message to fetch.

        -

      Returns Promise<void | Message<true>>

    • Rerolls an existing giveaway.

      +

    Returns Promise<void | Message<true>>

    • Rerolls an existing giveaway.

      Parameters

      • id: string

        The id of the giveaway to reroll.

      • unique: boolean = false

        Whether to not include the previous winners.

      • Optionalamount: number

        The amount of new winners.

        -

      Returns Promise<undefined | Giveaway>

    • Starts a new giveaway on a guild.

      +

    Returns Promise<undefined | Giveaway>

    +

    Returns Promise<undefined | Giveaway>

    diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index 6b76868..96c259b 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    constructor +MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    mongoId?: string

    The object id for MongoDB.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    mongoId?: string

    The object id for MongoDB.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | MongoGiveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | MongoGiveaway

    diff --git a/docs/index.html b/docs/index.html index 7fa9c9b..cba3ed3 100644 --- a/docs/index.html +++ b/docs/index.html @@ -37,7 +37,18 @@

    Installation


    Custom Messages


    You can disable the default messages by setting useDefault: false in the client options, and override them with custom messages emitted through events. Use desired functions to retrieve information about the current giveaway.

    -
    module.exports = {
    type: "giveawayEnd",
    code: `
    $sendMessage[$giveawayChannelID;
    $reply[$giveawayChannelID;$giveawayMessageID;true]
    🏆 **Winners:** <@$newGiveaway[winners;>, <@]>
    ]
    `
    } +
    +

    [!WARNING] +Only one giveawayStart event is allowed per client instance!

    +
    +
    module.exports = {
    type: "giveawayStart",
    code: `
    $return[
    $sendMessage[$giveawayChannelID;
    $addContainer[
    $addTextDisplay[### 🎉 Giveaway 🎉]
    $addSeparator
    $addTextDisplay[**Prize:** $giveawayPrize\n**Winners:** $giveawayWinnersCount]
    $addSeparator
    $addActionRow
    $addButton[giveawayEntry-$giveawayID;Join;Secondary;🎉]
    ;Green]
    ;true]
    ]
    `
    } +
    + +
    module.exports = {
    type: "giveawayEnd",
    code: `
    $sendMessage[$giveawayChannelID;
    $reply[$giveawayChannelID;$giveawayMessageID;true]
    🏆 **Winners:** <@$newGiveaway[winners;>, <@]>
    ]
    `
    } +
    + +

    Handling Interactions


    +
    module.exports = {
    type: "giveawayEntryAdd",
    code: `
    $interactionReply[
    $ephemeral
    You have joined this giveaway as **$ordinal[$@[,]giveawayEntries]** participant!
    ]
    `
    }
    -

    Handling Interactions


    +
    diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 660b379..05dd7f4 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    automod +IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    +

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index 68cc927..9193f04 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    extras?: unknown

    Extras data

    keywords?: Record<string, string>

    The already existing variables defined with $let

    The context this code will run in

    -
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    +
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    The old and new states of an event

    -
    +
    diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index c9bc20d..cdbef4c 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    audit +IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    +

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 1c2ca70..4ef311b 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        useDefault?: boolean;
    }

    Properties

    events? +IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        useDefault?: boolean;
    }

    Properties

    Properties

    events?: keyof IGiveawayEvents

    The giveaway events to use.

    -
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    -
    +
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    +
    diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 8937773..beb199a 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID +IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 96e90e8..d2fbc4d 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,9 +1,8 @@ -IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEdit: [Giveaway, Giveaway];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect -giveawayEdit +IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect: []
    giveawayEdit: [Giveaway, Giveaway]
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    +

    Properties

    databaseConnect: []
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index d1f2606..daaf626 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles? +IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    +

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index ceedf13..4c02b73 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID +IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index aa02a1c..b4a1e63 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    +AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index a36c98f..7f70eb6 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    +ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index 78fe22f..4fd8557 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    +ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 7df59a7..03b7e1c 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    +IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    diff --git a/src/events/giveawayEdit.ts b/src/events/giveawayEdit.ts deleted file mode 100644 index f062290..0000000 --- a/src/events/giveawayEdit.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { Interpreter } from "@tryforge/forgescript" -import { GiveawaysEventHandler } from "../handlers" -import { ForgeGiveaways } from ".." -import { Context } from "../structures" - -export default new GiveawaysEventHandler({ - name: "giveawayEdit", - version: "1.0.0", - description: "This event is fired when a giveaway was edited", - listener: async function(old, newer) { - const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEdit") - - for (const command of commands) { - const ctx = new Context({ - obj: newer, - command, - client: this, - states: { - giveaway: { - new: newer, - old - } - }, - data: command.compiled.code, - }) - - Interpreter.run(ctx) - } - }, -}) \ No newline at end of file diff --git a/src/functions/error.ts b/src/functions/error.ts index 07583cb..4ed6739 100644 --- a/src/functions/error.ts +++ b/src/functions/error.ts @@ -7,6 +7,7 @@ export enum GiveawaysErrorType { UnknownGiveaway = `Could not find the giveaway with ID "$1"`, NoStartMessage = `No start message for giveaways has been configured, giveaway terminated`, MultipleStartEvents = `Detected multiple giveawayStart events, only one is allowed per client instance`, + GiveawayNotActive = `Giveaway with ID "$1" has already ended and can no longer be entered`, } /** diff --git a/src/handlers/GiveawaysEventHandler.ts b/src/handlers/GiveawaysEventHandler.ts index e5f69fb..f6d6df1 100644 --- a/src/handlers/GiveawaysEventHandler.ts +++ b/src/handlers/GiveawaysEventHandler.ts @@ -7,7 +7,6 @@ export interface IGiveawayEvents { databaseConnect: [] giveawayStart: [Giveaway] giveawayEnd: [Giveaway] - giveawayEdit: [Giveaway, Giveaway] giveawayReroll: [Giveaway, Giveaway] giveawayEntryAdd: [Giveaway, Giveaway, Interaction] giveawayEntryRemove: [Giveaway, Giveaway, Interaction] diff --git a/src/handlers/GiveawaysInteractionHandler.ts b/src/handlers/GiveawaysInteractionHandler.ts index c7b5695..c045edb 100644 --- a/src/handlers/GiveawaysInteractionHandler.ts +++ b/src/handlers/GiveawaysInteractionHandler.ts @@ -19,19 +19,27 @@ export class GiveawaysInteractionHandler { const client = this.client.getExtension(ForgeGiveaways, true) const giveaway = await Database.get(id) + if (!giveaway) { throwGiveawaysError(GiveawaysErrorType.UnknownGiveaway, id) return } + if (giveaway.hasEnded) { + throwGiveawaysError(GiveawaysErrorType.GiveawayNotActive, id) + return + } + const member = interaction.member if (!giveaway.canEnter(member)) { - await interaction.reply({ - content: `❌ You do not meet the requirements to enter this giveaway!`, - flags: MessageFlags.Ephemeral, - }).catch(noop) client.emitter.emit("giveawayEntryRevoked", giveaway, interaction) + if (client.options.useDefault) { + await interaction.reply({ + content: `❌ You do not meet the requirements to enter this giveaway!`, + flags: MessageFlags.Ephemeral, + }).catch(noop) + } return } @@ -48,10 +56,12 @@ export class GiveawaysInteractionHandler { client.emitter.emit("giveawayEntryAdd", oldGiveaway, giveaway, interaction) } - await interaction.reply({ - content: `✅ You have successfully ${entered ? "left" : "joined"} this giveaway.`, - flags: MessageFlags.Ephemeral, - }).catch(noop) + if (client.options.useDefault) { + await interaction.reply({ + content: `✅ You have successfully ${entered ? "left" : "joined"} this giveaway.`, + flags: MessageFlags.Ephemeral, + }).catch(noop) + } }) } } diff --git a/src/managers/GiveawaysManager.ts b/src/managers/GiveawaysManager.ts index 98c1b2a..febdc6e 100644 --- a/src/managers/GiveawaysManager.ts +++ b/src/managers/GiveawaysManager.ts @@ -35,10 +35,11 @@ export class GiveawaysManager { if (this.giveaways.options.useDefault) { const chan = this.client.channels.cache.get(giveaway.channelID) as TextChannel | undefined + const roles = giveaway.requirements?.requiredRoles?.map((id) => `<@&${id}>`).join(", ") const embed = new EmbedBuilder() .setTitle("🎉 GIVEAWAY 🎉") - .setDescription(`🎁 **Prize:** ${giveaway.prize}\n🏆 **Winners:** ${giveaway.winnersCount}`) + .setDescription(`🎁 **Prize:** ${giveaway.prize}\n🏆 **Winners:** ${giveaway.winnersCount}${roles ? `\n\n📌 **Required Roles:** ${roles}` : ""}`) .setFields( { name: "Ends", value: `${time(new Date(Date.now() + giveaway.timeLeft()), "R")}`, inline: true }, { name: "Hosted by", value: `<@${giveaway.hostID}>`, inline: true }, @@ -182,6 +183,7 @@ export class GiveawaysManager { return giveaway } + // WIP /** * Edits an existing giveaway. * @param id The id of the giveaway to edit. @@ -201,7 +203,7 @@ export class GiveawaysManager { if (this.giveaways.options.useDefault) { } await Database.set(giveaway).catch(noop) - this.giveaways.emitter.emit("giveawayEdit", oldGiveaway, giveaway) + // this.giveaways.emitter.emit("giveawayEdit", oldGiveaway, giveaway) return giveaway } From b60a55f03faf950c32dc49d35af13bf763780fe7 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Wed, 22 Oct 2025 01:26:41 +0200 Subject: [PATCH 80/87] Fix not throwing error? --- dist/events/giveawayEdit.d.ts | 4 -- dist/events/giveawayEdit.d.ts.map | 1 - dist/events/giveawayEdit.js | 30 ------------- dist/events/giveawayEdit.js.map | 1 - dist/events/giveawayStart.js | 6 +-- dist/events/giveawayStart.js.map | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 14 +++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 6 +-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- metadata/events.json | 2 +- src/events/giveawayStart.ts | 6 +-- 30 files changed, 101 insertions(+), 137 deletions(-) delete mode 100644 dist/events/giveawayEdit.d.ts delete mode 100644 dist/events/giveawayEdit.d.ts.map delete mode 100644 dist/events/giveawayEdit.js delete mode 100644 dist/events/giveawayEdit.js.map diff --git a/dist/events/giveawayEdit.d.ts b/dist/events/giveawayEdit.d.ts deleted file mode 100644 index 294509a..0000000 --- a/dist/events/giveawayEdit.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { GiveawaysEventHandler } from "../handlers"; -declare const _default: GiveawaysEventHandler<"giveawayEdit">; -export default _default; -//# sourceMappingURL=giveawayEdit.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayEdit.d.ts.map b/dist/events/giveawayEdit.d.ts.map deleted file mode 100644 index d49bd4b..0000000 --- a/dist/events/giveawayEdit.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayEdit.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAwBE"} \ No newline at end of file diff --git a/dist/events/giveawayEdit.js b/dist/events/giveawayEdit.js deleted file mode 100644 index d559ccb..0000000 --- a/dist/events/giveawayEdit.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const forgescript_1 = require("@tryforge/forgescript"); -const handlers_1 = require("../handlers"); -const __1 = require(".."); -const structures_1 = require("../structures"); -exports.default = new handlers_1.GiveawaysEventHandler({ - name: "giveawayEdit", - version: "1.0.0", - description: "This event is fired when a giveaway was edited", - listener: async function (old, newer) { - const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEdit"); - for (const command of commands) { - const ctx = new structures_1.Context({ - obj: newer, - command, - client: this, - states: { - giveaway: { - new: newer, - old - } - }, - data: command.compiled.code, - }); - forgescript_1.Interpreter.run(ctx); - } - }, -}); -//# sourceMappingURL=giveawayEdit.js.map \ No newline at end of file diff --git a/dist/events/giveawayEdit.js.map b/dist/events/giveawayEdit.js.map deleted file mode 100644 index 2adda6a..0000000 --- a/dist/events/giveawayEdit.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayEdit.js","sourceRoot":"","sources":["../../src/events/giveawayEdit.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,KAAK,WAAU,GAAG,EAAE,KAAK;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAErF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,KAAK;gBACV,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,KAAK;wBACV,GAAG;qBACN;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index 8c372f5..9bf5c99 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -12,14 +12,14 @@ exports.default = new handlers_1.GiveawaysEventHandler({ listener: async function (gw) { const client = this.getExtension(__1.ForgeGiveaways, true); const commands = client.commands.get("giveawayStart"); - const command = commands[0]; if (commands.length > 1) throw new Error(error_1.GiveawaysErrorType.MultipleStartEvents); - if (!command && client.options.useDefault === false) { + if (!commands.length && client.options.useDefault === false) { await structures_1.Database.delete(gw.id); throw new Error(error_1.GiveawaysErrorType.NoStartMessage); } - if (command) { + if (commands.length) { + const command = commands[0]; const ctx = new structures_1.Context({ obj: gw, command, diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index d263fe4..bbd41cf 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,8CAAiD;AACjD,0BAAmC;AACnC,8CAA4E;AAE5E,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAW,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAE3B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,mBAAmB,CAAC,CAAA;QAChF,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAClD,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,cAAc,CAAC,CAAA;QACtD,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAC3B,mBAAmB,EAAE,IAAI;aAC5B,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;gBAC1B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;gBAEzE,IAAI,GAAG,EAAE,CAAC;oBACN,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;qBAAM,CAAC;oBACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;oBACnE,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,8CAAiD;AACjD,0BAAmC;AACnC,8CAA4E;AAE5E,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAW,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAErD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,mBAAmB,CAAC,CAAA;QAChF,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAC1D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,cAAc,CAAC,CAAA;QACtD,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC3B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAC3B,mBAAmB,EAAE,IAAI;aAC5B,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;gBAC1B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;gBAEzE,IAAI,GAAG,EAAE,CAAC;oBACN,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;qBAAM,CAAC;oBACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;oBACnE,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index d27c1da..14eccd0 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    constructor +Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      +

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      Parameters

      • Optionalprops: Partial<IRunnable>
      • OptionalsyncVars: boolean

      Returns Context

    • Returns Context

    • Returns IRunnable

    • Parameters

      • name: string

      Returns boolean

    • Parameters

      • name: string

      Returns boolean

    • Fetches all emojis of the application.

      Parameters

      • Optionalonce: boolean

        Whether to fetch only when the collection is empty.

      Returns Promise<void | Collection<string, ApplicationEmoji>>

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    diff --git a/docs/classes/Database.html b/docs/classes/Database.html index 427ae6b..ceee648 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    constructor +Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    Properties

    database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      +

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      Parameters

      • id: string

        The id of the giveaway to delete.

        -

      Returns Promise<DeleteResult>

    • Gets an existing giveaway.

      +

    Returns Promise<DeleteResult>

    • Saves a giveaway in the database.

      +

    Returns Promise<null | Giveaway>

    +

    Returns Promise<void>

    diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 316d8b2..c198943 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    constructor +ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    Properties

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    -
    targetVersions?: string[]

    Only the versions written here will be allowed

    -
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    +

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    +
    targetVersions?: string[]

    Only the versions written here will be allowed

    +
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index be71814..9a156cc 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    constructor +Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | Giveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Returns whether a user has entered this giveaway.

      Parameters

      • userID: string

        The user to check for.

        -

      Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | Giveaway

    diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 683a9c2..bd99093 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    constructor +GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    Properties

    Accessors

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    +

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 80276cf..1b1f133 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    constructor +GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    Properties

    Methods

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    +

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index a0f4a61..601b378 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    constructor +GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    +

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 100f007..850189a 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    +GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index f244b3f..c997d3d 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,21 +1,21 @@ -GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    constructor +GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    Methods

    • Edits an existing giveaway.

      +

    Constructors

    Methods

    • Ends an existing giveaway.

      +

    Returns Promise<null | Giveaway>

    • Fetches the message of a giveaway.

      +

    Returns Promise<undefined | Giveaway>

    • Fetches the message of a giveaway.

      Parameters

      • channelID: string

        The id of the channel to pull message from.

      • OptionalmessageID: string

        The id of the message to fetch.

        -

      Returns Promise<void | Message<true>>

    • Rerolls an existing giveaway.

      +

    Returns Promise<void | Message<true>>

    • Rerolls an existing giveaway.

      Parameters

      • id: string

        The id of the giveaway to reroll.

      • unique: boolean = false

        Whether to not include the previous winners.

      • Optionalamount: number

        The amount of new winners.

        -

      Returns Promise<undefined | Giveaway>

    • Starts a new giveaway on a guild.

      +

    Returns Promise<undefined | Giveaway>

    +

    Returns Promise<undefined | Giveaway>

    diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index 96c259b..f402889 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    constructor +MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    mongoId?: string

    The object id for MongoDB.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    mongoId?: string

    The object id for MongoDB.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | MongoGiveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | MongoGiveaway

    diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 05dd7f4..edd7110 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    automod +IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    +

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index 9193f04..2a72ee7 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    extras?: unknown

    Extras data

    keywords?: Record<string, string>

    The already existing variables defined with $let

    The context this code will run in

    -
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    +
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    The old and new states of an event

    -
    +
    diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index cdbef4c..8442a79 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    audit +IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    +

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 4ef311b..dbf0e1c 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        useDefault?: boolean;
    }

    Properties

    events? +IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        useDefault?: boolean;
    }

    Properties

    Properties

    events?: keyof IGiveawayEvents

    The giveaway events to use.

    -
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    -
    +
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    +
    diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index beb199a..653e7a1 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID +IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index d2fbc4d..0b0e6e6 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,8 +1,8 @@ -IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect +IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect: []
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    +

    Properties

    databaseConnect: []
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index daaf626..d1a4257 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles? +IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    +

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 4c02b73..d11099d 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID +IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index b4a1e63..1e706ce 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    +AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index 7f70eb6..efdfb59 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    +ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index 4fd8557..f28fac3 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    +ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 03b7e1c..0d37208 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    +IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    diff --git a/metadata/events.json b/metadata/events.json index db48bb2..6cf6ff2 100644 --- a/metadata/events.json +++ b/metadata/events.json @@ -1 +1 @@ -[{"name":"databaseConnect","version":"1.0.0","description":"This event is fired when the database has connected"},{"name":"giveawayEdit","version":"1.0.0","description":"This event is fired when a giveaway was edited"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayEntryAdd","version":"1.0.0","description":"This event is fired when a giveaway entry is added"},{"name":"giveawayEntryRemove","version":"1.0.0","description":"This event is fired when a giveaway entry is removed"},{"name":"giveawayEntryRevoked","version":"1.0.0","description":"This event is fired when a giveaway entry is revoked"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file +[{"name":"databaseConnect","version":"1.0.0","description":"This event is fired when the database has connected"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayEntryAdd","version":"1.0.0","description":"This event is fired when a giveaway entry is added"},{"name":"giveawayEntryRemove","version":"1.0.0","description":"This event is fired when a giveaway entry is removed"},{"name":"giveawayEntryRevoked","version":"1.0.0","description":"This event is fired when a giveaway entry is revoked"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index 85649ed..48167c1 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -11,15 +11,15 @@ export default new GiveawaysEventHandler({ listener: async function (gw) { const client = this.getExtension(ForgeGiveaways, true) const commands = client.commands.get("giveawayStart") - const command = commands[0] if (commands.length > 1) throw new Error(GiveawaysErrorType.MultipleStartEvents) - if (!command && client.options.useDefault === false) { + if (!commands.length && client.options.useDefault === false) { await Database.delete(gw.id) throw new Error(GiveawaysErrorType.NoStartMessage) } - if (command) { + if (commands.length) { + const command = commands[0] const ctx = new Context({ obj: gw, command, From 1bf2484be326c4ca85afbc013e9fd8dbeead1085 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Wed, 22 Oct 2025 01:40:39 +0200 Subject: [PATCH 81/87] Add error throw on startup --- dist/events/giveawayStart.js | 8 ++-- dist/events/giveawayStart.js.map | 2 +- dist/index.d.ts.map | 2 +- dist/index.js | 6 +-- dist/index.js.map | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 14 +++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 6 +-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- src/events/giveawayStart.ts | 8 ++-- src/index.ts | 6 ++- 29 files changed, 111 insertions(+), 109 deletions(-) diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index 9bf5c99..f0d5aa7 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -12,14 +12,14 @@ exports.default = new handlers_1.GiveawaysEventHandler({ listener: async function (gw) { const client = this.getExtension(__1.ForgeGiveaways, true); const commands = client.commands.get("giveawayStart"); + const command = commands[0]; if (commands.length > 1) throw new Error(error_1.GiveawaysErrorType.MultipleStartEvents); - if (!commands.length && client.options.useDefault === false) { + if (!command && !client.options.useDefault) { await structures_1.Database.delete(gw.id); throw new Error(error_1.GiveawaysErrorType.NoStartMessage); } - if (commands.length) { - const command = commands[0]; + if (commands) { const ctx = new structures_1.Context({ obj: gw, command, @@ -33,7 +33,7 @@ exports.default = new handlers_1.GiveawaysEventHandler({ allowTopLevelReturn: true }); const result = await forgescript_1.Interpreter.run(ctx); - if (client.options.useDefault === false) { + if (!client.options.useDefault) { const res = result?.trim(); const msg = await client.giveawaysManager.fetchMessage(gw.channelID, res); if (msg) { diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index bbd41cf..c211fa3 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,8CAAiD;AACjD,0BAAmC;AACnC,8CAA4E;AAE5E,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAW,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAErD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,mBAAmB,CAAC,CAAA;QAChF,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAC1D,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,cAAc,CAAC,CAAA;QACtD,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC3B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAC3B,mBAAmB,EAAE,IAAI;aAC5B,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEzC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;gBAC1B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;gBAEzE,IAAI,GAAG,EAAE,CAAC;oBACN,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;qBAAM,CAAC;oBACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;oBACnE,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,8CAAiD;AACjD,0BAAmC;AACnC,8CAA4E;AAE5E,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAW,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAE3B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,mBAAmB,CAAC,CAAA;QAChF,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,cAAc,CAAC,CAAA;QACtD,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAC3B,mBAAmB,EAAE,IAAI;aAC5B,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;gBAC1B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;gBAEzE,IAAI,GAAG,EAAE,CAAC;oBACN,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;qBAAM,CAAC;oBACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;oBACnE,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/index.d.ts.map b/dist/index.d.ts.map index cfe0009..694249d 100644 --- a/dist/index.d.ts.map +++ b/dist/index.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,EAA+B,eAAe,EAAE,MAAM,YAAY,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAIpD,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,MAAyC;IACpD,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAiBxC;AAED,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"} \ No newline at end of file +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,EAA+B,eAAe,EAAE,MAAM,YAAY,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAIpD,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,eAAe,CAAA;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,cAAe,SAAQ,cAAc;aAWV,OAAO,EAAE,sBAAsB;IAVnE,IAAI,SAAoB;IACxB,WAAW,MAAyC;IACpD,OAAO,MAAqC;IAC5C,iBAAiB,WAAe;IAEzB,OAAO,iDAAuD;IAE9D,gBAAgB,EAAG,gBAAgB,CAAA;IACnC,QAAQ,EAAG,uBAAuB,CAAA;gBAEL,OAAO,GAAE,sBAA2B;IAK3D,IAAI,CAAC,MAAM,EAAE,WAAW;CAmBxC;AAED,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 0f3f376..d8c81af 100644 --- a/dist/index.js +++ b/dist/index.js @@ -42,9 +42,9 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { new handlers_1.GiveawaysInteractionHandler(client); if (this.options.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); - const commands = this.commands.get("giveawayStart"); - if (commands.length > 1) - throw new Error(error_1.GiveawaysErrorType.MultipleStartEvents); + if (!this.options.useDefault && !this.options.events.includes("giveawayStart")) { + throw new Error(error_1.GiveawaysErrorType.NoStartMessage); + } } await new structures_1.Database(this.emitter).init(); this.giveawaysManager = new managers_1.GiveawaysManager(this, client); diff --git a/dist/index.js.map b/dist/index.js.map index a2af2d4..a3dc235 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AACjF,yCAAsE;AACtE,yCAAyE;AACzE,2DAAiD;AAEjD,6CAAuC;AACvC,6CAAsD;AActD,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAA;IACpD,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;YACnD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,mBAAmB,CAAC,CAAA;QACpF,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;CACJ;AAjCD,wCAiCC;AAED,6CAA0B;AAC1B,6CAA0B;AAC1B,+CAA4B;AAC5B,0CAAuB"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AACjF,yCAAsE;AACtE,yCAAyE;AACzE,2DAAiD;AAEjD,6CAAuC;AACvC,6CAAsD;AActD,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAA;IACpD,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAE/D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC7E,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,cAAc,CAAC,CAAA;YACtD,CAAC;QACL,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;CACJ;AAnCD,wCAmCC;AAED,6CAA0B;AAC1B,6CAA0B;AAC1B,+CAA4B;AAC5B,0CAAuB"} \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 14eccd0..2a74ea5 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    constructor +Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      +

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      Parameters

      • Optionalprops: Partial<IRunnable>
      • OptionalsyncVars: boolean

      Returns Context

    • Returns Context

    • Returns IRunnable

    • Parameters

      • name: string

      Returns boolean

    • Parameters

      • name: string

      Returns boolean

    • Fetches all emojis of the application.

      Parameters

      • Optionalonce: boolean

        Whether to fetch only when the collection is empty.

      Returns Promise<void | Collection<string, ApplicationEmoji>>

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    diff --git a/docs/classes/Database.html b/docs/classes/Database.html index ceee648..fd7c161 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    constructor +Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    Properties

    database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      +

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      Parameters

      • id: string

        The id of the giveaway to delete.

        -

      Returns Promise<DeleteResult>

    • Gets an existing giveaway.

      +

    Returns Promise<DeleteResult>

    • Saves a giveaway in the database.

      +

    Returns Promise<null | Giveaway>

    +

    Returns Promise<void>

    diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index c198943..19010db 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    constructor +ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    Properties

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    -
    targetVersions?: string[]

    Only the versions written here will be allowed

    -
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    +

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    +
    targetVersions?: string[]

    Only the versions written here will be allowed

    +
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index 9a156cc..19c44c9 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    constructor +Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | Giveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Returns whether a user has entered this giveaway.

      Parameters

      • userID: string

        The user to check for.

        -

      Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | Giveaway

    diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index bd99093..5c9a30e 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    constructor +GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    Properties

    Accessors

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    +

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 1b1f133..ca5ee52 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    constructor +GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    Properties

    Methods

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    +

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 601b378..9d8ebfd 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    constructor +GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    +

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 850189a..5cce59e 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    +GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index c997d3d..b94a7e8 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,21 +1,21 @@ -GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    constructor +GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    Methods

    • Edits an existing giveaway.

      +

    Constructors

    Methods

    • Ends an existing giveaway.

      +

    Returns Promise<null | Giveaway>

    • Fetches the message of a giveaway.

      +

    Returns Promise<undefined | Giveaway>

    • Fetches the message of a giveaway.

      Parameters

      • channelID: string

        The id of the channel to pull message from.

      • OptionalmessageID: string

        The id of the message to fetch.

        -

      Returns Promise<void | Message<true>>

    • Rerolls an existing giveaway.

      +

    Returns Promise<void | Message<true>>

    • Rerolls an existing giveaway.

      Parameters

      • id: string

        The id of the giveaway to reroll.

      • unique: boolean = false

        Whether to not include the previous winners.

      • Optionalamount: number

        The amount of new winners.

        -

      Returns Promise<undefined | Giveaway>

    • Starts a new giveaway on a guild.

      +

    Returns Promise<undefined | Giveaway>

    +

    Returns Promise<undefined | Giveaway>

    diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index f402889..c1e5dd8 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    constructor +MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    mongoId?: string

    The object id for MongoDB.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    mongoId?: string

    The object id for MongoDB.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | MongoGiveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | MongoGiveaway

    diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index edd7110..77d5f52 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    automod +IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    +

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index 2a72ee7..d4bc78d 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    extras?: unknown

    Extras data

    keywords?: Record<string, string>

    The already existing variables defined with $let

    The context this code will run in

    -
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    +
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    The old and new states of an event

    -
    +
    diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index 8442a79..dde04f1 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    audit +IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    +

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index dbf0e1c..fb6126c 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        useDefault?: boolean;
    }

    Properties

    events? +IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        useDefault?: boolean;
    }

    Properties

    Properties

    events?: keyof IGiveawayEvents

    The giveaway events to use.

    -
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    -
    +
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    +
    diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 653e7a1..a662a36 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID +IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 0b0e6e6..1c523d6 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,8 +1,8 @@ -IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect +IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect: []
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    +

    Properties

    databaseConnect: []
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index d1a4257..a2aa8e6 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles? +IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    +

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index d11099d..a068a80 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID +IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index 1e706ce..7c7681b 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    +AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index efdfb59..2298346 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    +ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index f28fac3..0b80348 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    +ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 0d37208..1e1d4ba 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    +IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index 48167c1..caa616a 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -11,15 +11,15 @@ export default new GiveawaysEventHandler({ listener: async function (gw) { const client = this.getExtension(ForgeGiveaways, true) const commands = client.commands.get("giveawayStart") + const command = commands[0] if (commands.length > 1) throw new Error(GiveawaysErrorType.MultipleStartEvents) - if (!commands.length && client.options.useDefault === false) { + if (!command && !client.options.useDefault) { await Database.delete(gw.id) throw new Error(GiveawaysErrorType.NoStartMessage) } - if (commands.length) { - const command = commands[0] + if (commands) { const ctx = new Context({ obj: gw, command, @@ -35,7 +35,7 @@ export default new GiveawaysEventHandler({ const result = await Interpreter.run(ctx) - if (client.options.useDefault === false) { + if (!client.options.useDefault) { const res = result?.trim() const msg = await client.giveawaysManager.fetchMessage(gw.channelID, res) diff --git a/src/index.ts b/src/index.ts index ff1f6fb..da09b09 100644 --- a/src/index.ts +++ b/src/index.ts @@ -44,8 +44,10 @@ export class ForgeGiveaways extends ForgeExtension { if (this.options.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events) - const commands = this.commands.get("giveawayStart") - if (commands.length > 1) throw new Error(GiveawaysErrorType.MultipleStartEvents) + + if (!this.options.useDefault && !this.options.events.includes("giveawayStart")) { + throw new Error(GiveawaysErrorType.NoStartMessage) + } } await new Database(this.emitter).init() From 434f1dd6eda606a1050ac96aa75c24ff841bd7c5 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Wed, 22 Oct 2025 01:48:46 +0200 Subject: [PATCH 82/87] More clear error message --- dist/events/giveawayStart.js | 2 +- dist/events/giveawayStart.js.map | 2 +- dist/functions/error.d.ts | 2 +- dist/functions/error.d.ts.map | 2 +- dist/functions/error.js | 2 +- dist/functions/error.js.map | 2 +- dist/index.js | 2 +- dist/index.js.map | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 14 +++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 6 +-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- src/events/giveawayStart.ts | 2 +- src/functions/error.ts | 2 +- src/index.ts | 2 +- 33 files changed, 104 insertions(+), 104 deletions(-) diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index f0d5aa7..ee43ebb 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -17,7 +17,7 @@ exports.default = new handlers_1.GiveawaysEventHandler({ throw new Error(error_1.GiveawaysErrorType.MultipleStartEvents); if (!command && !client.options.useDefault) { await structures_1.Database.delete(gw.id); - throw new Error(error_1.GiveawaysErrorType.NoStartMessage); + throw new Error(error_1.GiveawaysErrorType.NoStartEvent); } if (commands) { const ctx = new structures_1.Context({ diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index c211fa3..bed1aaa 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,8CAAiD;AACjD,0BAAmC;AACnC,8CAA4E;AAE5E,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAW,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAE3B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,mBAAmB,CAAC,CAAA;QAChF,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,cAAc,CAAC,CAAA;QACtD,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAC3B,mBAAmB,EAAE,IAAI;aAC5B,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;gBAC1B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;gBAEzE,IAAI,GAAG,EAAE,CAAC;oBACN,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;qBAAM,CAAC;oBACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;oBACnE,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,8CAAiD;AACjD,0BAAmC;AACnC,8CAA4E;AAE5E,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAW,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAE3B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,mBAAmB,CAAC,CAAA;QAChF,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,YAAY,CAAC,CAAA;QACpD,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAC3B,mBAAmB,EAAE,IAAI;aAC5B,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;gBAC1B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;gBAEzE,IAAI,GAAG,EAAE,CAAC;oBACN,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;qBAAM,CAAC;oBACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;oBACnE,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/functions/error.d.ts b/dist/functions/error.d.ts index 3b6566b..fd0b60a 100644 --- a/dist/functions/error.d.ts +++ b/dist/functions/error.d.ts @@ -3,7 +3,7 @@ export declare enum GiveawaysErrorType { MessageNotFound = "Could not find and update the message for giveaway with ID \"$1\"", MessageNotDetermined = "Could not determine the messageID for giveaway with ID \"$1\", giveaway terminated", UnknownGiveaway = "Could not find the giveaway with ID \"$1\"", - NoStartMessage = "No start message for giveaways has been configured, giveaway terminated", + NoStartEvent = "The giveawayStart event must be defined to start giveaways, but none was detected", MultipleStartEvents = "Detected multiple giveawayStart events, only one is allowed per client instance", GiveawayNotActive = "Giveaway with ID \"$1\" has already ended and can no longer be entered" } diff --git a/dist/functions/error.d.ts.map b/dist/functions/error.d.ts.map index 08a82e2..f4e00c5 100644 --- a/dist/functions/error.d.ts.map +++ b/dist/functions/error.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,oBAAY,kBAAkB;IAC1B,eAAe,sEAAoE;IACnF,oBAAoB,uFAAqF;IACzG,eAAe,+CAA6C;IAC5D,cAAc,4EAA4E;IAC1F,mBAAmB,oFAAoF;IACvG,iBAAiB,2EAAyE;CAC7F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,SAAS,QAI3E"} \ No newline at end of file +{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,oBAAY,kBAAkB;IAC1B,eAAe,sEAAoE;IACnF,oBAAoB,uFAAqF;IACzG,eAAe,+CAA6C;IAC5D,YAAY,sFAAsF;IAClG,mBAAmB,oFAAoF;IACvG,iBAAiB,2EAAyE;CAC7F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,SAAS,QAI3E"} \ No newline at end of file diff --git a/dist/functions/error.js b/dist/functions/error.js index 699c3ee..a1d4298 100644 --- a/dist/functions/error.js +++ b/dist/functions/error.js @@ -8,7 +8,7 @@ var GiveawaysErrorType; GiveawaysErrorType["MessageNotFound"] = "Could not find and update the message for giveaway with ID \"$1\""; GiveawaysErrorType["MessageNotDetermined"] = "Could not determine the messageID for giveaway with ID \"$1\", giveaway terminated"; GiveawaysErrorType["UnknownGiveaway"] = "Could not find the giveaway with ID \"$1\""; - GiveawaysErrorType["NoStartMessage"] = "No start message for giveaways has been configured, giveaway terminated"; + GiveawaysErrorType["NoStartEvent"] = "The giveawayStart event must be defined to start giveaways, but none was detected"; GiveawaysErrorType["MultipleStartEvents"] = "Detected multiple giveawayStart events, only one is allowed per client instance"; GiveawaysErrorType["GiveawayNotActive"] = "Giveaway with ID \"$1\" has already ended and can no longer be entered"; })(GiveawaysErrorType || (exports.GiveawaysErrorType = GiveawaysErrorType = {})); diff --git a/dist/functions/error.js.map b/dist/functions/error.js.map index 07a37b2..79f0cc6 100644 --- a/dist/functions/error.js.map +++ b/dist/functions/error.js.map @@ -1 +1 @@ -{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":";;;AAiBA,kDAIC;AArBD,uDAA8C;AAG9C,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC1B,2GAAmF,CAAA;IACnF,iIAAyG,CAAA;IACzG,oFAA4D,CAAA;IAC5D,gHAA0F,CAAA;IAC1F,6HAAuG,CAAA;IACvG,kHAA0F,CAAA;AAC9F,CAAC,EAPW,kBAAkB,kCAAlB,kBAAkB,QAO7B;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAwB,EAAE,EAAc;IACxE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAoC,CAAC,KAAK,IAAI,CAAC,CAAA;IAC1H,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACxD,oBAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,OAAO,EAAE,CAAC,CAAA;AACvD,CAAC"} \ No newline at end of file +{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/functions/error.ts"],"names":[],"mappings":";;;AAiBA,kDAIC;AArBD,uDAA8C;AAG9C,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC1B,2GAAmF,CAAA;IACnF,iIAAyG,CAAA;IACzG,oFAA4D,CAAA;IAC5D,wHAAkG,CAAA;IAClG,6HAAuG,CAAA;IACvG,kHAA0F,CAAA;AAC9F,CAAC,EAPW,kBAAkB,kCAAlB,kBAAkB,QAO7B;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAwB,EAAE,EAAc;IACxE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAoC,CAAC,KAAK,IAAI,CAAC,CAAA;IAC1H,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACxD,oBAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,OAAO,EAAE,CAAC,CAAA;AACvD,CAAC"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index d8c81af..ce168f0 100644 --- a/dist/index.js +++ b/dist/index.js @@ -43,7 +43,7 @@ class ForgeGiveaways extends forgescript_1.ForgeExtension { if (this.options.events?.length) { client.events.load("ForgeGiveawaysEvents", this.options.events); if (!this.options.useDefault && !this.options.events.includes("giveawayStart")) { - throw new Error(error_1.GiveawaysErrorType.NoStartMessage); + throw new Error(error_1.GiveawaysErrorType.NoStartEvent); } } await new structures_1.Database(this.emitter).init(); diff --git a/dist/index.js.map b/dist/index.js.map index a3dc235..0c6a2b6 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AACjF,yCAAsE;AACtE,yCAAyE;AACzE,2DAAiD;AAEjD,6CAAuC;AACvC,6CAAsD;AActD,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAA;IACpD,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAE/D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC7E,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,cAAc,CAAC,CAAA;YACtD,CAAC;QACL,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;CACJ;AAnCD,wCAmCC;AAED,6CAA0B;AAC1B,6CAA0B;AAC1B,+CAA4B;AAC5B,0CAAuB"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAiF;AACjF,yCAAsE;AACtE,yCAAyE;AACzE,2DAAiD;AAEjD,6CAAuC;AACvC,6CAAsD;AActD,MAAa,cAAe,SAAQ,4BAAc;IAWV;IAVpC,IAAI,GAAG,iBAAiB,CAAA;IACxB,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAA;IACpD,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAA;IAC5C,iBAAiB,GAAG,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO,GAAG,IAAI,iCAAY,EAAoC,CAAA;IAE9D,gBAAgB,CAAmB;IACnC,QAAQ,CAA0B;IAEzC,YAAoC,UAAkC,EAAE;QACpE,KAAK,EAAE,CAAA;QADyB,YAAO,GAAP,OAAO,CAA6B;QAEpE,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAmB;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAuB,CAAC,MAAM,CAAC,CAAA;QAEnD,0BAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA;QAEhC,IAAI,sCAA2B,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAE/D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC7E,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,YAAY,CAAC,CAAA;YACpD,CAAC;QACL,CAAC;QAED,MAAM,IAAI,qBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;CACJ;AAnCD,wCAmCC;AAED,6CAA0B;AAC1B,6CAA0B;AAC1B,+CAA4B;AAC5B,0CAAuB"} \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 2a74ea5..a701de3 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    constructor +Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      +

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      Parameters

      • Optionalprops: Partial<IRunnable>
      • OptionalsyncVars: boolean

      Returns Context

    • Returns Context

    • Returns IRunnable

    • Parameters

      • name: string

      Returns boolean

    • Parameters

      • name: string

      Returns boolean

    • Fetches all emojis of the application.

      Parameters

      • Optionalonce: boolean

        Whether to fetch only when the collection is empty.

      Returns Promise<void | Collection<string, ApplicationEmoji>>

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    diff --git a/docs/classes/Database.html b/docs/classes/Database.html index fd7c161..de561a2 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    constructor +Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    Properties

    database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      +

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      Parameters

      • id: string

        The id of the giveaway to delete.

        -

      Returns Promise<DeleteResult>

    • Gets an existing giveaway.

      +

    Returns Promise<DeleteResult>

    • Saves a giveaway in the database.

      +

    Returns Promise<null | Giveaway>

    +

    Returns Promise<void>

    diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 19010db..645ce88 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    constructor +ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    Properties

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    -
    targetVersions?: string[]

    Only the versions written here will be allowed

    -
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    +

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    +
    targetVersions?: string[]

    Only the versions written here will be allowed

    +
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index 19c44c9..83f5818 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    constructor +Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | Giveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Returns whether a user has entered this giveaway.

      Parameters

      • userID: string

        The user to check for.

        -

      Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | Giveaway

    diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 5c9a30e..c954935 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    constructor +GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    Properties

    Accessors

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    +

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index ca5ee52..ca61476 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    constructor +GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    Properties

    Methods

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    +

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 9d8ebfd..81a365a 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    constructor +GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    +

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 5cce59e..a98d30b 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    +GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index b94a7e8..37dec81 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,21 +1,21 @@ -GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    constructor +GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    Methods

    • Edits an existing giveaway.

      +

    Constructors

    Methods

    • Ends an existing giveaway.

      +

    Returns Promise<null | Giveaway>

    • Fetches the message of a giveaway.

      +

    Returns Promise<undefined | Giveaway>

    • Fetches the message of a giveaway.

      Parameters

      • channelID: string

        The id of the channel to pull message from.

      • OptionalmessageID: string

        The id of the message to fetch.

        -

      Returns Promise<void | Message<true>>

    • Rerolls an existing giveaway.

      +

    Returns Promise<void | Message<true>>

    • Rerolls an existing giveaway.

      Parameters

      • id: string

        The id of the giveaway to reroll.

      • unique: boolean = false

        Whether to not include the previous winners.

      • Optionalamount: number

        The amount of new winners.

        -

      Returns Promise<undefined | Giveaway>

    • Starts a new giveaway on a guild.

      +

    Returns Promise<undefined | Giveaway>

    +

    Returns Promise<undefined | Giveaway>

    diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index c1e5dd8..debd6ed 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    constructor +MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    mongoId?: string

    The object id for MongoDB.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    mongoId?: string

    The object id for MongoDB.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | MongoGiveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | MongoGiveaway

    diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 77d5f52..8ce7f96 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    automod +IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    +

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index d4bc78d..9058ba5 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    extras?: unknown

    Extras data

    keywords?: Record<string, string>

    The already existing variables defined with $let

    The context this code will run in

    -
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    +
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    The old and new states of an event

    -
    +
    diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index dde04f1..64da97d 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    audit +IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    +

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index fb6126c..29a1370 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        useDefault?: boolean;
    }

    Properties

    events? +IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        useDefault?: boolean;
    }

    Properties

    Properties

    events?: keyof IGiveawayEvents

    The giveaway events to use.

    -
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    -
    +
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    +
    diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index a662a36..6d048f6 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID +IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 1c523d6..9d6a348 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,8 +1,8 @@ -IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect +IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect: []
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    +

    Properties

    databaseConnect: []
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index a2aa8e6..82352f4 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles? +IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    +

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index a068a80..1726043 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID +IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index 7c7681b..086b212 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    +AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index 2298346..fb0925d 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    +ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index 0b80348..f02997e 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    +ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 1e1d4ba..1224c81 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    +IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index caa616a..ed78dd0 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -16,7 +16,7 @@ export default new GiveawaysEventHandler({ if (commands.length > 1) throw new Error(GiveawaysErrorType.MultipleStartEvents) if (!command && !client.options.useDefault) { await Database.delete(gw.id) - throw new Error(GiveawaysErrorType.NoStartMessage) + throw new Error(GiveawaysErrorType.NoStartEvent) } if (commands) { diff --git a/src/functions/error.ts b/src/functions/error.ts index 4ed6739..5e11885 100644 --- a/src/functions/error.ts +++ b/src/functions/error.ts @@ -5,7 +5,7 @@ export enum GiveawaysErrorType { MessageNotFound = `Could not find and update the message for giveaway with ID "$1"`, MessageNotDetermined = `Could not determine the messageID for giveaway with ID "$1", giveaway terminated`, UnknownGiveaway = `Could not find the giveaway with ID "$1"`, - NoStartMessage = `No start message for giveaways has been configured, giveaway terminated`, + NoStartEvent = `The giveawayStart event must be defined to start giveaways, but none was detected`, MultipleStartEvents = `Detected multiple giveawayStart events, only one is allowed per client instance`, GiveawayNotActive = `Giveaway with ID "$1" has already ended and can no longer be entered`, } diff --git a/src/index.ts b/src/index.ts index da09b09..97843ce 100644 --- a/src/index.ts +++ b/src/index.ts @@ -46,7 +46,7 @@ export class ForgeGiveaways extends ForgeExtension { client.events.load("ForgeGiveawaysEvents", this.options.events) if (!this.options.useDefault && !this.options.events.includes("giveawayStart")) { - throw new Error(GiveawaysErrorType.NoStartMessage) + throw new Error(GiveawaysErrorType.NoStartEvent) } } From 04c3e6a2122138a2e3851268e46b7b49e9d331e1 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Wed, 22 Oct 2025 02:18:21 +0200 Subject: [PATCH 83/87] Add giveaway category, finish README --- README.md | 28 +++++++++++- .../{ => giveaway}/giveawayChannelID.d.ts | 0 .../giveaway/giveawayChannelID.d.ts.map | 1 + .../{ => giveaway}/giveawayChannelID.js | 2 +- dist/native/giveaway/giveawayChannelID.js.map | 1 + .../{ => giveaway}/giveawayDuration.d.ts | 0 .../native/giveaway/giveawayDuration.d.ts.map | 1 + .../native/{ => giveaway}/giveawayDuration.js | 2 +- dist/native/giveaway/giveawayDuration.js.map | 1 + .../{ => giveaway}/giveawayEntries.d.ts | 0 dist/native/giveaway/giveawayEntries.d.ts.map | 1 + dist/native/{ => giveaway}/giveawayEntries.js | 4 +- .../giveawayEntries.js.map} | 2 +- .../native/{ => giveaway}/giveawayExists.d.ts | 0 dist/native/giveaway/giveawayExists.d.ts.map | 1 + dist/native/{ => giveaway}/giveawayExists.js | 2 +- dist/native/giveaway/giveawayExists.js.map | 1 + .../{ => giveaway}/giveawayGuildID.d.ts | 0 dist/native/giveaway/giveawayGuildID.d.ts.map | 1 + dist/native/{ => giveaway}/giveawayGuildID.js | 2 +- dist/native/giveaway/giveawayGuildID.js.map | 1 + .../{ => giveaway}/giveawayHasEnded.d.ts | 0 .../native/giveaway/giveawayHasEnded.d.ts.map | 1 + .../native/{ => giveaway}/giveawayHasEnded.js | 2 +- dist/native/giveaway/giveawayHasEnded.js.map | 1 + .../native/{ => giveaway}/giveawayHostID.d.ts | 0 dist/native/giveaway/giveawayHostID.d.ts.map | 1 + dist/native/{ => giveaway}/giveawayHostID.js | 2 +- dist/native/giveaway/giveawayHostID.js.map | 1 + dist/native/{ => giveaway}/giveawayID.d.ts | 0 dist/native/giveaway/giveawayID.d.ts.map | 1 + dist/native/{ => giveaway}/giveawayID.js | 0 dist/native/giveaway/giveawayID.js.map | 1 + .../{ => giveaway}/giveawayMessageID.d.ts | 0 .../giveaway/giveawayMessageID.d.ts.map | 1 + .../{ => giveaway}/giveawayMessageID.js | 2 +- dist/native/giveaway/giveawayMessageID.js.map | 1 + dist/native/{ => giveaway}/giveawayPrize.d.ts | 0 dist/native/giveaway/giveawayPrize.d.ts.map | 1 + dist/native/{ => giveaway}/giveawayPrize.js | 2 +- dist/native/giveaway/giveawayPrize.js.map | 1 + .../{ => giveaway}/giveawayRequiredRoles.d.ts | 0 .../giveaway/giveawayRequiredRoles.d.ts.map | 1 + .../{ => giveaway}/giveawayRequiredRoles.js | 4 +- .../giveaway/giveawayRequiredRoles.js.map | 1 + .../giveawayRestrictedMembers.d.ts | 0 .../giveawayRestrictedMembers.d.ts.map | 1 + .../giveawayRestrictedMembers.js | 4 +- .../giveaway/giveawayRestrictedMembers.js.map | 1 + .../giveawayRestrictedRoles.d.ts | 0 .../giveaway/giveawayRestrictedRoles.d.ts.map | 1 + .../{ => giveaway}/giveawayRestrictedRoles.js | 4 +- .../giveaway/giveawayRestrictedRoles.js.map | 1 + .../{ => giveaway}/giveawayTimestamp.d.ts | 0 .../giveaway/giveawayTimestamp.d.ts.map | 1 + .../{ => giveaway}/giveawayTimestamp.js | 2 +- dist/native/giveaway/giveawayTimestamp.js.map | 1 + .../{ => giveaway}/giveawayWinners.d.ts | 0 dist/native/giveaway/giveawayWinners.d.ts.map | 1 + dist/native/{ => giveaway}/giveawayWinners.js | 4 +- dist/native/giveaway/giveawayWinners.js.map | 1 + .../{ => giveaway}/giveawayWinnersCount.d.ts | 0 .../giveaway/giveawayWinnersCount.d.ts.map | 1 + .../{ => giveaway}/giveawayWinnersCount.js | 2 +- .../giveaway/giveawayWinnersCount.js.map | 1 + dist/native/giveawayChannelID.d.ts.map | 1 - dist/native/giveawayChannelID.js.map | 1 - dist/native/giveawayDuration.d.ts.map | 1 - dist/native/giveawayDuration.js.map | 1 - dist/native/giveawayEntries.d.ts.map | 1 - dist/native/giveawayEntries.js.map | 1 - dist/native/giveawayExists.d.ts.map | 1 - dist/native/giveawayExists.js.map | 1 - dist/native/giveawayGuildID.d.ts.map | 1 - dist/native/giveawayGuildID.js.map | 1 - dist/native/giveawayHasEnded.d.ts.map | 1 - dist/native/giveawayHasEnded.js.map | 1 - dist/native/giveawayHostID.d.ts.map | 1 - dist/native/giveawayHostID.js.map | 1 - dist/native/giveawayID.d.ts.map | 1 - dist/native/giveawayID.js.map | 1 - dist/native/giveawayMessageID.d.ts.map | 1 - dist/native/giveawayMessageID.js.map | 1 - dist/native/giveawayPrize.d.ts.map | 1 - dist/native/giveawayPrize.js.map | 1 - dist/native/giveawayRequiredRoles.d.ts.map | 1 - .../native/giveawayRestrictedMembers.d.ts.map | 1 - dist/native/giveawayRestrictedMembers.js.map | 1 - dist/native/giveawayRestrictedRoles.d.ts.map | 1 - dist/native/giveawayRestrictedRoles.js.map | 1 - dist/native/giveawayTimestamp.d.ts.map | 1 - dist/native/giveawayTimestamp.js.map | 1 - dist/native/giveawayWinners.d.ts.map | 1 - dist/native/giveawayWinners.js.map | 1 - dist/native/giveawayWinnersCount.d.ts.map | 1 - dist/native/giveawayWinnersCount.js.map | 1 - docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 14 +++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/index.html | 17 +++++-- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 6 +-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- metadata/functions.json | 2 +- .../{ => giveaway}/giveawayChannelID.ts | 2 +- src/native/{ => giveaway}/giveawayDuration.ts | 2 +- src/native/{ => giveaway}/giveawayEntries.ts | 4 +- src/native/{ => giveaway}/giveawayExists.ts | 2 +- src/native/{ => giveaway}/giveawayGuildID.ts | 2 +- src/native/{ => giveaway}/giveawayHasEnded.ts | 2 +- src/native/{ => giveaway}/giveawayHostID.ts | 2 +- src/native/{ => giveaway}/giveawayID.ts | 0 .../{ => giveaway}/giveawayMessageID.ts | 2 +- src/native/{ => giveaway}/giveawayPrize.ts | 2 +- .../{ => giveaway}/giveawayRequiredRoles.ts | 4 +- .../giveawayRestrictedMembers.ts | 4 +- .../{ => giveaway}/giveawayRestrictedRoles.ts | 4 +- .../{ => giveaway}/giveawayTimestamp.ts | 2 +- src/native/{ => giveaway}/giveawayWinners.ts | 4 +- .../{ => giveaway}/giveawayWinnersCount.ts | 2 +- 136 files changed, 206 insertions(+), 171 deletions(-) rename dist/native/{ => giveaway}/giveawayChannelID.d.ts (100%) create mode 100644 dist/native/giveaway/giveawayChannelID.d.ts.map rename dist/native/{ => giveaway}/giveawayChannelID.js (92%) create mode 100644 dist/native/giveaway/giveawayChannelID.js.map rename dist/native/{ => giveaway}/giveawayDuration.d.ts (100%) create mode 100644 dist/native/giveaway/giveawayDuration.d.ts.map rename dist/native/{ => giveaway}/giveawayDuration.js (92%) create mode 100644 dist/native/giveaway/giveawayDuration.js.map rename dist/native/{ => giveaway}/giveawayEntries.d.ts (100%) create mode 100644 dist/native/giveaway/giveawayEntries.d.ts.map rename dist/native/{ => giveaway}/giveawayEntries.js (88%) rename dist/native/{giveawayRequiredRoles.js.map => giveaway/giveawayEntries.js.map} (52%) rename dist/native/{ => giveaway}/giveawayExists.d.ts (100%) create mode 100644 dist/native/giveaway/giveawayExists.d.ts.map rename dist/native/{ => giveaway}/giveawayExists.js (93%) create mode 100644 dist/native/giveaway/giveawayExists.js.map rename dist/native/{ => giveaway}/giveawayGuildID.d.ts (100%) create mode 100644 dist/native/giveaway/giveawayGuildID.d.ts.map rename dist/native/{ => giveaway}/giveawayGuildID.js (92%) create mode 100644 dist/native/giveaway/giveawayGuildID.js.map rename dist/native/{ => giveaway}/giveawayHasEnded.d.ts (100%) create mode 100644 dist/native/giveaway/giveawayHasEnded.d.ts.map rename dist/native/{ => giveaway}/giveawayHasEnded.js (92%) create mode 100644 dist/native/giveaway/giveawayHasEnded.js.map rename dist/native/{ => giveaway}/giveawayHostID.d.ts (100%) create mode 100644 dist/native/giveaway/giveawayHostID.d.ts.map rename dist/native/{ => giveaway}/giveawayHostID.js (92%) create mode 100644 dist/native/giveaway/giveawayHostID.js.map rename dist/native/{ => giveaway}/giveawayID.d.ts (100%) create mode 100644 dist/native/giveaway/giveawayID.d.ts.map rename dist/native/{ => giveaway}/giveawayID.js (100%) create mode 100644 dist/native/giveaway/giveawayID.js.map rename dist/native/{ => giveaway}/giveawayMessageID.d.ts (100%) create mode 100644 dist/native/giveaway/giveawayMessageID.d.ts.map rename dist/native/{ => giveaway}/giveawayMessageID.js (92%) create mode 100644 dist/native/giveaway/giveawayMessageID.js.map rename dist/native/{ => giveaway}/giveawayPrize.d.ts (100%) create mode 100644 dist/native/giveaway/giveawayPrize.d.ts.map rename dist/native/{ => giveaway}/giveawayPrize.js (92%) create mode 100644 dist/native/giveaway/giveawayPrize.js.map rename dist/native/{ => giveaway}/giveawayRequiredRoles.d.ts (100%) create mode 100644 dist/native/giveaway/giveawayRequiredRoles.d.ts.map rename dist/native/{ => giveaway}/giveawayRequiredRoles.js (88%) create mode 100644 dist/native/giveaway/giveawayRequiredRoles.js.map rename dist/native/{ => giveaway}/giveawayRestrictedMembers.d.ts (100%) create mode 100644 dist/native/giveaway/giveawayRestrictedMembers.d.ts.map rename dist/native/{ => giveaway}/giveawayRestrictedMembers.js (89%) create mode 100644 dist/native/giveaway/giveawayRestrictedMembers.js.map rename dist/native/{ => giveaway}/giveawayRestrictedRoles.d.ts (100%) create mode 100644 dist/native/giveaway/giveawayRestrictedRoles.d.ts.map rename dist/native/{ => giveaway}/giveawayRestrictedRoles.js (89%) create mode 100644 dist/native/giveaway/giveawayRestrictedRoles.js.map rename dist/native/{ => giveaway}/giveawayTimestamp.d.ts (100%) create mode 100644 dist/native/giveaway/giveawayTimestamp.d.ts.map rename dist/native/{ => giveaway}/giveawayTimestamp.js (92%) create mode 100644 dist/native/giveaway/giveawayTimestamp.js.map rename dist/native/{ => giveaway}/giveawayWinners.d.ts (100%) create mode 100644 dist/native/giveaway/giveawayWinners.d.ts.map rename dist/native/{ => giveaway}/giveawayWinners.js (88%) create mode 100644 dist/native/giveaway/giveawayWinners.js.map rename dist/native/{ => giveaway}/giveawayWinnersCount.d.ts (100%) create mode 100644 dist/native/giveaway/giveawayWinnersCount.d.ts.map rename dist/native/{ => giveaway}/giveawayWinnersCount.js (92%) create mode 100644 dist/native/giveaway/giveawayWinnersCount.js.map delete mode 100644 dist/native/giveawayChannelID.d.ts.map delete mode 100644 dist/native/giveawayChannelID.js.map delete mode 100644 dist/native/giveawayDuration.d.ts.map delete mode 100644 dist/native/giveawayDuration.js.map delete mode 100644 dist/native/giveawayEntries.d.ts.map delete mode 100644 dist/native/giveawayEntries.js.map delete mode 100644 dist/native/giveawayExists.d.ts.map delete mode 100644 dist/native/giveawayExists.js.map delete mode 100644 dist/native/giveawayGuildID.d.ts.map delete mode 100644 dist/native/giveawayGuildID.js.map delete mode 100644 dist/native/giveawayHasEnded.d.ts.map delete mode 100644 dist/native/giveawayHasEnded.js.map delete mode 100644 dist/native/giveawayHostID.d.ts.map delete mode 100644 dist/native/giveawayHostID.js.map delete mode 100644 dist/native/giveawayID.d.ts.map delete mode 100644 dist/native/giveawayID.js.map delete mode 100644 dist/native/giveawayMessageID.d.ts.map delete mode 100644 dist/native/giveawayMessageID.js.map delete mode 100644 dist/native/giveawayPrize.d.ts.map delete mode 100644 dist/native/giveawayPrize.js.map delete mode 100644 dist/native/giveawayRequiredRoles.d.ts.map delete mode 100644 dist/native/giveawayRestrictedMembers.d.ts.map delete mode 100644 dist/native/giveawayRestrictedMembers.js.map delete mode 100644 dist/native/giveawayRestrictedRoles.d.ts.map delete mode 100644 dist/native/giveawayRestrictedRoles.js.map delete mode 100644 dist/native/giveawayTimestamp.d.ts.map delete mode 100644 dist/native/giveawayTimestamp.js.map delete mode 100644 dist/native/giveawayWinners.d.ts.map delete mode 100644 dist/native/giveawayWinners.js.map delete mode 100644 dist/native/giveawayWinnersCount.d.ts.map delete mode 100644 dist/native/giveawayWinnersCount.js.map rename src/native/{ => giveaway}/giveawayChannelID.ts (91%) rename src/native/{ => giveaway}/giveawayDuration.ts (91%) rename src/native/{ => giveaway}/giveawayEntries.ts (89%) rename src/native/{ => giveaway}/giveawayExists.ts (93%) rename src/native/{ => giveaway}/giveawayGuildID.ts (91%) rename src/native/{ => giveaway}/giveawayHasEnded.ts (91%) rename src/native/{ => giveaway}/giveawayHostID.ts (91%) rename src/native/{ => giveaway}/giveawayID.ts (100%) rename src/native/{ => giveaway}/giveawayMessageID.ts (91%) rename src/native/{ => giveaway}/giveawayPrize.ts (91%) rename src/native/{ => giveaway}/giveawayRequiredRoles.ts (89%) rename src/native/{ => giveaway}/giveawayRestrictedMembers.ts (90%) rename src/native/{ => giveaway}/giveawayRestrictedRoles.ts (89%) rename src/native/{ => giveaway}/giveawayTimestamp.ts (92%) rename src/native/{ => giveaway}/giveawayWinners.ts (89%) rename src/native/{ => giveaway}/giveawayWinnersCount.ts (92%) diff --git a/README.md b/README.md index 151cdba..c999d74 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,9 @@ You can disable the default messages by setting `useDefault: false` in the clien > [!WARNING] > Only **one** `giveawayStart` event is allowed per client instance! -##### Examples +#### Examples +When using custom start messages, your event **must return the message ID** of the sent giveaway message. To ensure that only the message ID is returned (and no additional text), use the `$return[]` function. + ```js module.exports = { type: "giveawayStart", @@ -103,7 +105,17 @@ module.exports = {

    Handling Interactions


    - ```js +The custom ID for giveaway entry buttons must follow this exact format: +``` +giveawayEntry-GIVEAWAY_ID +``` +*Replace "GIVEAWAY_ID" with the actual ID of the giveaway. See the `giveawayStart` example above for reference.* + +\ +Through the entry-related events, you can send custom responses directly to the current interaction context. + +#### Examples +```js module.exports = { type: "giveawayEntryAdd", code: ` @@ -113,4 +125,16 @@ module.exports = { ] ` } +``` + +```js +module.exports = { + type: "giveawayEntryRemove", + code: ` + $interactionReply[ + $ephemeral + You have left this giveaway! + ] + ` +} ``` \ No newline at end of file diff --git a/dist/native/giveawayChannelID.d.ts b/dist/native/giveaway/giveawayChannelID.d.ts similarity index 100% rename from dist/native/giveawayChannelID.d.ts rename to dist/native/giveaway/giveawayChannelID.d.ts diff --git a/dist/native/giveaway/giveawayChannelID.d.ts.map b/dist/native/giveaway/giveawayChannelID.d.ts.map new file mode 100644 index 0000000..ff1e191 --- /dev/null +++ b/dist/native/giveaway/giveawayChannelID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayChannelID.d.ts","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayChannelID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayChannelID.js b/dist/native/giveaway/giveawayChannelID.js similarity index 92% rename from dist/native/giveawayChannelID.js rename to dist/native/giveaway/giveawayChannelID.js index 10abfb2..09c479c 100644 --- a/dist/native/giveawayChannelID.js +++ b/dist/native/giveaway/giveawayChannelID.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); +const pullGiveaway_1 = __importDefault(require("../../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayChannelID", version: "1.0.0", diff --git a/dist/native/giveaway/giveawayChannelID.js.map b/dist/native/giveaway/giveawayChannelID.js.map new file mode 100644 index 0000000..3a84198 --- /dev/null +++ b/dist/native/giveaway/giveawayChannelID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayChannelID.js","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayChannelID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,gFAAuD;AAEvD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayDuration.d.ts b/dist/native/giveaway/giveawayDuration.d.ts similarity index 100% rename from dist/native/giveawayDuration.d.ts rename to dist/native/giveaway/giveawayDuration.d.ts diff --git a/dist/native/giveaway/giveawayDuration.d.ts.map b/dist/native/giveaway/giveawayDuration.d.ts.map new file mode 100644 index 0000000..46668b5 --- /dev/null +++ b/dist/native/giveaway/giveawayDuration.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayDuration.d.ts","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayDuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayDuration.js b/dist/native/giveaway/giveawayDuration.js similarity index 92% rename from dist/native/giveawayDuration.js rename to dist/native/giveaway/giveawayDuration.js index 1280808..dd1dddf 100644 --- a/dist/native/giveawayDuration.js +++ b/dist/native/giveaway/giveawayDuration.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); +const pullGiveaway_1 = __importDefault(require("../../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayDuration", version: "1.0.0", diff --git a/dist/native/giveaway/giveawayDuration.js.map b/dist/native/giveaway/giveawayDuration.js.map new file mode 100644 index 0000000..b5eea10 --- /dev/null +++ b/dist/native/giveaway/giveawayDuration.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayDuration.js","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayDuration.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,gFAAuD;AAEvD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,0CAA0C;IACvD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayEntries.d.ts b/dist/native/giveaway/giveawayEntries.d.ts similarity index 100% rename from dist/native/giveawayEntries.d.ts rename to dist/native/giveaway/giveawayEntries.d.ts diff --git a/dist/native/giveaway/giveawayEntries.d.ts.map b/dist/native/giveaway/giveawayEntries.d.ts.map new file mode 100644 index 0000000..d0ff518 --- /dev/null +++ b/dist/native/giveaway/giveawayEntries.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayEntries.d.ts","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayEntries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBA0BE"} \ No newline at end of file diff --git a/dist/native/giveawayEntries.js b/dist/native/giveaway/giveawayEntries.js similarity index 88% rename from dist/native/giveawayEntries.js rename to dist/native/giveaway/giveawayEntries.js index aa2410b..f173543 100644 --- a/dist/native/giveawayEntries.js +++ b/dist/native/giveaway/giveawayEntries.js @@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); -const array_1 = __importDefault(require("../functions/array")); +const pullGiveaway_1 = __importDefault(require("../../functions/pullGiveaway")); +const array_1 = __importDefault(require("../../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayEntries", version: "1.0.0", diff --git a/dist/native/giveawayRequiredRoles.js.map b/dist/native/giveaway/giveawayEntries.js.map similarity index 52% rename from dist/native/giveawayRequiredRoles.js.map rename to dist/native/giveaway/giveawayEntries.js.map index bda0336..1eb7c5a 100644 --- a/dist/native/giveawayRequiredRoles.js.map +++ b/dist/native/giveaway/giveawayEntries.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayRequiredRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AACpD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACjF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayEntries.js","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayEntries.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,gFAAuD;AACvD,kEAAyC;AAEzC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayExists.d.ts b/dist/native/giveaway/giveawayExists.d.ts similarity index 100% rename from dist/native/giveawayExists.d.ts rename to dist/native/giveaway/giveawayExists.d.ts diff --git a/dist/native/giveaway/giveawayExists.d.ts.map b/dist/native/giveaway/giveawayExists.d.ts.map new file mode 100644 index 0000000..602c84b --- /dev/null +++ b/dist/native/giveaway/giveawayExists.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayExists.d.ts","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayExists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file diff --git a/dist/native/giveawayExists.js b/dist/native/giveaway/giveawayExists.js similarity index 93% rename from dist/native/giveawayExists.js rename to dist/native/giveaway/giveawayExists.js index cc84dbf..b85939e 100644 --- a/dist/native/giveawayExists.js +++ b/dist/native/giveaway/giveawayExists.js @@ -1,7 +1,7 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const structures_1 = require("../structures"); +const structures_1 = require("../../structures"); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayExists", version: "1.0.0", diff --git a/dist/native/giveaway/giveawayExists.js.map b/dist/native/giveaway/giveawayExists.js.map new file mode 100644 index 0000000..e059790 --- /dev/null +++ b/dist/native/giveaway/giveawayExists.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayExists.js","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayExists.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,iDAA2C;AAE3C,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayGuildID.d.ts b/dist/native/giveaway/giveawayGuildID.d.ts similarity index 100% rename from dist/native/giveawayGuildID.d.ts rename to dist/native/giveaway/giveawayGuildID.d.ts diff --git a/dist/native/giveaway/giveawayGuildID.d.ts.map b/dist/native/giveaway/giveawayGuildID.d.ts.map new file mode 100644 index 0000000..60303a5 --- /dev/null +++ b/dist/native/giveaway/giveawayGuildID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayGuildID.d.ts","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayGuildID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayGuildID.js b/dist/native/giveaway/giveawayGuildID.js similarity index 92% rename from dist/native/giveawayGuildID.js rename to dist/native/giveaway/giveawayGuildID.js index 01332d4..44266cd 100644 --- a/dist/native/giveawayGuildID.js +++ b/dist/native/giveaway/giveawayGuildID.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); +const pullGiveaway_1 = __importDefault(require("../../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayGuildID", version: "1.0.0", diff --git a/dist/native/giveaway/giveawayGuildID.js.map b/dist/native/giveaway/giveawayGuildID.js.map new file mode 100644 index 0000000..6b99ae7 --- /dev/null +++ b/dist/native/giveaway/giveawayGuildID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayGuildID.js","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayGuildID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,gFAAuD;AAEvD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,KAAK;IACrB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayHasEnded.d.ts b/dist/native/giveaway/giveawayHasEnded.d.ts similarity index 100% rename from dist/native/giveawayHasEnded.d.ts rename to dist/native/giveaway/giveawayHasEnded.d.ts diff --git a/dist/native/giveaway/giveawayHasEnded.d.ts.map b/dist/native/giveaway/giveawayHasEnded.d.ts.map new file mode 100644 index 0000000..f3824d7 --- /dev/null +++ b/dist/native/giveaway/giveawayHasEnded.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayHasEnded.d.ts","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayHasEnded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayHasEnded.js b/dist/native/giveaway/giveawayHasEnded.js similarity index 92% rename from dist/native/giveawayHasEnded.js rename to dist/native/giveaway/giveawayHasEnded.js index cbe49b2..19f6e33 100644 --- a/dist/native/giveawayHasEnded.js +++ b/dist/native/giveaway/giveawayHasEnded.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); +const pullGiveaway_1 = __importDefault(require("../../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayHasEnded", version: "1.0.0", diff --git a/dist/native/giveaway/giveawayHasEnded.js.map b/dist/native/giveaway/giveawayHasEnded.js.map new file mode 100644 index 0000000..81be1b2 --- /dev/null +++ b/dist/native/giveaway/giveawayHasEnded.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayHasEnded.js","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayHasEnded.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,gFAAuD;AAEvD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayHostID.d.ts b/dist/native/giveaway/giveawayHostID.d.ts similarity index 100% rename from dist/native/giveawayHostID.d.ts rename to dist/native/giveaway/giveawayHostID.d.ts diff --git a/dist/native/giveaway/giveawayHostID.d.ts.map b/dist/native/giveaway/giveawayHostID.d.ts.map new file mode 100644 index 0000000..f319332 --- /dev/null +++ b/dist/native/giveaway/giveawayHostID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayHostID.d.ts","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayHostID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayHostID.js b/dist/native/giveaway/giveawayHostID.js similarity index 92% rename from dist/native/giveawayHostID.js rename to dist/native/giveaway/giveawayHostID.js index f3206c1..fa269a2 100644 --- a/dist/native/giveawayHostID.js +++ b/dist/native/giveaway/giveawayHostID.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); +const pullGiveaway_1 = __importDefault(require("../../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayHostID", version: "1.0.0", diff --git a/dist/native/giveaway/giveawayHostID.js.map b/dist/native/giveaway/giveawayHostID.js.map new file mode 100644 index 0000000..3f1d941 --- /dev/null +++ b/dist/native/giveaway/giveawayHostID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayHostID.js","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayHostID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,gFAAuD;AAEvD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayID.d.ts b/dist/native/giveaway/giveawayID.d.ts similarity index 100% rename from dist/native/giveawayID.d.ts rename to dist/native/giveaway/giveawayID.d.ts diff --git a/dist/native/giveaway/giveawayID.d.ts.map b/dist/native/giveaway/giveawayID.d.ts.map new file mode 100644 index 0000000..1a23cc1 --- /dev/null +++ b/dist/native/giveaway/giveawayID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayID.d.ts","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;AAE/D,wBAUE"} \ No newline at end of file diff --git a/dist/native/giveawayID.js b/dist/native/giveaway/giveawayID.js similarity index 100% rename from dist/native/giveawayID.js rename to dist/native/giveaway/giveawayID.js diff --git a/dist/native/giveaway/giveawayID.js.map b/dist/native/giveaway/giveawayID.js.map new file mode 100644 index 0000000..d1dcb3a --- /dev/null +++ b/dist/native/giveaway/giveawayID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayID.js","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,GAAG,CAAA;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayMessageID.d.ts b/dist/native/giveaway/giveawayMessageID.d.ts similarity index 100% rename from dist/native/giveawayMessageID.d.ts rename to dist/native/giveaway/giveawayMessageID.d.ts diff --git a/dist/native/giveaway/giveawayMessageID.d.ts.map b/dist/native/giveaway/giveawayMessageID.d.ts.map new file mode 100644 index 0000000..04c5345 --- /dev/null +++ b/dist/native/giveaway/giveawayMessageID.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayMessageID.d.ts","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayMessageID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayMessageID.js b/dist/native/giveaway/giveawayMessageID.js similarity index 92% rename from dist/native/giveawayMessageID.js rename to dist/native/giveaway/giveawayMessageID.js index e22d084..13fe143 100644 --- a/dist/native/giveawayMessageID.js +++ b/dist/native/giveaway/giveawayMessageID.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); +const pullGiveaway_1 = __importDefault(require("../../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayMessageID", version: "1.0.0", diff --git a/dist/native/giveaway/giveawayMessageID.js.map b/dist/native/giveaway/giveawayMessageID.js.map new file mode 100644 index 0000000..de4b9de --- /dev/null +++ b/dist/native/giveaway/giveawayMessageID.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayMessageID.js","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayMessageID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,gFAAuD;AAEvD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayPrize.d.ts b/dist/native/giveaway/giveawayPrize.d.ts similarity index 100% rename from dist/native/giveawayPrize.d.ts rename to dist/native/giveaway/giveawayPrize.d.ts diff --git a/dist/native/giveaway/giveawayPrize.d.ts.map b/dist/native/giveaway/giveawayPrize.d.ts.map new file mode 100644 index 0000000..75b1cfc --- /dev/null +++ b/dist/native/giveaway/giveawayPrize.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayPrize.d.ts","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayPrize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayPrize.js b/dist/native/giveaway/giveawayPrize.js similarity index 92% rename from dist/native/giveawayPrize.js rename to dist/native/giveaway/giveawayPrize.js index 0bde6d0..14cd1ac 100644 --- a/dist/native/giveawayPrize.js +++ b/dist/native/giveaway/giveawayPrize.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); +const pullGiveaway_1 = __importDefault(require("../../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayPrize", version: "1.0.0", diff --git a/dist/native/giveaway/giveawayPrize.js.map b/dist/native/giveaway/giveawayPrize.js.map new file mode 100644 index 0000000..cd3c8b4 --- /dev/null +++ b/dist/native/giveaway/giveawayPrize.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayPrize.js","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayPrize.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,gFAAuD;AAEvD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,iCAAiC;IAC9C,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRequiredRoles.d.ts b/dist/native/giveaway/giveawayRequiredRoles.d.ts similarity index 100% rename from dist/native/giveawayRequiredRoles.d.ts rename to dist/native/giveaway/giveawayRequiredRoles.d.ts diff --git a/dist/native/giveaway/giveawayRequiredRoles.d.ts.map b/dist/native/giveaway/giveawayRequiredRoles.d.ts.map new file mode 100644 index 0000000..c96d5dc --- /dev/null +++ b/dist/native/giveaway/giveawayRequiredRoles.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayRequiredRoles.d.ts","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayRequiredRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBA0BE"} \ No newline at end of file diff --git a/dist/native/giveawayRequiredRoles.js b/dist/native/giveaway/giveawayRequiredRoles.js similarity index 88% rename from dist/native/giveawayRequiredRoles.js rename to dist/native/giveaway/giveawayRequiredRoles.js index 069e56c..6b53def 100644 --- a/dist/native/giveawayRequiredRoles.js +++ b/dist/native/giveaway/giveawayRequiredRoles.js @@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); -const array_1 = __importDefault(require("../functions/array")); +const pullGiveaway_1 = __importDefault(require("../../functions/pullGiveaway")); +const array_1 = __importDefault(require("../../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayRequiredRoles", version: "1.0.0", diff --git a/dist/native/giveaway/giveawayRequiredRoles.js.map b/dist/native/giveaway/giveawayRequiredRoles.js.map new file mode 100644 index 0000000..f429c68 --- /dev/null +++ b/dist/native/giveaway/giveawayRequiredRoles.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayRequiredRoles.js","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayRequiredRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,gFAAuD;AACvD,kEAAyC;AAEzC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2CAA2C;IACxD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACjF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedMembers.d.ts b/dist/native/giveaway/giveawayRestrictedMembers.d.ts similarity index 100% rename from dist/native/giveawayRestrictedMembers.d.ts rename to dist/native/giveaway/giveawayRestrictedMembers.d.ts diff --git a/dist/native/giveaway/giveawayRestrictedMembers.d.ts.map b/dist/native/giveaway/giveawayRestrictedMembers.d.ts.map new file mode 100644 index 0000000..9a86598 --- /dev/null +++ b/dist/native/giveaway/giveawayRestrictedMembers.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayRestrictedMembers.d.ts","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayRestrictedMembers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBA0BE"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedMembers.js b/dist/native/giveaway/giveawayRestrictedMembers.js similarity index 89% rename from dist/native/giveawayRestrictedMembers.js rename to dist/native/giveaway/giveawayRestrictedMembers.js index a423227..b55b0d1 100644 --- a/dist/native/giveawayRestrictedMembers.js +++ b/dist/native/giveaway/giveawayRestrictedMembers.js @@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); -const array_1 = __importDefault(require("../functions/array")); +const pullGiveaway_1 = __importDefault(require("../../functions/pullGiveaway")); +const array_1 = __importDefault(require("../../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayRestrictedMembers", version: "1.0.0", diff --git a/dist/native/giveaway/giveawayRestrictedMembers.js.map b/dist/native/giveaway/giveawayRestrictedMembers.js.map new file mode 100644 index 0000000..62c163a --- /dev/null +++ b/dist/native/giveaway/giveawayRestrictedMembers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayRestrictedMembers.js","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayRestrictedMembers.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,gFAAuD;AACvD,kEAAyC;AAEzC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAkB;IAC/B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedRoles.d.ts b/dist/native/giveaway/giveawayRestrictedRoles.d.ts similarity index 100% rename from dist/native/giveawayRestrictedRoles.d.ts rename to dist/native/giveaway/giveawayRestrictedRoles.d.ts diff --git a/dist/native/giveaway/giveawayRestrictedRoles.d.ts.map b/dist/native/giveaway/giveawayRestrictedRoles.d.ts.map new file mode 100644 index 0000000..98199f2 --- /dev/null +++ b/dist/native/giveaway/giveawayRestrictedRoles.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayRestrictedRoles.d.ts","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayRestrictedRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBA0BE"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedRoles.js b/dist/native/giveaway/giveawayRestrictedRoles.js similarity index 89% rename from dist/native/giveawayRestrictedRoles.js rename to dist/native/giveaway/giveawayRestrictedRoles.js index 1476d04..d05e4d5 100644 --- a/dist/native/giveawayRestrictedRoles.js +++ b/dist/native/giveaway/giveawayRestrictedRoles.js @@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); -const array_1 = __importDefault(require("../functions/array")); +const pullGiveaway_1 = __importDefault(require("../../functions/pullGiveaway")); +const array_1 = __importDefault(require("../../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayRestrictedRoles", version: "1.0.0", diff --git a/dist/native/giveaway/giveawayRestrictedRoles.js.map b/dist/native/giveaway/giveawayRestrictedRoles.js.map new file mode 100644 index 0000000..92d0f5a --- /dev/null +++ b/dist/native/giveaway/giveawayRestrictedRoles.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayRestrictedRoles.js","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayRestrictedRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,gFAAuD;AACvD,kEAAyC;AAEzC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACnF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayTimestamp.d.ts b/dist/native/giveaway/giveawayTimestamp.d.ts similarity index 100% rename from dist/native/giveawayTimestamp.d.ts rename to dist/native/giveaway/giveawayTimestamp.d.ts diff --git a/dist/native/giveaway/giveawayTimestamp.d.ts.map b/dist/native/giveaway/giveawayTimestamp.d.ts.map new file mode 100644 index 0000000..8e81c99 --- /dev/null +++ b/dist/native/giveaway/giveawayTimestamp.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayTimestamp.d.ts","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayTimestamp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayTimestamp.js b/dist/native/giveaway/giveawayTimestamp.js similarity index 92% rename from dist/native/giveawayTimestamp.js rename to dist/native/giveaway/giveawayTimestamp.js index 7ed7603..854e76c 100644 --- a/dist/native/giveawayTimestamp.js +++ b/dist/native/giveaway/giveawayTimestamp.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); +const pullGiveaway_1 = __importDefault(require("../../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayTimestamp", version: "1.0.0", diff --git a/dist/native/giveaway/giveawayTimestamp.js.map b/dist/native/giveaway/giveawayTimestamp.js.map new file mode 100644 index 0000000..ea3e578 --- /dev/null +++ b/dist/native/giveaway/giveawayTimestamp.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayTimestamp.js","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayTimestamp.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,gFAAuD;AAEvD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mDAAmD;IAChE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinners.d.ts b/dist/native/giveaway/giveawayWinners.d.ts similarity index 100% rename from dist/native/giveawayWinners.d.ts rename to dist/native/giveaway/giveawayWinners.d.ts diff --git a/dist/native/giveaway/giveawayWinners.d.ts.map b/dist/native/giveaway/giveawayWinners.d.ts.map new file mode 100644 index 0000000..73e1105 --- /dev/null +++ b/dist/native/giveaway/giveawayWinners.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayWinners.d.ts","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayWinners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBA0BE"} \ No newline at end of file diff --git a/dist/native/giveawayWinners.js b/dist/native/giveaway/giveawayWinners.js similarity index 88% rename from dist/native/giveawayWinners.js rename to dist/native/giveaway/giveawayWinners.js index 7c13401..24ef4ca 100644 --- a/dist/native/giveawayWinners.js +++ b/dist/native/giveaway/giveawayWinners.js @@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); -const array_1 = __importDefault(require("../functions/array")); +const pullGiveaway_1 = __importDefault(require("../../functions/pullGiveaway")); +const array_1 = __importDefault(require("../../functions/array")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayWinners", version: "1.0.0", diff --git a/dist/native/giveaway/giveawayWinners.js.map b/dist/native/giveaway/giveawayWinners.js.map new file mode 100644 index 0000000..1bd0f86 --- /dev/null +++ b/dist/native/giveaway/giveawayWinners.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayWinners.js","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayWinners.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,gFAAuD;AACvD,kEAAyC;AAEzC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinnersCount.d.ts b/dist/native/giveaway/giveawayWinnersCount.d.ts similarity index 100% rename from dist/native/giveawayWinnersCount.d.ts rename to dist/native/giveaway/giveawayWinnersCount.d.ts diff --git a/dist/native/giveaway/giveawayWinnersCount.d.ts.map b/dist/native/giveaway/giveawayWinnersCount.d.ts.map new file mode 100644 index 0000000..3b0cb6a --- /dev/null +++ b/dist/native/giveaway/giveawayWinnersCount.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayWinnersCount.d.ts","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayWinnersCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayWinnersCount.js b/dist/native/giveaway/giveawayWinnersCount.js similarity index 92% rename from dist/native/giveawayWinnersCount.js rename to dist/native/giveaway/giveawayWinnersCount.js index 8ddd8fa..ccdae9e 100644 --- a/dist/native/giveawayWinnersCount.js +++ b/dist/native/giveaway/giveawayWinnersCount.js @@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const forgescript_1 = require("@tryforge/forgescript"); -const pullGiveaway_1 = __importDefault(require("../functions/pullGiveaway")); +const pullGiveaway_1 = __importDefault(require("../../functions/pullGiveaway")); exports.default = new forgescript_1.NativeFunction({ name: "$giveawayWinnersCount", version: "1.0.0", diff --git a/dist/native/giveaway/giveawayWinnersCount.js.map b/dist/native/giveaway/giveawayWinnersCount.js.map new file mode 100644 index 0000000..0789351 --- /dev/null +++ b/dist/native/giveaway/giveawayWinnersCount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayWinnersCount.js","sourceRoot":"","sources":["../../../src/native/giveaway/giveawayWinnersCount.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,gFAAuD;AAEvD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayChannelID.d.ts.map b/dist/native/giveawayChannelID.d.ts.map deleted file mode 100644 index c9438db..0000000 --- a/dist/native/giveawayChannelID.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayChannelID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayChannelID.js.map b/dist/native/giveawayChannelID.js.map deleted file mode 100644 index 430a3b4..0000000 --- a/dist/native/giveawayChannelID.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayChannelID.js","sourceRoot":"","sources":["../../src/native/giveawayChannelID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayDuration.d.ts.map b/dist/native/giveawayDuration.d.ts.map deleted file mode 100644 index c7f522f..0000000 --- a/dist/native/giveawayDuration.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayDuration.d.ts","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayDuration.js.map b/dist/native/giveawayDuration.js.map deleted file mode 100644 index c5574e2..0000000 --- a/dist/native/giveawayDuration.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayDuration.js","sourceRoot":"","sources":["../../src/native/giveawayDuration.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,0CAA0C;IACvD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayEntries.d.ts.map b/dist/native/giveawayEntries.d.ts.map deleted file mode 100644 index f493ff7..0000000 --- a/dist/native/giveawayEntries.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayEntries.d.ts","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBA0BE"} \ No newline at end of file diff --git a/dist/native/giveawayEntries.js.map b/dist/native/giveawayEntries.js.map deleted file mode 100644 index 5ca2eef..0000000 --- a/dist/native/giveawayEntries.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayEntries.js","sourceRoot":"","sources":["../../src/native/giveawayEntries.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AACpD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayExists.d.ts.map b/dist/native/giveawayExists.d.ts.map deleted file mode 100644 index a3a3b8d..0000000 --- a/dist/native/giveawayExists.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayExists.d.ts","sourceRoot":"","sources":["../../src/native/giveawayExists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAmBE"} \ No newline at end of file diff --git a/dist/native/giveawayExists.js.map b/dist/native/giveawayExists.js.map deleted file mode 100644 index 6917c5b..0000000 --- a/dist/native/giveawayExists.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayExists.js","sourceRoot":"","sources":["../../src/native/giveawayExists.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAC/D,8CAAwC;AAExC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayGuildID.d.ts.map b/dist/native/giveawayGuildID.d.ts.map deleted file mode 100644 index 5fa3424..0000000 --- a/dist/native/giveawayGuildID.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayGuildID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayGuildID.js.map b/dist/native/giveawayGuildID.js.map deleted file mode 100644 index 6f8c26c..0000000 --- a/dist/native/giveawayGuildID.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayGuildID.js","sourceRoot":"","sources":["../../src/native/giveawayGuildID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,oCAAoC;IACjD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,KAAK;IACrB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayHasEnded.d.ts.map b/dist/native/giveawayHasEnded.d.ts.map deleted file mode 100644 index be1025e..0000000 --- a/dist/native/giveawayHasEnded.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayHasEnded.d.ts","sourceRoot":"","sources":["../../src/native/giveawayHasEnded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayHasEnded.js.map b/dist/native/giveawayHasEnded.js.map deleted file mode 100644 index e29d602..0000000 --- a/dist/native/giveawayHasEnded.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayHasEnded.js","sourceRoot":"","sources":["../../src/native/giveawayHasEnded.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayHostID.d.ts.map b/dist/native/giveawayHostID.d.ts.map deleted file mode 100644 index 0e0d875..0000000 --- a/dist/native/giveawayHostID.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayHostID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayHostID.js.map b/dist/native/giveawayHostID.js.map deleted file mode 100644 index 0b8adbe..0000000 --- a/dist/native/giveawayHostID.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayHostID.js","sourceRoot":"","sources":["../../src/native/giveawayHostID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,IAAI;IACpB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayID.d.ts.map b/dist/native/giveawayID.d.ts.map deleted file mode 100644 index 64d6241..0000000 --- a/dist/native/giveawayID.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;AAE/D,wBAUE"} \ No newline at end of file diff --git a/dist/native/giveawayID.js.map b/dist/native/giveawayID.js.map deleted file mode 100644 index 1e9df11..0000000 --- a/dist/native/giveawayID.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayID.js","sourceRoot":"","sources":["../../src/native/giveawayID.ts"],"names":[],"mappings":";;AAAA,uDAA+D;AAE/D,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,wCAAwC;IACrD,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,OAAO,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,GAAG,CAAA;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayMessageID.d.ts.map b/dist/native/giveawayMessageID.d.ts.map deleted file mode 100644 index 45373fa..0000000 --- a/dist/native/giveawayMessageID.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayMessageID.d.ts","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayMessageID.js.map b/dist/native/giveawayMessageID.js.map deleted file mode 100644 index 4d4dc27..0000000 --- a/dist/native/giveawayMessageID.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayMessageID.js","sourceRoot":"","sources":["../../src/native/giveawayMessageID.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sCAAsC;IACnD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,OAAO;IACvB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayPrize.d.ts.map b/dist/native/giveawayPrize.d.ts.map deleted file mode 100644 index 82ab164..0000000 --- a/dist/native/giveawayPrize.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayPrize.d.ts","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayPrize.js.map b/dist/native/giveawayPrize.js.map deleted file mode 100644 index df0886e..0000000 --- a/dist/native/giveawayPrize.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayPrize.js","sourceRoot":"","sources":["../../src/native/giveawayPrize.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,iCAAiC;IAC9C,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRequiredRoles.d.ts.map b/dist/native/giveawayRequiredRoles.d.ts.map deleted file mode 100644 index 81c5e1f..0000000 --- a/dist/native/giveawayRequiredRoles.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayRequiredRoles.d.ts","sourceRoot":"","sources":["../../src/native/giveawayRequiredRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBA0BE"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedMembers.d.ts.map b/dist/native/giveawayRestrictedMembers.d.ts.map deleted file mode 100644 index fe50052..0000000 --- a/dist/native/giveawayRestrictedMembers.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayRestrictedMembers.d.ts","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBA0BE"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedMembers.js.map b/dist/native/giveawayRestrictedMembers.js.map deleted file mode 100644 index d303e24..0000000 --- a/dist/native/giveawayRestrictedMembers.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayRestrictedMembers.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedMembers.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AACpD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,4BAA4B;IAClC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAkB;IAC/B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedRoles.d.ts.map b/dist/native/giveawayRestrictedRoles.d.ts.map deleted file mode 100644 index 636aa4a..0000000 --- a/dist/native/giveawayRestrictedRoles.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayRestrictedRoles.d.ts","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBA0BE"} \ No newline at end of file diff --git a/dist/native/giveawayRestrictedRoles.js.map b/dist/native/giveawayRestrictedRoles.js.map deleted file mode 100644 index 94709ac..0000000 --- a/dist/native/giveawayRestrictedRoles.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayRestrictedRoles.js","sourceRoot":"","sources":["../../src/native/giveawayRestrictedRoles.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AACpD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IACnF,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayTimestamp.d.ts.map b/dist/native/giveawayTimestamp.d.ts.map deleted file mode 100644 index 382b423..0000000 --- a/dist/native/giveawayTimestamp.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayTimestamp.d.ts","sourceRoot":"","sources":["../../src/native/giveawayTimestamp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayTimestamp.js.map b/dist/native/giveawayTimestamp.js.map deleted file mode 100644 index c6a4306..0000000 --- a/dist/native/giveawayTimestamp.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayTimestamp.js","sourceRoot":"","sources":["../../src/native/giveawayTimestamp.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mDAAmD;IAChE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinners.d.ts.map b/dist/native/giveawayWinners.d.ts.map deleted file mode 100644 index b33c682..0000000 --- a/dist/native/giveawayWinners.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayWinners.d.ts","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;;;;;;AAI/D,wBA0BE"} \ No newline at end of file diff --git a/dist/native/giveawayWinners.js.map b/dist/native/giveawayWinners.js.map deleted file mode 100644 index 93961ca..0000000 --- a/dist/native/giveawayWinners.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayWinners.js","sourceRoot":"","sources":["../../src/native/giveawayWinners.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AACpD,+DAAsC;AAEtC,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,IAAA,eAAK,GAAgB;IAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/native/giveawayWinnersCount.d.ts.map b/dist/native/giveawayWinnersCount.d.ts.map deleted file mode 100644 index 77b1c7a..0000000 --- a/dist/native/giveawayWinnersCount.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayWinnersCount.d.ts","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;;;;;;;;AAG/D,wBAoBE"} \ No newline at end of file diff --git a/dist/native/giveawayWinnersCount.js.map b/dist/native/giveawayWinnersCount.js.map deleted file mode 100644 index 66e3656..0000000 --- a/dist/native/giveawayWinnersCount.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayWinnersCount.js","sourceRoot":"","sources":["../../src/native/giveawayWinnersCount.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+D;AAC/D,6EAAoD;AAEpD,kBAAe,IAAI,4BAAc,CAAC;IAC9B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yCAAyC;IACtD,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACF;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,qBAAO,CAAC,MAAM;SACvB;KACJ;IACD,MAAM,EAAE,qBAAO,CAAC,MAAM;IACtB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAY,EAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index a701de3..b3c4f4c 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    constructor +Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      +

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      Parameters

      • Optionalprops: Partial<IRunnable>
      • OptionalsyncVars: boolean

      Returns Context

    • Returns Context

    • Returns IRunnable

    • Parameters

      • name: string

      Returns boolean

    • Parameters

      • name: string

      Returns boolean

    • Fetches all emojis of the application.

      Parameters

      • Optionalonce: boolean

        Whether to fetch only when the collection is empty.

      Returns Promise<void | Collection<string, ApplicationEmoji>>

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    diff --git a/docs/classes/Database.html b/docs/classes/Database.html index de561a2..5b7bd15 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    constructor +Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    Properties

    database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      +

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      Parameters

      • id: string

        The id of the giveaway to delete.

        -

      Returns Promise<DeleteResult>

    • Gets an existing giveaway.

      +

    Returns Promise<DeleteResult>

    • Saves a giveaway in the database.

      +

    Returns Promise<null | Giveaway>

    +

    Returns Promise<void>

    diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 645ce88..ae4b27e 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    constructor +ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    Properties

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    -
    targetVersions?: string[]

    Only the versions written here will be allowed

    -
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    +

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    +
    targetVersions?: string[]

    Only the versions written here will be allowed

    +
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index 83f5818..39b1cb3 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    constructor +Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | Giveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Returns whether a user has entered this giveaway.

      Parameters

      • userID: string

        The user to check for.

        -

      Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | Giveaway

    diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index c954935..afb07f1 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    constructor +GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    Properties

    Accessors

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    +

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index ca61476..64f6f8a 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    constructor +GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    Properties

    Methods

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    +

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 81a365a..1850fc8 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    constructor +GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    +

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index a98d30b..31b3762 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    +GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 37dec81..57761c6 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,21 +1,21 @@ -GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    constructor +GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    Methods

    • Edits an existing giveaway.

      +

    Constructors

    Methods

    • Ends an existing giveaway.

      +

    Returns Promise<null | Giveaway>

    • Fetches the message of a giveaway.

      +

    Returns Promise<undefined | Giveaway>

    • Fetches the message of a giveaway.

      Parameters

      • channelID: string

        The id of the channel to pull message from.

      • OptionalmessageID: string

        The id of the message to fetch.

        -

      Returns Promise<void | Message<true>>

    • Rerolls an existing giveaway.

      +

    Returns Promise<void | Message<true>>

    • Rerolls an existing giveaway.

      Parameters

      • id: string

        The id of the giveaway to reroll.

      • unique: boolean = false

        Whether to not include the previous winners.

      • Optionalamount: number

        The amount of new winners.

        -

      Returns Promise<undefined | Giveaway>

    • Starts a new giveaway on a guild.

      +

    Returns Promise<undefined | Giveaway>

    +

    Returns Promise<undefined | Giveaway>

    diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index debd6ed..a017a0a 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    constructor +MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    mongoId?: string

    The object id for MongoDB.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    mongoId?: string

    The object id for MongoDB.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | MongoGiveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | MongoGiveaway

    diff --git a/docs/index.html b/docs/index.html index cba3ed3..b2a440e 100644 --- a/docs/index.html +++ b/docs/index.html @@ -41,14 +41,25 @@

    Custom Messages


    [!WARNING] Only one giveawayStart event is allowed per client instance!

    -
    module.exports = {
    type: "giveawayStart",
    code: `
    $return[
    $sendMessage[$giveawayChannelID;
    $addContainer[
    $addTextDisplay[### 🎉 Giveaway 🎉]
    $addSeparator
    $addTextDisplay[**Prize:** $giveawayPrize\n**Winners:** $giveawayWinnersCount]
    $addSeparator
    $addActionRow
    $addButton[giveawayEntry-$giveawayID;Join;Secondary;🎉]
    ;Green]
    ;true]
    ]
    `
    } +

    When using custom start messages, your event must return the message ID of the sent giveaway message. To ensure that only the message ID is returned (and no additional text), use the $return[] function.

    +
    module.exports = {
    type: "giveawayStart",
    code: `
    $return[
    $sendMessage[$giveawayChannelID;
    $addContainer[
    $addTextDisplay[### 🎉 Giveaway 🎉]
    $addSeparator
    $addTextDisplay[**Prize:** $giveawayPrize\n**Winners:** $giveawayWinnersCount]
    $addSeparator
    $addActionRow
    $addButton[giveawayEntry-$giveawayID;Join;Secondary;🎉]
    ;Green]
    ;true]
    ]
    `
    }
    module.exports = {
    type: "giveawayEnd",
    code: `
    $sendMessage[$giveawayChannelID;
    $reply[$giveawayChannelID;$giveawayMessageID;true]
    🏆 **Winners:** <@$newGiveaway[winners;>, <@]>
    ]
    `
    }

    Handling Interactions


    -
    module.exports = {
    type: "giveawayEntryAdd",
    code: `
    $interactionReply[
    $ephemeral
    You have joined this giveaway as **$ordinal[$@[,]giveawayEntries]** participant!
    ]
    `
    } +

    The custom ID for giveaway entry buttons must follow this exact format:

    +
    giveawayEntry-GIVEAWAY_ID  
    +
    + +

    Replace "GIVEAWAY_ID" with the actual ID of the giveaway. See the giveawayStart example above for reference.

    +


    +Through the entry-related events, you can send custom responses directly to the current interaction context.

    +
    module.exports = {
    type: "giveawayEntryAdd",
    code: `
    $interactionReply[
    $ephemeral
    You have joined this giveaway as **$ordinal[$@[,]giveawayEntries]** participant!
    ]
    `
    } +
    + +
    module.exports = {
    type: "giveawayEntryRemove",
    code: `
    $interactionReply[
    $ephemeral
    You have left this giveaway!
    ]
    `
    }
    -
    +
    diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 8ce7f96..8ef49dd 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    automod +IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    +

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index 9058ba5..66b03a0 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    extras?: unknown

    Extras data

    keywords?: Record<string, string>

    The already existing variables defined with $let

    The context this code will run in

    -
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    +
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    The old and new states of an event

    -
    +
    diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index 64da97d..91948b5 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    audit +IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    +

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 29a1370..3fa74e7 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        useDefault?: boolean;
    }

    Properties

    events? +IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        useDefault?: boolean;
    }

    Properties

    Properties

    events?: keyof IGiveawayEvents

    The giveaway events to use.

    -
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    -
    +
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    +
    diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 6d048f6..e77e0be 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID +IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 9d6a348..f7ec39c 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,8 +1,8 @@ -IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect +IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect: []
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    +

    Properties

    databaseConnect: []
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index 82352f4..c547a62 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles? +IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    +

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 1726043..c8ec9e9 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID +IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index 086b212..6660722 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    +AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index fb0925d..1360800 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    +ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index f02997e..16e6d34 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    +ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 1224c81..6041dc0 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    +IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    diff --git a/metadata/functions.json b/metadata/functions.json index e334981..ef0e689 100644 --- a/metadata/functions.json +++ b/metadata/functions.json @@ -1 +1 @@ -[{"name":"$deleteGiveaway","version":"1.0.0","description":"Deletes an existing giveaway from the database permanently, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to delete","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"database"},{"name":"$getAllGiveaways","version":"1.0.0","description":"Gets all existing giveaways from the database","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaways to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use for each property","rest":false,"type":"String"}],"output":["Json","Unknown[]"],"category":"database"},{"name":"$getGiveaway","version":"1.0.0","description":"Gets an existing giveaway from the database","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to get","rest":false,"required":true,"type":"String"},{"name":"property","description":"The property of the giveaway to return","rest":false,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Json","Unknown"],"category":"database"},{"name":"$wipeGiveaways","version":"1.0.0","description":"Wipes all existing giveaways from the database permanently, use with caution","unwrap":false,"category":"database"},{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"]},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayExists","version":"1.0.0","description":"Returns whether a giveaway exists","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The id of the giveaway to check for","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"]},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"]},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"]},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"]},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"]},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"]},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"]},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"]},{"name":"$giveawayTimestamp","version":"1.0.0","description":"Returns the created timestamp of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"]},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"]},{"name":"$addRequiredRoles","version":"1.0.0","description":"Adds required roles to the current giveaway","aliases":["$addRequiredRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$addRestrictedMembers","version":"1.0.0","description":"Adds restricted members to the current giveaway","aliases":["$addRestrictedMember"],"unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$addRestrictedRoles","version":"1.0.0","description":"Adds restricted roles to the current giveaway","aliases":["$addRestrictedRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"},{"name":"unique","description":"Whether to not include the previous winners, defaults to false","rest":false,"type":"Boolean"},{"name":"amount","description":"The amount of new winners, defaults to max winners count","rest":false,"type":"Number"}],"output":["Boolean"],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Json","Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Json","Unknown"],"category":"state"}] \ No newline at end of file +[{"name":"$deleteGiveaway","version":"1.0.0","description":"Deletes an existing giveaway from the database permanently, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to delete","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"database"},{"name":"$getAllGiveaways","version":"1.0.0","description":"Gets all existing giveaways from the database","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaways to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use for each property","rest":false,"type":"String"}],"output":["Json","Unknown[]"],"category":"database"},{"name":"$getGiveaway","version":"1.0.0","description":"Gets an existing giveaway from the database","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to get","rest":false,"required":true,"type":"String"},{"name":"property","description":"The property of the giveaway to return","rest":false,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Json","Unknown"],"category":"database"},{"name":"$wipeGiveaways","version":"1.0.0","description":"Wipes all existing giveaways from the database permanently, use with caution","unwrap":false,"category":"database"},{"name":"$giveawayChannelID","version":"1.0.0","description":"Returns the channel id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Channel"],"category":"giveaway"},{"name":"$giveawayDuration","version":"1.0.0","description":"Returns the duration of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"],"category":"giveaway"},{"name":"$giveawayEntries","version":"1.0.0","description":"Returns the entries of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"],"category":"giveaway"},{"name":"$giveawayExists","version":"1.0.0","description":"Returns whether a giveaway exists","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The id of the giveaway to check for","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"giveaway"},{"name":"$giveawayGuildID","version":"1.0.0","description":"Returns the guild id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Guild"],"category":"giveaway"},{"name":"$giveawayHasEnded","version":"1.0.0","description":"Returns whether the giveaway has ended","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"giveaway"},{"name":"$giveawayHostID","version":"1.0.0","description":"Returns the host id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["User"],"category":"giveaway"},{"name":"$giveawayID","version":"1.0.0","description":"Returns the id of the current giveaway","unwrap":false,"output":["String"],"category":"giveaway"},{"name":"$giveawayMessageID","version":"1.0.0","description":"Returns the message id of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Message"],"category":"giveaway"},{"name":"$giveawayPrize","version":"1.0.0","description":"Returns the prize of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["String"],"category":"giveaway"},{"name":"$giveawayRequiredRoles","version":"1.0.0","description":"Returns the required roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"],"category":"giveaway"},{"name":"$giveawayRestrictedMembers","version":"1.0.0","description":"Returns the restricted members for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Member[]"],"category":"giveaway"},{"name":"$giveawayRestrictedRoles","version":"1.0.0","description":"Returns the restricted roles for a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["Role[]"],"category":"giveaway"},{"name":"$giveawayTimestamp","version":"1.0.0","description":"Returns the created timestamp of a giveaway in ms","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"],"category":"giveaway"},{"name":"$giveawayWinners","version":"1.0.0","description":"Returns the winners of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"},{"name":"separator","description":"The separator to use for each value","rest":false,"type":"String"}],"output":["User[]"],"category":"giveaway"},{"name":"$giveawayWinnersCount","version":"1.0.0","description":"Returns the winners count of a giveaway","unwrap":true,"brackets":false,"args":[{"name":"giveaway ID","description":"The giveaway to pull data from","rest":false,"required":true,"type":"String"}],"output":["Number"],"category":"giveaway"},{"name":"$addRequiredRoles","version":"1.0.0","description":"Adds required roles to the current giveaway","aliases":["$addRequiredRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as requirement","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$addRestrictedMembers","version":"1.0.0","description":"Adds restricted members to the current giveaway","aliases":["$addRestrictedMember"],"unwrap":true,"brackets":true,"args":[{"name":"members","description":"The members to add as restriction","rest":true,"required":true,"type":"User"}],"category":"manage"},{"name":"$addRestrictedRoles","version":"1.0.0","description":"Adds restricted roles to the current giveaway","aliases":["$addRestrictedRole"],"unwrap":true,"brackets":true,"args":[{"name":"roles","description":"The roles to add as restriction","rest":true,"required":true,"type":"String"}],"category":"manage"},{"name":"$endGiveaway","version":"1.0.0","description":"Ends an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to end","rest":false,"required":true,"type":"String"}],"output":["Boolean"],"category":"manage"},{"name":"$rerollGiveaway","version":"1.0.0","description":"Rerolls an existing giveaway on a guild, returns bool","unwrap":true,"brackets":true,"args":[{"name":"giveaway ID","description":"The giveaway to reroll","rest":false,"required":true,"type":"String"},{"name":"unique","description":"Whether to not include the previous winners, defaults to false","rest":false,"type":"Boolean"},{"name":"amount","description":"The amount of new winners, defaults to max winners count","rest":false,"type":"Number"}],"output":["Boolean"],"category":"manage"},{"name":"$startGiveaway","version":"1.0.0","description":"Starts a new giveaway on a guild, returns giveaway id","unwrap":true,"brackets":true,"args":[{"name":"channel ID","description":"The channel this giveaway will be created on","rest":false,"required":true,"type":"Channel"},{"name":"host ID","description":"The member hosting this giveaway","rest":false,"required":true,"type":"Member","pointer":0,"pointerProperty":"guild"},{"name":"prize","description":"The prize for this giveaway","rest":false,"required":true,"type":"String"},{"name":"duration","description":"The duration for this giveaway.","rest":false,"required":true,"type":"Time"},{"name":"winners","description":"How many winners this giveaway will have","rest":false,"type":"Number"}],"output":["String"],"category":"manage"},{"name":"$newGiveaway","version":"1.0.0","description":"Retrieves new data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Json","Unknown"],"category":"state"},{"name":"$oldGiveaway","version":"1.0.0","description":"Retrieves old data from an event whose context was a giveaway instance","unwrap":true,"brackets":false,"args":[{"name":"property","description":"The property of the giveaway to return","rest":false,"required":true,"type":"Enum","enum":["id","prize","duration","timestamp","winnersCount","hasEnded","hostID","guildID","channelID","messageID","entries","winners","requiredRoles","restrictedRoles","restrictedMembers"],"enumName":"GiveawayProperty"},{"name":"separator","description":"The separator to use in case of array","rest":false,"type":"String"}],"output":["Json","Unknown"],"category":"state"}] \ No newline at end of file diff --git a/src/native/giveawayChannelID.ts b/src/native/giveaway/giveawayChannelID.ts similarity index 91% rename from src/native/giveawayChannelID.ts rename to src/native/giveaway/giveawayChannelID.ts index 8b1761a..1198f97 100644 --- a/src/native/giveawayChannelID.ts +++ b/src/native/giveaway/giveawayChannelID.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import pullGiveaway from "../functions/pullGiveaway" +import pullGiveaway from "../../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayChannelID", diff --git a/src/native/giveawayDuration.ts b/src/native/giveaway/giveawayDuration.ts similarity index 91% rename from src/native/giveawayDuration.ts rename to src/native/giveaway/giveawayDuration.ts index 1ce5bcb..559ebb8 100644 --- a/src/native/giveawayDuration.ts +++ b/src/native/giveaway/giveawayDuration.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import pullGiveaway from "../functions/pullGiveaway" +import pullGiveaway from "../../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayDuration", diff --git a/src/native/giveawayEntries.ts b/src/native/giveaway/giveawayEntries.ts similarity index 89% rename from src/native/giveawayEntries.ts rename to src/native/giveaway/giveawayEntries.ts index f0268b5..7445e51 100644 --- a/src/native/giveawayEntries.ts +++ b/src/native/giveaway/giveawayEntries.ts @@ -1,6 +1,6 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import pullGiveaway from "../functions/pullGiveaway" -import array from "../functions/array" +import pullGiveaway from "../../functions/pullGiveaway" +import array from "../../functions/array" export default new NativeFunction({ name: "$giveawayEntries", diff --git a/src/native/giveawayExists.ts b/src/native/giveaway/giveawayExists.ts similarity index 93% rename from src/native/giveawayExists.ts rename to src/native/giveaway/giveawayExists.ts index 7aa8b5f..661bb60 100644 --- a/src/native/giveawayExists.ts +++ b/src/native/giveaway/giveawayExists.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import { Database } from "../structures" +import { Database } from "../../structures" export default new NativeFunction({ name: "$giveawayExists", diff --git a/src/native/giveawayGuildID.ts b/src/native/giveaway/giveawayGuildID.ts similarity index 91% rename from src/native/giveawayGuildID.ts rename to src/native/giveaway/giveawayGuildID.ts index ec4eea7..6e285ec 100644 --- a/src/native/giveawayGuildID.ts +++ b/src/native/giveaway/giveawayGuildID.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import pullGiveaway from "../functions/pullGiveaway" +import pullGiveaway from "../../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayGuildID", diff --git a/src/native/giveawayHasEnded.ts b/src/native/giveaway/giveawayHasEnded.ts similarity index 91% rename from src/native/giveawayHasEnded.ts rename to src/native/giveaway/giveawayHasEnded.ts index a38472a..0850804 100644 --- a/src/native/giveawayHasEnded.ts +++ b/src/native/giveaway/giveawayHasEnded.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import pullGiveaway from "../functions/pullGiveaway" +import pullGiveaway from "../../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayHasEnded", diff --git a/src/native/giveawayHostID.ts b/src/native/giveaway/giveawayHostID.ts similarity index 91% rename from src/native/giveawayHostID.ts rename to src/native/giveaway/giveawayHostID.ts index ee9bd96..428cc2d 100644 --- a/src/native/giveawayHostID.ts +++ b/src/native/giveaway/giveawayHostID.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import pullGiveaway from "../functions/pullGiveaway" +import pullGiveaway from "../../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayHostID", diff --git a/src/native/giveawayID.ts b/src/native/giveaway/giveawayID.ts similarity index 100% rename from src/native/giveawayID.ts rename to src/native/giveaway/giveawayID.ts diff --git a/src/native/giveawayMessageID.ts b/src/native/giveaway/giveawayMessageID.ts similarity index 91% rename from src/native/giveawayMessageID.ts rename to src/native/giveaway/giveawayMessageID.ts index 2b13b88..754ddc6 100644 --- a/src/native/giveawayMessageID.ts +++ b/src/native/giveaway/giveawayMessageID.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import pullGiveaway from "../functions/pullGiveaway" +import pullGiveaway from "../../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayMessageID", diff --git a/src/native/giveawayPrize.ts b/src/native/giveaway/giveawayPrize.ts similarity index 91% rename from src/native/giveawayPrize.ts rename to src/native/giveaway/giveawayPrize.ts index 42eac00..0ee8a76 100644 --- a/src/native/giveawayPrize.ts +++ b/src/native/giveaway/giveawayPrize.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import pullGiveaway from "../functions/pullGiveaway" +import pullGiveaway from "../../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayPrize", diff --git a/src/native/giveawayRequiredRoles.ts b/src/native/giveaway/giveawayRequiredRoles.ts similarity index 89% rename from src/native/giveawayRequiredRoles.ts rename to src/native/giveaway/giveawayRequiredRoles.ts index 519ad19..47d5018 100644 --- a/src/native/giveawayRequiredRoles.ts +++ b/src/native/giveaway/giveawayRequiredRoles.ts @@ -1,6 +1,6 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import pullGiveaway from "../functions/pullGiveaway" -import array from "../functions/array" +import pullGiveaway from "../../functions/pullGiveaway" +import array from "../../functions/array" export default new NativeFunction({ name: "$giveawayRequiredRoles", diff --git a/src/native/giveawayRestrictedMembers.ts b/src/native/giveaway/giveawayRestrictedMembers.ts similarity index 90% rename from src/native/giveawayRestrictedMembers.ts rename to src/native/giveaway/giveawayRestrictedMembers.ts index f691dd4..a1c96bc 100644 --- a/src/native/giveawayRestrictedMembers.ts +++ b/src/native/giveaway/giveawayRestrictedMembers.ts @@ -1,6 +1,6 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import pullGiveaway from "../functions/pullGiveaway" -import array from "../functions/array" +import pullGiveaway from "../../functions/pullGiveaway" +import array from "../../functions/array" export default new NativeFunction({ name: "$giveawayRestrictedMembers", diff --git a/src/native/giveawayRestrictedRoles.ts b/src/native/giveaway/giveawayRestrictedRoles.ts similarity index 89% rename from src/native/giveawayRestrictedRoles.ts rename to src/native/giveaway/giveawayRestrictedRoles.ts index b337cee..1f1cb72 100644 --- a/src/native/giveawayRestrictedRoles.ts +++ b/src/native/giveaway/giveawayRestrictedRoles.ts @@ -1,6 +1,6 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import pullGiveaway from "../functions/pullGiveaway" -import array from "../functions/array" +import pullGiveaway from "../../functions/pullGiveaway" +import array from "../../functions/array" export default new NativeFunction({ name: "$giveawayRestrictedRoles", diff --git a/src/native/giveawayTimestamp.ts b/src/native/giveaway/giveawayTimestamp.ts similarity index 92% rename from src/native/giveawayTimestamp.ts rename to src/native/giveaway/giveawayTimestamp.ts index 0fb93f1..0a16445 100644 --- a/src/native/giveawayTimestamp.ts +++ b/src/native/giveaway/giveawayTimestamp.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import pullGiveaway from "../functions/pullGiveaway" +import pullGiveaway from "../../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayTimestamp", diff --git a/src/native/giveawayWinners.ts b/src/native/giveaway/giveawayWinners.ts similarity index 89% rename from src/native/giveawayWinners.ts rename to src/native/giveaway/giveawayWinners.ts index 187ac47..6c57940 100644 --- a/src/native/giveawayWinners.ts +++ b/src/native/giveaway/giveawayWinners.ts @@ -1,6 +1,6 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import pullGiveaway from "../functions/pullGiveaway" -import array from "../functions/array" +import pullGiveaway from "../../functions/pullGiveaway" +import array from "../../functions/array" export default new NativeFunction({ name: "$giveawayWinners", diff --git a/src/native/giveawayWinnersCount.ts b/src/native/giveaway/giveawayWinnersCount.ts similarity index 92% rename from src/native/giveawayWinnersCount.ts rename to src/native/giveaway/giveawayWinnersCount.ts index 40b6df5..afcee8b 100644 --- a/src/native/giveawayWinnersCount.ts +++ b/src/native/giveaway/giveawayWinnersCount.ts @@ -1,5 +1,5 @@ import { ArgType, NativeFunction } from "@tryforge/forgescript" -import pullGiveaway from "../functions/pullGiveaway" +import pullGiveaway from "../../functions/pullGiveaway" export default new NativeFunction({ name: "$giveawayWinnersCount", From bf70491ae169a81565f6477e7d3420c46588b69a Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Wed, 22 Oct 2025 17:10:13 +0200 Subject: [PATCH 84/87] Rename event --- ...yRevoked.d.ts => giveawayEntryRevoke.d.ts} | 4 +- dist/events/giveawayEntryRevoke.d.ts.map | 1 + ...EntryRevoked.js => giveawayEntryRevoke.js} | 6 +-- dist/events/giveawayEntryRevoke.js.map | 1 + dist/events/giveawayEntryRevoked.d.ts.map | 1 - dist/events/giveawayEntryRevoked.js.map | 1 - dist/events/giveawayStart.d.ts.map | 2 +- dist/events/giveawayStart.js | 4 +- dist/events/giveawayStart.js.map | 2 +- dist/handlers/GiveawaysEventHandler.d.ts | 2 +- dist/handlers/GiveawaysEventHandler.d.ts.map | 2 +- dist/handlers/GiveawaysInteractionHandler.js | 2 +- .../GiveawaysInteractionHandler.js.map | 2 +- docs/assets/search.js | 2 +- docs/classes/Context.html | 4 +- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 14 +++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 6 +-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 6 +-- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- metadata/events.json | 2 +- ...EntryRevoked.ts => giveawayEntryRevoke.ts} | 4 +- src/events/giveawayStart.ts | 6 ++- src/handlers/GiveawaysEventHandler.ts | 2 +- src/handlers/GiveawaysInteractionHandler.ts | 2 +- 41 files changed, 121 insertions(+), 115 deletions(-) rename dist/events/{giveawayEntryRevoked.d.ts => giveawayEntryRevoke.d.ts} (71%) create mode 100644 dist/events/giveawayEntryRevoke.d.ts.map rename dist/events/{giveawayEntryRevoked.js => giveawayEntryRevoke.js} (88%) create mode 100644 dist/events/giveawayEntryRevoke.js.map delete mode 100644 dist/events/giveawayEntryRevoked.d.ts.map delete mode 100644 dist/events/giveawayEntryRevoked.js.map rename src/events/{giveawayEntryRevoked.ts => giveawayEntryRevoke.ts} (92%) diff --git a/dist/events/giveawayEntryRevoked.d.ts b/dist/events/giveawayEntryRevoke.d.ts similarity index 71% rename from dist/events/giveawayEntryRevoked.d.ts rename to dist/events/giveawayEntryRevoke.d.ts index 537a500..d8af59b 100644 --- a/dist/events/giveawayEntryRevoked.d.ts +++ b/dist/events/giveawayEntryRevoke.d.ts @@ -1,4 +1,4 @@ import { GiveawaysEventHandler } from "../handlers"; -declare const _default: GiveawaysEventHandler<"giveawayEntryRevoked">; +declare const _default: GiveawaysEventHandler<"giveawayEntryRevoke">; export default _default; -//# sourceMappingURL=giveawayEntryRevoked.d.ts.map \ No newline at end of file +//# sourceMappingURL=giveawayEntryRevoke.d.ts.map \ No newline at end of file diff --git a/dist/events/giveawayEntryRevoke.d.ts.map b/dist/events/giveawayEntryRevoke.d.ts.map new file mode 100644 index 0000000..a865ec5 --- /dev/null +++ b/dist/events/giveawayEntryRevoke.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayEntryRevoke.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoke.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAuBE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRevoked.js b/dist/events/giveawayEntryRevoke.js similarity index 88% rename from dist/events/giveawayEntryRevoked.js rename to dist/events/giveawayEntryRevoke.js index 5a69788..535cf89 100644 --- a/dist/events/giveawayEntryRevoked.js +++ b/dist/events/giveawayEntryRevoke.js @@ -5,11 +5,11 @@ const handlers_1 = require("../handlers"); const __1 = require(".."); const structures_1 = require("../structures"); exports.default = new handlers_1.GiveawaysEventHandler({ - name: "giveawayEntryRevoked", + name: "giveawayEntryRevoke", version: "1.0.0", description: "This event is fired when a giveaway entry is revoked", listener: async function (gw, int) { - const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEntryRevoked"); + const commands = this.getExtension(__1.ForgeGiveaways, true).commands.get("giveawayEntryRevoke"); for (const command of commands) { const ctx = new structures_1.Context({ obj: int, @@ -26,4 +26,4 @@ exports.default = new handlers_1.GiveawaysEventHandler({ } }, }); -//# sourceMappingURL=giveawayEntryRevoked.js.map \ No newline at end of file +//# sourceMappingURL=giveawayEntryRevoke.js.map \ No newline at end of file diff --git a/dist/events/giveawayEntryRevoke.js.map b/dist/events/giveawayEntryRevoke.js.map new file mode 100644 index 0000000..98c7ae2 --- /dev/null +++ b/dist/events/giveawayEntryRevoke.js.map @@ -0,0 +1 @@ +{"version":3,"file":"giveawayEntryRevoke.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoke.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,EAAE,EAAE,GAAG;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAE5F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,GAAG;gBACR,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRevoked.d.ts.map b/dist/events/giveawayEntryRevoked.d.ts.map deleted file mode 100644 index cb7ad85..0000000 --- a/dist/events/giveawayEntryRevoked.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayEntryRevoked.d.ts","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoked.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAInD,wBAuBE"} \ No newline at end of file diff --git a/dist/events/giveawayEntryRevoked.js.map b/dist/events/giveawayEntryRevoked.js.map deleted file mode 100644 index e226705..0000000 --- a/dist/events/giveawayEntryRevoked.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"giveawayEntryRevoked.js","sourceRoot":"","sources":["../../src/events/giveawayEntryRevoked.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,0BAAmC;AACnC,8CAAuC;AAEvC,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,sDAAsD;IACnE,QAAQ,EAAE,KAAK,WAAU,EAAE,EAAE,GAAG;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QAE7F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,GAAG;gBACR,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;aAC9B,CAAC,CAAA;YAEF,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/events/giveawayStart.d.ts.map b/dist/events/giveawayStart.d.ts.map index 73372bc..c4ee55e 100644 --- a/dist/events/giveawayStart.d.ts.map +++ b/dist/events/giveawayStart.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAKnD,wBA6CE"} \ No newline at end of file +{"version":3,"file":"giveawayStart.d.ts","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;;AAKnD,wBAiDE"} \ No newline at end of file diff --git a/dist/events/giveawayStart.js b/dist/events/giveawayStart.js index ee43ebb..b0334b0 100644 --- a/dist/events/giveawayStart.js +++ b/dist/events/giveawayStart.js @@ -13,8 +13,10 @@ exports.default = new handlers_1.GiveawaysEventHandler({ const client = this.getExtension(__1.ForgeGiveaways, true); const commands = client.commands.get("giveawayStart"); const command = commands[0]; - if (commands.length > 1) + if (commands.length > 1) { + await structures_1.Database.delete(gw.id); throw new Error(error_1.GiveawaysErrorType.MultipleStartEvents); + } if (!command && !client.options.useDefault) { await structures_1.Database.delete(gw.id); throw new Error(error_1.GiveawaysErrorType.NoStartEvent); diff --git a/dist/events/giveawayStart.js.map b/dist/events/giveawayStart.js.map index bed1aaa..81a45f0 100644 --- a/dist/events/giveawayStart.js.map +++ b/dist/events/giveawayStart.js.map @@ -1 +1 @@ -{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,8CAAiD;AACjD,0BAAmC;AACnC,8CAA4E;AAE5E,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAW,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAE3B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,mBAAmB,CAAC,CAAA;QAChF,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,YAAY,CAAC,CAAA;QACpD,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAC3B,mBAAmB,EAAE,IAAI;aAC5B,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;gBAC1B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;gBAEzE,IAAI,GAAG,EAAE,CAAC;oBACN,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;qBAAM,CAAC;oBACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;oBACnE,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"giveawayStart.js","sourceRoot":"","sources":["../../src/events/giveawayStart.ts"],"names":[],"mappings":";;AAAA,uDAAmD;AACnD,0CAAmD;AACnD,8CAAiD;AACjD,0BAAmC;AACnC,8CAA4E;AAE5E,kBAAe,IAAI,gCAAqB,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,KAAK,WAAW,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAE3B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,mBAAmB,CAAC,CAAA;QAC3D,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAAkB,CAAC,YAAY,CAAC,CAAA;QACpD,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,IAAI,oBAAO,CAAC;gBACpB,GAAG,EAAE,EAAE;gBACP,OAAO;gBACP,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE;oBACJ,QAAQ,EAAE;wBACN,GAAG,EAAE,EAAE;qBACV;iBACJ;gBACD,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAC3B,mBAAmB,EAAE,IAAI;aAC5B,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,yBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAA;gBAC1B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;gBAEzE,IAAI,GAAG,EAAE,CAAC;oBACN,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAA;oBACrB,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1B,CAAC;qBAAM,CAAC;oBACJ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;oBACnE,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/handlers/GiveawaysEventHandler.d.ts b/dist/handlers/GiveawaysEventHandler.d.ts index 3f96f76..8e513b3 100644 --- a/dist/handlers/GiveawaysEventHandler.d.ts +++ b/dist/handlers/GiveawaysEventHandler.d.ts @@ -8,7 +8,7 @@ export interface IGiveawayEvents { giveawayReroll: [Giveaway, Giveaway]; giveawayEntryAdd: [Giveaway, Giveaway, Interaction]; giveawayEntryRemove: [Giveaway, Giveaway, Interaction]; - giveawayEntryRevoked: [Giveaway, Interaction]; + giveawayEntryRevoke: [Giveaway, Interaction]; } export declare class GiveawaysEventHandler extends BaseEventHandler { register(client: ForgeClient): void; diff --git a/dist/handlers/GiveawaysEventHandler.d.ts.map b/dist/handlers/GiveawaysEventHandler.d.ts.map index bc7d8cf..c645872 100644 --- a/dist/handlers/GiveawaysEventHandler.d.ts.map +++ b/dist/handlers/GiveawaysEventHandler.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysEventHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,WAAW,eAAe;IAC5B,eAAe,EAAE,EAAE,CAAA;IACnB,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACnD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACtD,oBAAoB,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;CAChD;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file +{"version":3,"file":"GiveawaysEventHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/GiveawaysEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,WAAW,eAAe;IAC5B,eAAe,EAAE,EAAE,CAAA;IACnB,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;IACzB,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;IACvB,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACnD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACtD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;CAC/C;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,MAAM,eAAe,CAAE,SAAQ,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5G,QAAQ,CAAC,MAAM,EAAE,WAAW;CAI/B"} \ No newline at end of file diff --git a/dist/handlers/GiveawaysInteractionHandler.js b/dist/handlers/GiveawaysInteractionHandler.js index ac4c615..467481b 100644 --- a/dist/handlers/GiveawaysInteractionHandler.js +++ b/dist/handlers/GiveawaysInteractionHandler.js @@ -34,7 +34,7 @@ class GiveawaysInteractionHandler { } const member = interaction.member; if (!giveaway.canEnter(member)) { - client.emitter.emit("giveawayEntryRevoked", giveaway, interaction); + client.emitter.emit("giveawayEntryRevoke", giveaway, interaction); if (client.options.useDefault) { await interaction.reply({ content: `❌ You do not meet the requirements to enter this giveaway!`, diff --git a/dist/handlers/GiveawaysInteractionHandler.js.map b/dist/handlers/GiveawaysInteractionHandler.js.map index 45dadb8..f0e7c29 100644 --- a/dist/handlers/GiveawaysInteractionHandler.js.map +++ b/dist/handlers/GiveawaysInteractionHandler.js.map @@ -1 +1 @@ -{"version":3,"file":"GiveawaysInteractionHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"GiveawaysInteractionHandler.js","sourceRoot":"","sources":["../../src/handlers/GiveawaysInteractionHandler.ts"],"names":[],"mappings":";;;;;;AACA,2CAAyC;AACzC,0BAAmC;AACnC,8CAAwC;AACxC,8CAA4E;AAC5E,6DAAoC;AAEpC,MAAa,2BAA2B;IACA;IAApC,YAAoC,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;QACnD,IAAI,CAAC,SAAS,EAAE,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;gBAAE,OAAM;YAE7D,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpD,IAAI,MAAM,KAAK,eAAe;gBAAE,OAAM;YAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAc,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAEvC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;gBAC3D,OAAM;YACV,CAAC;YAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpB,IAAA,2BAAmB,EAAC,0BAAkB,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;gBAC7D,OAAM;YACV,CAAC;YAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;YAEjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;gBACjE,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBAC5B,MAAM,WAAW,CAAC,KAAK,CAAC;wBACpB,OAAO,EAAE,4DAA4D;wBACrE,KAAK,EAAE,yBAAY,CAAC,SAAS;qBAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBAClB,CAAC;gBACD,OAAM;YACV,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEnD,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACpC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YAClF,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACjC,MAAM,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;gBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YAC/E,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC5B,MAAM,WAAW,CAAC,KAAK,CAAC;oBACpB,OAAO,EAAE,2BAA2B,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,iBAAiB;oBAChF,KAAK,EAAE,yBAAY,CAAC,SAAS;iBAChC,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,CAAA;YAClB,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AA3DD,kEA2DC"} \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 0d23862..0718153 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/Context.html b/docs/classes/Context.html index b3c4f4c..0a558ec 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    constructor +Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      +

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      Parameters

      • Optionalprops: Partial<IRunnable>
      • OptionalsyncVars: boolean

      Returns Context

    • Returns Context

    • Returns IRunnable

    • Parameters

      • name: string

      Returns boolean

    • Parameters

      • name: string

      Returns boolean

    • Fetches all emojis of the application.

      Parameters

      • Optionalonce: boolean

        Whether to fetch only when the collection is empty.

      Returns Promise<void | Collection<string, ApplicationEmoji>>

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    diff --git a/docs/classes/Database.html b/docs/classes/Database.html index 5b7bd15..8e12a97 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    constructor +Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    Properties

    database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      +

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      Parameters

      • id: string

        The id of the giveaway to delete.

        -

      Returns Promise<DeleteResult>

    • Gets an existing giveaway.

      +

    Returns Promise<DeleteResult>

    • Saves a giveaway in the database.

      +

    Returns Promise<null | Giveaway>

    +

    Returns Promise<void>

    diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index ae4b27e..62c32c2 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    constructor +ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    Properties

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    -
    targetVersions?: string[]

    Only the versions written here will be allowed

    -
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    +

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    +
    targetVersions?: string[]

    Only the versions written here will be allowed

    +
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index 39b1cb3..e2bebc3 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    constructor +Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | Giveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Returns whether a user has entered this giveaway.

      Parameters

      • userID: string

        The user to check for.

        -

      Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | Giveaway

    diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index afb07f1..6309b98 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    constructor +GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    Properties

    Accessors

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    +

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index 64f6f8a..b3c0f6f 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    constructor +GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    Properties

    Methods

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    +

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 1850fc8..9529e59 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    constructor +GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    +

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 31b3762..081a980 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    +GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 57761c6..0d6745c 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,21 +1,21 @@ -GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    constructor +GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    Methods

    • Edits an existing giveaway.

      +

    Constructors

    Methods

    • Ends an existing giveaway.

      +

    Returns Promise<null | Giveaway>

    • Fetches the message of a giveaway.

      +

    Returns Promise<undefined | Giveaway>

    • Fetches the message of a giveaway.

      Parameters

      • channelID: string

        The id of the channel to pull message from.

      • OptionalmessageID: string

        The id of the message to fetch.

        -

      Returns Promise<void | Message<true>>

    • Rerolls an existing giveaway.

      +

    Returns Promise<void | Message<true>>

    • Rerolls an existing giveaway.

      Parameters

      • id: string

        The id of the giveaway to reroll.

      • unique: boolean = false

        Whether to not include the previous winners.

      • Optionalamount: number

        The amount of new winners.

        -

      Returns Promise<undefined | Giveaway>

    • Starts a new giveaway on a guild.

      +

    Returns Promise<undefined | Giveaway>

    +

    Returns Promise<undefined | Giveaway>

    diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index a017a0a..55124c5 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    constructor +MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    mongoId?: string

    The object id for MongoDB.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    mongoId?: string

    The object id for MongoDB.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | MongoGiveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | MongoGiveaway

    diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 8ef49dd..57c1489 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    automod +IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    +

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index 66b03a0..f72372c 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    allowTopLevelReturn? +IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    extras?: unknown

    Extras data

    keywords?: Record<string, string>

    The already existing variables defined with $let

    The context this code will run in

    -
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    +
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    The old and new states of an event

    -
    +
    diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index 91948b5..6efefad 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    audit +IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    +

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 3fa74e7..0f3e337 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        useDefault?: boolean;
    }

    Properties

    events? +IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        useDefault?: boolean;
    }

    Properties

    Properties

    events?: keyof IGiveawayEvents

    The giveaway events to use.

    -
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    -
    +
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    +
    diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index e77e0be..747b81f 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID +IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index f7ec39c..14a8e06 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,8 +1,8 @@ -IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoked: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect +IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoke: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect: []
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoked: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    +

    Properties

    databaseConnect: []
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoke: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index c547a62..60e1859 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles? +IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    +

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index c8ec9e9..9811f7b 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID +IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index 6660722..9342974 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    +AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index 1360800..d3c3171 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    +ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index 16e6d34..246751f 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    +ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 6041dc0..2dd5f89 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    +IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    diff --git a/metadata/events.json b/metadata/events.json index 6cf6ff2..e1f6387 100644 --- a/metadata/events.json +++ b/metadata/events.json @@ -1 +1 @@ -[{"name":"databaseConnect","version":"1.0.0","description":"This event is fired when the database has connected"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayEntryAdd","version":"1.0.0","description":"This event is fired when a giveaway entry is added"},{"name":"giveawayEntryRemove","version":"1.0.0","description":"This event is fired when a giveaway entry is removed"},{"name":"giveawayEntryRevoked","version":"1.0.0","description":"This event is fired when a giveaway entry is revoked"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file +[{"name":"databaseConnect","version":"1.0.0","description":"This event is fired when the database has connected"},{"name":"giveawayEnd","version":"1.0.0","description":"This event is fired when a giveaway ended"},{"name":"giveawayEntryAdd","version":"1.0.0","description":"This event is fired when a giveaway entry is added"},{"name":"giveawayEntryRemove","version":"1.0.0","description":"This event is fired when a giveaway entry is removed"},{"name":"giveawayEntryRevoke","version":"1.0.0","description":"This event is fired when a giveaway entry is revoked"},{"name":"giveawayReroll","version":"1.0.0","description":"This event is fired when a giveaway was rerolled"},{"name":"giveawayStart","version":"1.0.0","description":"This event is fired when a giveaway started"}] \ No newline at end of file diff --git a/src/events/giveawayEntryRevoked.ts b/src/events/giveawayEntryRevoke.ts similarity index 92% rename from src/events/giveawayEntryRevoked.ts rename to src/events/giveawayEntryRevoke.ts index 2847e63..e0b153c 100644 --- a/src/events/giveawayEntryRevoked.ts +++ b/src/events/giveawayEntryRevoke.ts @@ -4,11 +4,11 @@ import { ForgeGiveaways } from ".." import { Context } from "../structures" export default new GiveawaysEventHandler({ - name: "giveawayEntryRevoked", + name: "giveawayEntryRevoke", version: "1.0.0", description: "This event is fired when a giveaway entry is revoked", listener: async function(gw, int) { - const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEntryRevoked") + const commands = this.getExtension(ForgeGiveaways, true).commands.get("giveawayEntryRevoke") for (const command of commands) { const ctx = new Context({ diff --git a/src/events/giveawayStart.ts b/src/events/giveawayStart.ts index ed78dd0..e40b207 100644 --- a/src/events/giveawayStart.ts +++ b/src/events/giveawayStart.ts @@ -13,7 +13,11 @@ export default new GiveawaysEventHandler({ const commands = client.commands.get("giveawayStart") const command = commands[0] - if (commands.length > 1) throw new Error(GiveawaysErrorType.MultipleStartEvents) + if (commands.length > 1) { + await Database.delete(gw.id) + throw new Error(GiveawaysErrorType.MultipleStartEvents) + } + if (!command && !client.options.useDefault) { await Database.delete(gw.id) throw new Error(GiveawaysErrorType.NoStartEvent) diff --git a/src/handlers/GiveawaysEventHandler.ts b/src/handlers/GiveawaysEventHandler.ts index f6d6df1..bae22e5 100644 --- a/src/handlers/GiveawaysEventHandler.ts +++ b/src/handlers/GiveawaysEventHandler.ts @@ -10,7 +10,7 @@ export interface IGiveawayEvents { giveawayReroll: [Giveaway, Giveaway] giveawayEntryAdd: [Giveaway, Giveaway, Interaction] giveawayEntryRemove: [Giveaway, Giveaway, Interaction] - giveawayEntryRevoked: [Giveaway, Interaction] + giveawayEntryRevoke: [Giveaway, Interaction] } export class GiveawaysEventHandler extends BaseEventHandler { diff --git a/src/handlers/GiveawaysInteractionHandler.ts b/src/handlers/GiveawaysInteractionHandler.ts index c045edb..11212aa 100644 --- a/src/handlers/GiveawaysInteractionHandler.ts +++ b/src/handlers/GiveawaysInteractionHandler.ts @@ -33,7 +33,7 @@ export class GiveawaysInteractionHandler { const member = interaction.member if (!giveaway.canEnter(member)) { - client.emitter.emit("giveawayEntryRevoked", giveaway, interaction) + client.emitter.emit("giveawayEntryRevoke", giveaway, interaction) if (client.options.useDefault) { await interaction.reply({ content: `❌ You do not meet the requirements to enter this giveaway!`, From 4b1313ede1f1c9b4a978ba45e19c2cbba7cde69b Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Wed, 22 Oct 2025 19:11:44 +0200 Subject: [PATCH 85/87] Use correct package name --- docs/classes/Context.html | 6 +-- docs/classes/Database.html | 14 +++--- docs/classes/ForgeGiveaways.html | 8 ++-- docs/classes/Giveaway.html | 42 +++++++++--------- docs/classes/GiveawaysCommandManager.html | 4 +- docs/classes/GiveawaysDatabaseManager.html | 4 +- docs/classes/GiveawaysEventHandler.html | 4 +- docs/classes/GiveawaysInteractionHandler.html | 4 +- docs/classes/GiveawaysManager.html | 14 +++--- docs/classes/MongoGiveaway.html | 44 +++++++++---------- docs/hierarchy.html | 2 +- docs/index.html | 4 +- docs/interfaces/IExtendedContextCache.html | 4 +- docs/interfaces/IExtendedRunnable.html | 6 +-- docs/interfaces/IExtendedStates.html | 4 +- docs/interfaces/IForgeGiveawaysOptions.html | 6 +-- docs/interfaces/IGiveaway.html | 4 +- docs/interfaces/IGiveawayEvents.html | 4 +- docs/interfaces/IGiveawayRequirements.html | 4 +- docs/interfaces/IGiveawayStartOptions.html | 4 +- docs/modules.html | 4 +- docs/types/AnyGiveaway.html | 2 +- docs/types/ExtendedSendable.html | 2 +- docs/types/ExtendedStates.html | 2 +- docs/types/IGiveawayEditOptions.html | 2 +- package.json | 2 +- 26 files changed, 100 insertions(+), 100 deletions(-) diff --git a/docs/classes/Context.html b/docs/classes/Context.html index 0a558ec..a25e78a 100644 --- a/docs/classes/Context.html +++ b/docs/classes/Context.html @@ -1,4 +1,4 @@ -Context | forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    constructor +Context | @tryforge/forge.giveaways

    Hierarchy

    • Context
      • Context

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      +

    Constructors

    Properties

    automodRule: Partial<IAutomodRuleOptions>
    calendar?: CalendarType
    component: Partial<IComponentOptions>
    container: Container
    executionTimestamp: number
    http: Partial<IHttpOptions>
    localFunctions: Map<string, ILocalFunctionData>
    requirements: Partial<IGiveawayRequirements> = {}
    timezone: string

    Accessors

    • get args(): string[]
    • Returns string[]

    • get automod(): null | AutoModerationActionExecution
    • Returns null | AutoModerationActionExecution

    • get channel():
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>
    • Returns
          | null
          | BaseChannel
          | CategoryChannel
          | NewsChannel
          | StageChannel
          | TextChannel
          | PrivateThreadChannel
          | VoiceChannel
          | ForumChannel
          | MediaChannel
          | PublicThreadChannel<boolean>

    • get client(): ForgeClient
    • Returns ForgeClient

    • get cmd(): null | BaseCommand<unknown>
    • Returns null | BaseCommand<unknown>

    • get emoji(): null | Emoji
    • Returns null | Emoji

    • get entitlement(): null | Entitlement
    • Returns null | Entitlement

    • get getExtension(): {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }
    • Returns {
          <B>(name: string, required?: B): B extends true
              ? ForgeExtension
              : null | ForgeExtension;
          <T, B_1>(type: string | T, required?: B_1): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>;
      }

        • <B>(name, required?): B extends true
              ? ForgeExtension
              : null | ForgeExtension
        • Type Parameters

          • B extends boolean

          Parameters

          • name: string
          • Optionalrequired: B

          Returns B extends true
              ? ForgeExtension
              : null | ForgeExtension

        • <T, B_1>(type, required?): B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>
        • Type Parameters

          • T extends ClassType
          • B_1 extends boolean

          Parameters

          • type: string | T
          • Optionalrequired: B_1

          Returns B_1 extends true
              ? ClassInstance<T>
              : null | ClassInstance<T>

    • get guild(): null | Guild
    • Returns null | Guild

    • get interaction(): null | Interaction
    • Returns null | Interaction

    • get member(): null | GuildMember
    • Returns null | GuildMember

    • get message(): null | Message<any>
    • Returns null | Message<any>

    • get noop(): ((...args: any[]) => void)
    • Returns ((...args: any[]) => void)

        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    • get reaction(): null | MessageReaction
    • Returns null | MessageReaction

    • get reason(): undefined | string
    • Returns undefined | string

    • set reason(str): void
    • Parameters

      • str: undefined | string

      Returns void

    • get role(): null | Role
    • Returns null | Role

    • get sound(): null | SoundboardSound
    • Returns null | SoundboardSound

    • get states(): undefined | States
    • Returns undefined | States

    • get sticker(): null | Sticker
    • Returns null | Sticker

    • get subscription(): null | Subscription
    • Returns null | Subscription

    • get user(): null | User
    • Returns null | User

    Methods

    • Parameters

      • content: string

      Returns Promise<unknown>

    • Returns void

    • Returns void

    • Returns void

    • Returns void

    • Clones keywords and environment vars

      Parameters

      • Optionalprops: Partial<IRunnable>
      • OptionalsyncVars: boolean

      Returns Context

    • Returns Context

    • Returns IRunnable

    • Parameters

      • name: string

      Returns boolean

    • Parameters

      • name: string

      Returns boolean

    • Fetches all emojis of the application.

      Parameters

      • Optionalonce: boolean

        Whether to fetch only when the collection is empty.

        -

      Returns Promise<void | Collection<string, ApplicationEmoji>>

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    +

    Returns Promise<void | Collection<string, ApplicationEmoji>>

    • Type Parameters

      • T

      Parameters

      • key: PropertyKey

      Returns T

    • Type Parameters

      • T extends ClassType

      Parameters

      • type: T
      • Rest...keys: string[]

      Returns null | ClassInstance<T>

    • Parameters

      • Rest...args: string[]

      Returns undefined | object

    • Type Parameters

      • K extends string
      • T extends ClassType

      Parameters

      • key: K
      • type: T

      Returns null | (Context & {
          [P in "bro" as K]: ClassInstance<T>
      })[K]

    • Parameters

      • name: string

      Returns unknown

    • Type Parameters

      • Args extends IArg<ArgType, boolean, boolean, EnumLike<any>>[]
      • Unwrap extends boolean

      Parameters

      Returns Promise<Return<ReturnType>>

    • Parameters

      • fn: CompiledFunction<IArg<ArgType, boolean, boolean, EnumLike<any>>[], boolean>
      • rt: Return<ReturnType>

      Returns boolean

    • Returns undefined | boolean

    • Type Parameters

      • K extends string
      • V extends ClassType

      Parameters

      • key: K
      • type: V

      Returns this is Context & {
          [P in "bro" as K]: ClassInstance<V>
      }

    • Parameters

      • name: string

      Returns boolean

    • Returns this is Context & {
          get interaction(): ChatInputCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): ContextMenuCommandInteraction<CacheType>;
      }

    • Returns this is Context & {
          get interaction(): AnySelectMenuInteraction;
      }

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • name: string
      • value: unknown

      Returns unknown

    • Parameters

      • value: unknown
      • Rest...keys: string[]

      Returns boolean

    • Parameters

      • Rest...keys: string[]

      Returns boolean | any[]

    • Parameters

      • previous: object
      • Rest...args: string[]

      Returns undefined | object

    diff --git a/docs/classes/Database.html b/docs/classes/Database.html index 8e12a97..78539a5 100644 --- a/docs/classes/Database.html +++ b/docs/classes/Database.html @@ -1,4 +1,4 @@ -Database | forge.giveaways

    Hierarchy (view full)

    Constructors

    constructor +Database | @tryforge/forge.giveaways

    Hierarchy (view full)

    Constructors

    Properties

    database entityManager type? @@ -11,12 +11,12 @@ getAll set wipe -

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      +

    Constructors

    Properties

    database: string = "giveaways.db"
    entityManager: {
        mongodb: typeof MongoGiveaway[];
        mysql: typeof Giveaway[];
        postgres: typeof Giveaway[];
        sqlite: typeof Giveaway[];
    } = ...
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    entities: {
        Giveaway: AnyGiveaway;
    }
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    • Deletes an existing giveaway from the database.

      Parameters

      • id: string

        The id of the giveaway to delete.

        -

      Returns Promise<DeleteResult>

    • Gets an existing giveaway.

      +

    Returns Promise<DeleteResult>

    • Saves a giveaway in the database.

      +

    Returns Promise<null | Giveaway>

    +

    Returns Promise<void>

    diff --git a/docs/classes/ForgeGiveaways.html b/docs/classes/ForgeGiveaways.html index 62c32c2..30cec1b 100644 --- a/docs/classes/ForgeGiveaways.html +++ b/docs/classes/ForgeGiveaways.html @@ -1,4 +1,4 @@ -ForgeGiveaways | forge.giveaways

    Class ForgeGiveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    constructor +ForgeGiveaways | @tryforge/forge.giveaways

    Hierarchy

    • ForgeExtension
      • ForgeGiveaways

    Constructors

    Properties

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    -
    targetVersions?: string[]

    Only the versions written here will be allowed

    -
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    +

    Constructors

    Properties

    description: any = ...
    emitter: TypedEmitter<TransformEvents<IGiveawayEvents>> = ...
    giveawaysManager: GiveawaysManager
    name: string = "forge.giveaways"
    requireExtensions: string[] = ...

    A list of extension names this extension requires

    +
    targetVersions?: string[]

    Only the versions written here will be allowed

    +
    version: any = ...

    Methods

    • Returns any

    • Parameters

      • client: ForgeClient

      Returns Promise<void>

    • Parameters

      • path: string

      Returns void

    • Parameters

      • client: ForgeClient

      Returns void

    diff --git a/docs/classes/Giveaway.html b/docs/classes/Giveaway.html index e2bebc3..46e49e5 100644 --- a/docs/classes/Giveaway.html +++ b/docs/classes/Giveaway.html @@ -1,4 +1,4 @@ -Giveaway | forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    constructor +Giveaway | @tryforge/forge.giveaways

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | Giveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Returns whether a user has entered this giveaway.

      Parameters

      • userID: string

        The user to check for.

        -

      Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | Giveaway

    diff --git a/docs/classes/GiveawaysCommandManager.html b/docs/classes/GiveawaysCommandManager.html index 6309b98..e963fed 100644 --- a/docs/classes/GiveawaysCommandManager.html +++ b/docs/classes/GiveawaysCommandManager.html @@ -1,4 +1,4 @@ -GiveawaysCommandManager | forge.giveaways

    Class GiveawaysCommandManager

    Hierarchy

    Constructors

    constructor +GiveawaysCommandManager | @tryforge/forge.giveaways

    Hierarchy

    Constructors

    Properties

    Accessors

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    +

    Constructors

    • Parameters

      • client: ForgeClient

      Returns GiveawaysCommandManager

    Properties

    handlerName: string = "ForgeGiveawaysEvents"
    defaultMaxListeners: number

    Accessors

    • get count(): number
    • Returns number

    Methods

    • Parameters

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns boolean

    • Type Parameters

      • U extends "update"

      Returns U[]

    • Parameters

      Returns BaseCommand<keyof IGiveawayEvents>[]

    • Returns number

    • Parameters

      • type: "update"

      Returns number

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Parameters

      • path: string

      Returns void

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      • type: U

      Returns ICommandManagerEvents<keyof IGiveawayEvents>[U][]

    • Returns void

    • Parameters

      • Optionalevent: "update"

      Returns this

    • Type Parameters

      • U extends "update"

      Parameters

      Returns this

    • Parameters

      • n: number

      Returns this

    • Returns BaseCommand<keyof IGiveawayEvents>[]

    diff --git a/docs/classes/GiveawaysDatabaseManager.html b/docs/classes/GiveawaysDatabaseManager.html index b3c0f6f..eef9f63 100644 --- a/docs/classes/GiveawaysDatabaseManager.html +++ b/docs/classes/GiveawaysDatabaseManager.html @@ -1,7 +1,7 @@ -GiveawaysDatabaseManager | forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    constructor +GiveawaysDatabaseManager | @tryforge/forge.giveaways

    Class GiveawaysDatabaseManagerAbstract

    Hierarchy (view full)

    • DataBaseManager

    Constructors

    Properties

    Methods

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    +

    Constructors

    Properties

    database: string
    entityManager: {
        mongodb: MixedList<string | Function | EntitySchema<any>>;
        mysql: MixedList<string | Function | EntitySchema<any>>;
        postgres: MixedList<string | Function | EntitySchema<any>>;
        sqlite: MixedList<string | Function | EntitySchema<any>>;
    }
    type?:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"
    type:
        | "mysql"
        | "postgres"
        | "mongodb"
        | "better-sqlite3"
        | "sqlite"

    Methods

    • Returns Promise<DataSource>

    diff --git a/docs/classes/GiveawaysEventHandler.html b/docs/classes/GiveawaysEventHandler.html index 9529e59..67775f7 100644 --- a/docs/classes/GiveawaysEventHandler.html +++ b/docs/classes/GiveawaysEventHandler.html @@ -1,7 +1,7 @@ -GiveawaysEventHandler | forge.giveaways

    Class GiveawaysEventHandler<T>

    Type Parameters

    Hierarchy

    Constructors

    constructor +GiveawaysEventHandler | @tryforge/forge.giveaways

    Type Parameters

    Hierarchy

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    +

    Constructors

    Properties

    data: IEvent<IGiveawayEvents, T>

    Accessors

    • get description(): string
    • Returns string

    • get listener(): ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)
    • Returns ((this: ForgeClient, ...args: AssertArgs<Events[T]>) => void | Promise<void>)

        • (this, ...args): void | Promise<void>
        • Parameters

          • this: ForgeClient
          • Rest...args: AssertArgs<Events[T]>

          Returns void | Promise<void>

    • get name(): T
    • Returns T

    Methods

    diff --git a/docs/classes/GiveawaysInteractionHandler.html b/docs/classes/GiveawaysInteractionHandler.html index 081a980..fdb7597 100644 --- a/docs/classes/GiveawaysInteractionHandler.html +++ b/docs/classes/GiveawaysInteractionHandler.html @@ -1,2 +1,2 @@ -GiveawaysInteractionHandler | forge.giveaways

    Class GiveawaysInteractionHandler

    Constructors

    Constructors

    +GiveawaysInteractionHandler | @tryforge/forge.giveaways

    Constructors

    Constructors

    diff --git a/docs/classes/GiveawaysManager.html b/docs/classes/GiveawaysManager.html index 0d6745c..ce8e65d 100644 --- a/docs/classes/GiveawaysManager.html +++ b/docs/classes/GiveawaysManager.html @@ -1,21 +1,21 @@ -GiveawaysManager | forge.giveaways

    Class GiveawaysManager

    Constructors

    constructor +GiveawaysManager | @tryforge/forge.giveaways

    Constructors

    Methods

    • Edits an existing giveaway.

      +

    Constructors

    Methods

    • Ends an existing giveaway.

      +

    Returns Promise<null | Giveaway>

    • Fetches the message of a giveaway.

      +

    Returns Promise<undefined | Giveaway>

    • Fetches the message of a giveaway.

      Parameters

      • channelID: string

        The id of the channel to pull message from.

      • OptionalmessageID: string

        The id of the message to fetch.

        -

      Returns Promise<void | Message<true>>

    • Rerolls an existing giveaway.

      +

    Returns Promise<void | Message<true>>

    • Rerolls an existing giveaway.

      Parameters

      • id: string

        The id of the giveaway to reroll.

      • unique: boolean = false

        Whether to not include the previous winners.

      • Optionalamount: number

        The amount of new winners.

        -

      Returns Promise<undefined | Giveaway>

    • Starts a new giveaway on a guild.

      +

    Returns Promise<undefined | Giveaway>

    +

    Returns Promise<undefined | Giveaway>

    diff --git a/docs/classes/MongoGiveaway.html b/docs/classes/MongoGiveaway.html index 55124c5..1443c81 100644 --- a/docs/classes/MongoGiveaway.html +++ b/docs/classes/MongoGiveaway.html @@ -1,4 +1,4 @@ -MongoGiveaway | forge.giveaways

    Class MongoGiveaway

    Hierarchy (view full)

    Constructors

    constructor +MongoGiveaway | @tryforge/forge.giveaways

    Hierarchy (view full)

    Constructors

    Properties

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    -
    duration: number

    The duration of this giveaway in ms.

    -
    entries: string[]

    The user entries for this giveaway.

    -
    guildID: string

    The id of the guild this giveaway has been created on.

    -
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    -
    hostID: string

    The id of the host for this giveaway.

    -
    id: string

    The id of this giveaway.

    -
    messageID?: string

    The id of the message this giveaway is associated with.

    -
    mongoId?: string

    The object id for MongoDB.

    -
    prize: string

    The prize of this giveaway.

    -
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    -
    timestamp: number

    The timestamp this giveaway has been created at.

    -
    winners: string[]

    The randomly selected winners of this giveaway.

    -
    winnersCount: number

    The max amount of winners for this giveaway.

    -

    Methods

    • Adds a user entry to this giveaway.

      +

    Constructors

    Properties

    channelID: string

    The id of the channel this giveaway has been created in.

    +
    duration: number

    The duration of this giveaway in ms.

    +
    entries: string[]

    The user entries for this giveaway.

    +
    guildID: string

    The id of the guild this giveaway has been created on.

    +
    hasEnded: boolean

    Indicates whether this giveaway has ended.

    +
    hostID: string

    The id of the host for this giveaway.

    +
    id: string

    The id of this giveaway.

    +
    messageID?: string

    The id of the message this giveaway is associated with.

    +
    mongoId?: string

    The object id for MongoDB.

    +
    prize: string

    The prize of this giveaway.

    +
    requirements?: IGiveawayRequirements

    The requirements all participants have to meet for entering this giveaway.

    +
    timestamp: number

    The timestamp this giveaway has been created at.

    +
    winners: string[]

    The randomly selected winners of this giveaway.

    +
    winnersCount: number

    The max amount of winners for this giveaway.

    +

    Methods

    • Returns whether a member is eligible to enter this giveaway.

      +

    Returns null | MongoGiveaway

    • Returns whether a member is eligible to enter this giveaway.

      Parameters

      • member: GuildMember | APIInteractionGuildMember

        The guild member to check for requirements.

        -

      Returns boolean

    • Returns whether a user has entered this giveaway.

      +

    Returns boolean

    • Removes a user entry from this giveaway.

      +

    Returns boolean

    +

    Returns null | MongoGiveaway

    diff --git a/docs/hierarchy.html b/docs/hierarchy.html index f9f01c6..0f5817a 100644 --- a/docs/hierarchy.html +++ b/docs/hierarchy.html @@ -1 +1 @@ -forge.giveaways
    +@tryforge/forge.giveaways
    diff --git a/docs/index.html b/docs/index.html index b2a440e..3650bdf 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,4 +1,4 @@ -forge.giveaways

    forge.giveaways

    +@tryforge/forge.giveaways

    @tryforge/forge.giveaways

    ForgeGiveaways

    ForgeGiveaways

    ForgeGiveaways is a lightweight, flexible, and reliable extension for managing giveaways. Fully customizable features let you automate, track, and control every giveaway seamlessly.

    @tryforge/forge.giveaways @@ -62,4 +62,4 @@

    Handling Interactions


    module.exports = {
    type: "giveawayEntryRemove",
    code: `
    $interactionReply[
    $ephemeral
    You have left this giveaway!
    ]
    `
    }
    -
    +
    diff --git a/docs/interfaces/IExtendedContextCache.html b/docs/interfaces/IExtendedContextCache.html index 57c1489..e36266d 100644 --- a/docs/interfaces/IExtendedContextCache.html +++ b/docs/interfaces/IExtendedContextCache.html @@ -1,4 +1,4 @@ -IExtendedContextCache | forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    automod +IExtendedContextCache | @tryforge/forge.giveaways

    Interface IExtendedContextCache

    interface IExtendedContextCache {
        automod: null | AutoModerationActionExecution;
        channel: null | BaseChannel;
        emoji: null | Emoji;
        entitlement: null | Entitlement;
        giveaway: null | Giveaway | MongoGiveaway;
        guild: null | Guild;
        interaction: null | Interaction;
        member: null | GuildMember;
        message: null | Message<boolean>;
        reaction: null | MessageReaction;
        role: null | Role;
        sound: null | SoundboardSound;
        sticker: null | Sticker;
        subscription: null | Subscription;
        user: null | User;
    }

    Hierarchy

    • IContextCache
      • IExtendedContextCache

    Properties

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    +

    Properties

    automod: null | AutoModerationActionExecution
    channel: null | BaseChannel
    emoji: null | Emoji
    entitlement: null | Entitlement
    giveaway: null | Giveaway | MongoGiveaway
    guild: null | Guild
    interaction: null | Interaction
    member: null | GuildMember
    message: null | Message<boolean>
    reaction: null | MessageReaction
    role: null | Role
    sound: null | SoundboardSound
    sticker: null | Sticker
    subscription: null | Subscription
    user: null | User
    diff --git a/docs/interfaces/IExtendedRunnable.html b/docs/interfaces/IExtendedRunnable.html index f72372c..b947506 100644 --- a/docs/interfaces/IExtendedRunnable.html +++ b/docs/interfaces/IExtendedRunnable.html @@ -1,4 +1,4 @@ -IExtendedRunnable | forge.giveaways

    Interface IExtendedRunnable

    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    allowTopLevelReturn? +IExtendedRunnable | @tryforge/forge.giveaways
    interface IExtendedRunnable {
        allowTopLevelReturn?: boolean;
        args?: string[];
        client: ForgeClient;
        command: null | BaseCommand<unknown>;
        container?: Container;
        data: IExtendedCompilationResult;
        disableConsoleErrors?: boolean;
        doNotSend?: boolean;
        environment?: Record<string, unknown>;
        extras?: unknown;
        keywords?: Record<string, string>;
        obj: ExtendedSendable;
        redirectErrorsToConsole?: boolean;
        states?: ExtendedStates;
    }

    Hierarchy

    • IRunnable
      • IExtendedRunnable

    Properties

    extras?: unknown

    Extras data

    keywords?: Record<string, string>

    The already existing variables defined with $let

    The context this code will run in

    -
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    +
    redirectErrorsToConsole?: boolean

    Whether to suppress errors from being sent to discord, and be sent to console instead

    The old and new states of an event

    -
    +
    diff --git a/docs/interfaces/IExtendedStates.html b/docs/interfaces/IExtendedStates.html index 6efefad..4fa9312 100644 --- a/docs/interfaces/IExtendedStates.html +++ b/docs/interfaces/IExtendedStates.html @@ -1,4 +1,4 @@ -IExtendedStates | forge.giveaways

    Interface IExtendedStates

    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    audit +IExtendedStates | @tryforge/forge.giveaways
    interface IExtendedStates {
        audit: GuildAuditLogsEntry<AuditLogEvent,
            | "Update"
            | "Create"
            | "Delete"
            | "All",
            | "Guild"
            | "Channel"
            | "User"
            | "Role"
            | "Invite"
            | "Webhook"
            | "Emoji"
            | "Message"
            | "Integration"
            | "StageInstance"
            | "Sticker"
            | "GuildScheduledEvent"
            | "Thread"
            | "ApplicationCommand"
            | "SoundboardSound"
            | "AutoModeration"
            | "GuildOnboardingPrompt"
            | "GuildOnboarding"
            | "Unknown">;
        automodRule: AutoModerationRule;
        ban: GuildBan;
        bulk: (Message<boolean> | PartialMessage<boolean>)[];
        channel: Channel;
        emoji: GuildEmoji;
        entitlement: Entitlement;
        giveaway: Giveaway;
        guild: Guild;
        invite: Invite;
        member: GuildMember;
        message: Message<boolean>;
        poll: PollAnswer;
        presence: Presence;
        role: Role;
        scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>;
        soundboardSound: SoundboardSound | PartialSoundboardSound;
        stage: StageInstance;
        sticker: Sticker;
        subscription: Subscription;
        user: User;
        voiceEffect: VoiceChannelEffect;
        voiceState: VoiceState;
    }

    Hierarchy

    • IStates
      • IExtendedStates

    Properties

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    +

    Properties

    audit: GuildAuditLogsEntry<AuditLogEvent,
        | "Update"
        | "Create"
        | "Delete"
        | "All",
        | "Guild"
        | "Channel"
        | "User"
        | "Role"
        | "Invite"
        | "Webhook"
        | "Emoji"
        | "Message"
        | "Integration"
        | "StageInstance"
        | "Sticker"
        | "GuildScheduledEvent"
        | "Thread"
        | "ApplicationCommand"
        | "SoundboardSound"
        | "AutoModeration"
        | "GuildOnboardingPrompt"
        | "GuildOnboarding"
        | "Unknown">
    automodRule: AutoModerationRule
    ban: GuildBan
    bulk: (Message<boolean> | PartialMessage<boolean>)[]
    channel: Channel
    emoji: GuildEmoji
    entitlement: Entitlement
    giveaway: Giveaway
    guild: Guild
    invite: Invite
    member: GuildMember
    message: Message<boolean>
    poll: PollAnswer
    presence: Presence
    role: Role
    scheduledEvent: GuildScheduledEvent<GuildScheduledEventStatus>
    soundboardSound: SoundboardSound | PartialSoundboardSound
    stage: StageInstance
    sticker: Sticker
    subscription: Subscription
    user: User
    voiceEffect: VoiceChannelEffect
    voiceState: VoiceState
    diff --git a/docs/interfaces/IForgeGiveawaysOptions.html b/docs/interfaces/IForgeGiveawaysOptions.html index 0f3e337..c2416a8 100644 --- a/docs/interfaces/IForgeGiveawaysOptions.html +++ b/docs/interfaces/IForgeGiveawaysOptions.html @@ -1,5 +1,5 @@ -IForgeGiveawaysOptions | forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        useDefault?: boolean;
    }

    Properties

    events? +IForgeGiveawaysOptions | @tryforge/forge.giveaways

    Interface IForgeGiveawaysOptions

    interface IForgeGiveawaysOptions {
        events?: keyof IGiveawayEvents;
        useDefault?: boolean;
    }

    Properties

    Properties

    events?: keyof IGiveawayEvents

    The giveaway events to use.

    -
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    -
    +
    useDefault?: boolean

    Whether to use the default giveaway messages. Defaults to true.

    +
    diff --git a/docs/interfaces/IGiveaway.html b/docs/interfaces/IGiveaway.html index 747b81f..8353f59 100644 --- a/docs/interfaces/IGiveaway.html +++ b/docs/interfaces/IGiveaway.html @@ -1,4 +1,4 @@ -IGiveaway | forge.giveaways

    Interface IGiveaway

    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID +IGiveaway | @tryforge/forge.giveaways
    interface IGiveaway {
        channelID: string;
        duration: number;
        entries: string[];
        guildID: string;
        hasEnded: boolean;
        hostID: string;
        id: string;
        messageID?: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        timestamp: number;
        winners: string[];
        winnersCount: number;
    }

    Hierarchy (view full)

    Implemented by

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    entries: string[]
    guildID: string
    hasEnded: boolean
    hostID: string
    id: string
    messageID?: string
    prize: string
    requirements?: IGiveawayRequirements
    timestamp: number
    winners: string[]
    winnersCount: number
    diff --git a/docs/interfaces/IGiveawayEvents.html b/docs/interfaces/IGiveawayEvents.html index 14a8e06..6ba5fad 100644 --- a/docs/interfaces/IGiveawayEvents.html +++ b/docs/interfaces/IGiveawayEvents.html @@ -1,8 +1,8 @@ -IGiveawayEvents | forge.giveaways

    Interface IGiveawayEvents

    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoke: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect +IGiveawayEvents | @tryforge/forge.giveaways
    interface IGiveawayEvents {
        databaseConnect: [];
        giveawayEnd: [Giveaway];
        giveawayEntryAdd: [Giveaway, Giveaway, Interaction];
        giveawayEntryRemove: [Giveaway, Giveaway, Interaction];
        giveawayEntryRevoke: [Giveaway, Interaction];
        giveawayReroll: [Giveaway, Giveaway];
        giveawayStart: [Giveaway];
    }

    Properties

    databaseConnect: []
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoke: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    +

    Properties

    databaseConnect: []
    giveawayEnd: [Giveaway]
    giveawayEntryAdd: [Giveaway, Giveaway, Interaction]
    giveawayEntryRemove: [Giveaway, Giveaway, Interaction]
    giveawayEntryRevoke: [Giveaway, Interaction]
    giveawayReroll: [Giveaway, Giveaway]
    giveawayStart: [Giveaway]
    diff --git a/docs/interfaces/IGiveawayRequirements.html b/docs/interfaces/IGiveawayRequirements.html index 60e1859..c25875f 100644 --- a/docs/interfaces/IGiveawayRequirements.html +++ b/docs/interfaces/IGiveawayRequirements.html @@ -1,4 +1,4 @@ -IGiveawayRequirements | forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles? +IGiveawayRequirements | @tryforge/forge.giveaways

    Interface IGiveawayRequirements

    interface IGiveawayRequirements {
        requiredRoles?: string[];
        restrictedMembers?: string[];
        restrictedRoles?: string[];
    }

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    +

    Properties

    requiredRoles?: string[]
    restrictedMembers?: string[]
    restrictedRoles?: string[]
    diff --git a/docs/interfaces/IGiveawayStartOptions.html b/docs/interfaces/IGiveawayStartOptions.html index 9811f7b..3e68b49 100644 --- a/docs/interfaces/IGiveawayStartOptions.html +++ b/docs/interfaces/IGiveawayStartOptions.html @@ -1,8 +1,8 @@ -IGiveawayStartOptions | forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID +IGiveawayStartOptions | @tryforge/forge.giveaways

    Interface IGiveawayStartOptions

    interface IGiveawayStartOptions {
        channelID: string;
        duration: number;
        guildID: string;
        hostID: string;
        prize: string;
        requirements?: IGiveawayRequirements;
        winnersCount: number;
    }

    Hierarchy (view full)

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    +

    Properties

    channelID: string
    duration: number
    guildID: string
    hostID: string
    prize: string
    requirements?: IGiveawayRequirements
    winnersCount: number
    diff --git a/docs/modules.html b/docs/modules.html index d4a59c7..b297c61 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -1,4 +1,4 @@ -forge.giveaways

    forge.giveaways

    Index

    Classes

    Context +@tryforge/forge.giveaways
    +
    diff --git a/docs/types/AnyGiveaway.html b/docs/types/AnyGiveaway.html index 9342974..54571ce 100644 --- a/docs/types/AnyGiveaway.html +++ b/docs/types/AnyGiveaway.html @@ -1 +1 @@ -AnyGiveaway | forge.giveaways

    Type Alias AnyGiveaway

    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    +AnyGiveaway | @tryforge/forge.giveaways
    AnyGiveaway: typeof Giveaway | typeof MongoGiveaway
    diff --git a/docs/types/ExtendedSendable.html b/docs/types/ExtendedSendable.html index d3c3171..9ccc01a 100644 --- a/docs/types/ExtendedSendable.html +++ b/docs/types/ExtendedSendable.html @@ -1 +1 @@ -ExtendedSendable | forge.giveaways

    Type Alias ExtendedSendable

    ExtendedSendable: Sendable | Giveaway
    +ExtendedSendable | @tryforge/forge.giveaways
    ExtendedSendable: Sendable | Giveaway
    diff --git a/docs/types/ExtendedStates.html b/docs/types/ExtendedStates.html index 246751f..f1f60fa 100644 --- a/docs/types/ExtendedStates.html +++ b/docs/types/ExtendedStates.html @@ -1 +1 @@ -ExtendedStates | forge.giveaways

    Type Alias ExtendedStates

    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    +ExtendedStates | @tryforge/forge.giveaways
    ExtendedStates: {
        [K in keyof IExtendedStates]?: {
            new?: IExtendedStates[K] | null;
            old?: IExtendedStates[K] | null;
        }
    }
    diff --git a/docs/types/IGiveawayEditOptions.html b/docs/types/IGiveawayEditOptions.html index 2dd5f89..2ae7406 100644 --- a/docs/types/IGiveawayEditOptions.html +++ b/docs/types/IGiveawayEditOptions.html @@ -1 +1 @@ -IGiveawayEditOptions | forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    +IGiveawayEditOptions | @tryforge/forge.giveaways

    Type Alias IGiveawayEditOptions

    IGiveawayEditOptions: Omit<IGiveawayStartOptions, "guildID" | "channelID">
    diff --git a/package.json b/package.json index 154b944..2f78c87 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "forge.giveaways", + "name": "@tryforge/forge.giveaways", "version": "1.0.0", "description": "ForgeGiveaways is a lightweight, flexible, and reliable extension for managing giveaways. Fully customizable features let you automate, track, and control every giveaway seamlessly.", "main": "dist/index.js", From 2851bfea4f79c6f119f458b39fb12e44cb8cde40 Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Wed, 22 Oct 2025 19:34:29 +0200 Subject: [PATCH 86/87] 1.0.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 977394a..1da6b50 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "forge.giveaways", - "version": "1.0.0", + "version": "1.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "forge.giveaways", - "version": "1.0.0", + "version": "1.0.1", "license": "GPL-3.0", "dependencies": { "tiny-typed-emitter": "^2.1.0", diff --git a/package.json b/package.json index 2f78c87..aa2b688 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tryforge/forge.giveaways", - "version": "1.0.0", + "version": "1.0.1", "description": "ForgeGiveaways is a lightweight, flexible, and reliable extension for managing giveaways. Fully customizable features let you automate, track, and control every giveaway seamlessly.", "main": "dist/index.js", "scripts": { From e406d7d1c1b7729c202ebaf9da1ee2b3d242fc0e Mon Sep 17 00:00:00 2001 From: xNickyDev Date: Wed, 22 Oct 2025 19:37:54 +0200 Subject: [PATCH 87/87] Update package --- package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1da6b50..8b5502d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "forge.giveaways", + "name": "@tryforge/forge.giveaways", "version": "1.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "forge.giveaways", + "name": "@tryforge/forge.giveaways", "version": "1.0.1", "license": "GPL-3.0", "dependencies": {