UNPKG

forgescript

Version:

ForgeScript is a comprehensive package that empowers you to effortlessly interact with Discord's API. It ensures scripting remains easy to learn and consistently effective.

37 lines 1.57 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ForgeExtension = void 0; const getVersionNumber_1 = __importDefault(require("../functions/getVersionNumber")); const ForgeError_1 = require("./ForgeError"); const Logger_1 = require("./Logger"); class ForgeExtension { /** * Only the versions written here will be allowed */ targetVersions; /** * A list of extension names this extension requires */ requireExtensions; validateAndInit(client) { const version = client.version; const n = (0, getVersionNumber_1.default)(version); if (this.targetVersions?.length && !this.targetVersions.some(x => (0, getVersionNumber_1.default)(x) === n)) { throw new ForgeError_1.ForgeError(null, ForgeError_1.ErrorType.UnsupportedExtensionVersion, this.name, version); } if (this.requireExtensions?.length) { for (const wanted of this.requireExtensions) { if (!client.options.extensions.some(x => x.name === wanted)) { throw new ForgeError_1.ForgeError(null, ForgeError_1.ErrorType.RequiredExtension, this.name, wanted); } } } this.init(client); Logger_1.Logger.info(`Extension ${this.name} has been loaded! Version ${this.version}`); } } exports.ForgeExtension = ForgeExtension; //# sourceMappingURL=ForgeExtension.js.map