Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MR414N-ID
GitHub Repository: MR414N-ID/botku2
Path: blob/master/node_modules/@bochilteam/scraper/lib/esm/texts/textpro.js
1126 views
1
import got from 'got';
2
import { load } from 'cheerio';
3
import FormData from 'form-data';
4
import { ScraperError } from '../utils.js';
5
const BASE_URL = 'https://textpro.me';
6
export const textproList = (async () => got('https://raw.githubusercontent.com/BochilTeam/scraper/master/data/textpro.json').json())();
7
export default async function textpro(effect, params) {
8
var _a;
9
const list = await textproList;
10
const textpro = list.find(({ title }) => title.toLowerCase() === effect.toLowerCase());
11
if (!textpro)
12
throw new Error(`TextPro "${effect}" not found`);
13
if (!Array.isArray(params))
14
params = [params];
15
const { link, parameters } = textpro;
16
if (parameters.length > params.length)
17
throw new Error(`TextPro "${effect}" requires ${parameters.length} parameters, but ${params.length} given`);
18
const resToken = await got(`${BASE_URL}${link}`);
19
const cookie = (_a = resToken.headers['set-cookie']) === null || _a === void 0 ? void 0 : _a.map(c => c.split(';')[0]).join('; ').trim();
20
const HEADERS = {
21
cookie: 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',
22
'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'
23
};
24
const $ = load(resToken.body);
25
const token = $('#token').val();
26
const build_server = $('#build_server').val();
27
const build_server_id = $('#build_server_id').val();
28
const form = new FormData();
29
for (const param of params)
30
form.append('text[]', param);
31
form.append('submit', 'Go');
32
form.append('token', token);
33
form.append('build_server', build_server);
34
form.append('build_server_id', build_server_id);
35
const html = await got(`${BASE_URL}${link}`, {
36
method: 'POST',
37
headers: {
38
...HEADERS,
39
...form.getHeaders()
40
},
41
body: form.getBuffer()
42
}).text();
43
const $$ = load(html);
44
const form2 = $$('#form_value').eq(0).text();
45
if (!form2)
46
throw new ScraperError(`TextPro "${effect}" failed`, html);
47
const json = await got.post(`${BASE_URL}/effect/create-image`, {
48
headers: HEADERS,
49
form: JSON.parse(form2)
50
}).json();
51
return `${BASE_URL}${json.image || json.fullsize_image}`;
52
}
53
//# sourceMappingURL=textpro.js.map
54