Path: blob/master/node_modules/@bochilteam/scraper/lib/cjs/texts/textpro.js
1126 views
"use strict";1var __importDefault = (this && this.__importDefault) || function (mod) {2return (mod && mod.__esModule) ? mod : { "default": mod };3};4Object.defineProperty(exports, "__esModule", { value: true });5exports.textproList = void 0;6const got_1 = __importDefault(require("got"));7const cheerio_1 = require("cheerio");8const form_data_1 = __importDefault(require("form-data"));9const utils_js_1 = require("../utils.js");10const BASE_URL = 'https://textpro.me';11exports.textproList = (async () => (0, got_1.default)('https://raw.githubusercontent.com/BochilTeam/scraper/master/data/textpro.json').json())();12async function textpro(effect, params) {13var _a;14const list = await exports.textproList;15const textpro = list.find(({ title }) => title.toLowerCase() === effect.toLowerCase());16if (!textpro)17throw new Error(`TextPro "${effect}" not found`);18if (!Array.isArray(params))19params = [params];20const { link, parameters } = textpro;21if (parameters.length > params.length)22throw new Error(`TextPro "${effect}" requires ${parameters.length} parameters, but ${params.length} given`);23const resToken = await (0, got_1.default)(`${BASE_URL}${link}`);24const cookie = (_a = resToken.headers['set-cookie']) === null || _a === void 0 ? void 0 : _a.map(c => c.split(';')[0]).join('; ').trim();25const HEADERS = {26cookie: cookie || '__gads=ID=63da40a14f3eb127-22dccf741fd10073:T=1648080134:RT=1648080134:S=ALNI_MZfEIreNTkduqqV5CgZnuei_X1xLQ; _ga=GA1.2.342524260.1648080135; _gid=GA1.2.2036288127.1648080139; PHPSESSID=7fmr2ig9k8r7n9g9uk7fcj2ru1; _gat_gtag_UA_114571019_5=1',27'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36'28};29const $ = (0, cheerio_1.load)(resToken.body);30const token = $('#token').val();31const build_server = $('#build_server').val();32const build_server_id = $('#build_server_id').val();33const form = new form_data_1.default();34for (const param of params)35form.append('text[]', param);36form.append('submit', 'Go');37form.append('token', token);38form.append('build_server', build_server);39form.append('build_server_id', build_server_id);40const html = await (0, got_1.default)(`${BASE_URL}${link}`, {41method: 'POST',42headers: {43...HEADERS,44...form.getHeaders()45},46body: form.getBuffer()47}).text();48const $$ = (0, cheerio_1.load)(html);49const form2 = $$('#form_value').eq(0).text();50if (!form2)51throw new utils_js_1.ScraperError(`TextPro "${effect}" failed`, html);52const json = await got_1.default.post(`${BASE_URL}/effect/create-image`, {53headers: HEADERS,54form: JSON.parse(form2)55}).json();56return `${BASE_URL}${json.image || json.fullsize_image}`;57}58exports.default = textpro;59//# sourceMappingURL=textpro.js.map6061