scathach-api
Version:
A NodeJS wrapper to interacts with Scathach bot
80 lines • 13 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.randomArray = exports.get = exports.ratelimit = void 0;
const consts_1 = __importDefault(require("./consts"));
const utils_1 = require("./utils");
Object.defineProperty(exports, "get", { enumerable: true, get: function () { return utils_1.get; } });
Object.defineProperty(exports, "randomArray", { enumerable: true, get: function () { return utils_1.randomArray; } });
Object.defineProperty(exports, "ratelimit", { enumerable: true, get: function () { return utils_1.ratelimit; } });
async function request(options) {
switch (options.category) {
case 'fgo':
return (0, utils_1.ratelimit)(utils_1.delay, await (0, utils_1.get)(consts_1.default.endpoint.fgo, options.useragent || '').then(res => res.body));
case 'genshin':
return (0, utils_1.ratelimit)(utils_1.delay, await (0, utils_1.get)(consts_1.default.endpoint.genshin, options.useragent || '').then(res => res.body));
case 'azur':
return (0, utils_1.ratelimit)(utils_1.delay, await (0, utils_1.get)(consts_1.default.endpoint.azur, options.useragent || '').then(res => res.body));
case 'waifu':
return (0, utils_1.ratelimit)(utils_1.delay, await (0, utils_1.get)(consts_1.default.endpoint.waifu, options.useragent || '').then(res => res.body));
case 'arknights':
return (0, utils_1.ratelimit)(utils_1.delay, await (0, utils_1.get)(consts_1.default.endpoint.arknights, options.useragent || '').then(res => res.body));
case 'fire_emblem':
return (0, utils_1.ratelimit)(utils_1.delay, await (0, utils_1.get)(consts_1.default.endpoint.fire_emblem, options.useragent || '').then(res => res.body));
case 'gfl':
return (0, utils_1.ratelimit)(utils_1.delay, await (0, utils_1.get)(consts_1.default.endpoint.gfl, options.useragent || '').then(res => res.body));
case 'hololive':
return (0, utils_1.ratelimit)(utils_1.delay, await (0, utils_1.get)(consts_1.default.endpoint.hololive, options.useragent || '').then(res => res.body));
case 'kancolle':
return (0, utils_1.ratelimit)(utils_1.delay, await (0, utils_1.get)(consts_1.default.endpoint.kancolle, options.useragent || '').then(res => res.body));
case 'sex':
return (0, utils_1.ratelimit)(utils_1.delay, await (0, utils_1.get)(consts_1.default.endpoint.sex, options.useragent || '').then(res => res.body));
case 'reaction':
if (!options.img)
throw Error('No Tags provided');
if (!consts_1.default.endpoint.reaction.includes(options.img))
throw Error('Invalid parameter, please use one of the following: ' + consts_1.default.endpoint.reaction.join(', '));
const res = await (0, utils_1.get)(`https://gitlab.com/d0g/servant/-/raw/master/_constant/${options.img}.json`, options.useragent || '').then(res => res.body);
return { url: (0, utils_1.randomArray)(res, `https://gitlab.com/d0g/servant/-/raw/master/${options.img}`) };
case 'animesex':
if (!options.img)
throw Error('No Tags provided');
if (!consts_1.default.endpoint.animesex.includes(options.img))
throw Error('Invalid parameter, please use one of the following: ' + consts_1.default.endpoint.animesex.join(', '));
const gitlab = await (0, utils_1.get)(`https://gitlab.com/d0g/lewd/-/raw/master/${options.img}.json`, options.useragent || '').then(res => res.body);
return { url: (0, utils_1.randomArray)(gitlab) };
case 'gelbooru':
if (!options.tags)
throw Error('No Tags provided');
if (options.limit && (options.limit > 100 || options.limit < 25))
throw Error('Limit must be between 25 and 100');
const geltags = options.tags instanceof Array ? options.tags.join('+') : options.tags;
const gelres = (0, utils_1.ratelimit)(utils_1.delay, await (0, utils_1.get)(`${consts_1.default.endpoint.gelbooru}/?tags=${geltags}&limit=${options.limit || 50}&page=${options.page || 1}&shuffle=true`, options.useragent || '').then(res => res.body));
return gelres;
case 'r34':
if (!options.tags)
throw Error('No Tags provided');
if (options.limit && (options.limit > 100 || options.limit < 25))
throw Error('Limit must be between 25 and 100');
const r34tags = options.tags instanceof Array ? options.tags.join('+') : options.tags;
const r34res = (0, utils_1.ratelimit)(utils_1.delay, await (0, utils_1.get)(`${consts_1.default.endpoint.r34}/?tags=${r34tags}&limit=${options.limit || 50}&page=${options.page || 1}&shuffle=true`, options.useragent || '').then(res => res.body));
return r34res;
case 'safe':
if (!options.tags)
throw Error('No Tags provided');
if (options.limit && (options.limit > 100 || options.limit < 25))
throw Error('Limit must be between 25 and 100');
const safetags = options.tags instanceof Array ? options.tags.join('+') : options.tags;
const saferes = (0, utils_1.ratelimit)(utils_1.delay, await (0, utils_1.get)(`${consts_1.default.endpoint.safe}/?tags=${safetags}&limit=${options.limit || 50}&page=${options.page || 1}&shuffle=true`, options.useragent || '').then(res => res.body));
return saferes;
default:
return {
success: false,
message: 'No URL provided'
};
}
}
exports.default = request;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHNEQUF5QjtBQUN6QixtQ0FBNkQ7QUF5RnpDLG9GQXpGWCxXQUFHLE9BeUZXO0FBQUUsNEZBekZYLG1CQUFXLE9BeUZXO0FBQTNCLDBGQXpGa0IsaUJBQVMsT0F5RmxCO0FBdkZILEtBQUssVUFBVSxPQUFPLENBQUMsT0FVakM7SUFHSCxRQUFRLE9BQU8sQ0FBQyxRQUFRLEVBQUU7UUFJMUIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxJQUFBLGlCQUFTLEVBQUMsYUFBSyxFQUFFLE1BQU0sSUFBQSxXQUFHLEVBQUMsZ0JBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQWMsQ0FBQyxDQUFDLENBQUM7UUFDOUcsS0FBSyxTQUFTO1lBQ1osT0FBTyxJQUFBLGlCQUFTLEVBQUMsYUFBSyxFQUFFLE1BQU0sSUFBQSxXQUFHLEVBQUMsZ0JBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQWMsQ0FBQyxDQUFDLENBQUM7UUFDbEgsS0FBSyxNQUFNO1lBQ1QsT0FBTyxJQUFBLGlCQUFTLEVBQUMsYUFBSyxFQUFFLE1BQU0sSUFBQSxXQUFHLEVBQUMsZ0JBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQWMsQ0FBQyxDQUFDLENBQUM7UUFDL0csS0FBSyxPQUFPO1lBQ1YsT0FBTyxJQUFB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