Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Author: Gienetic
- const axios = require("axios");
- const FormData = require("form-data");
- const fs = require("fs");
- const path = require("path");
- async function generatorqrtext(
- text = "halo dunia",
- logoPath = null,
- options = {}
- ) {
- try {
- const {
- bodyColor = "#000000",
- bgColor = "#FFFFFF",
- gradientColor1 = bodyColor,
- gradientColor2 = "#FFFFFF",
- eye1Color = "#000000",
- eye2Color = "#000000",
- eye3Color = "#000000",
- eyeBall1Color = "#000000",
- eyeBall2Color = "#000000",
- eyeBall3Color = "#000000",
- body = "circle",
- eye = "frame5",
- eyeBall = "ball15",
- gradientType = "linear",
- gradientOnEyes = true,
- logoMode = "clean",
- size = 1025,
- file = "png"
- } = options;
- let uploadedLogo = null;
- if (logoPath) {
- const form = new FormData();
- form.append("file", fs.createReadStream(path.resolve(logoPath)));
- const upload = await axios.post(
- "https://api.qrcode-monkey.com/qr/uploadimage",
- form,
- {
- headers: {
- ...form.getHeaders(),
- origin: "https://www.qrcode-monkey.com",
- referer: "https://www.qrcode-monkey.com/",
- },
- }
- );
- uploadedLogo = upload.data.file;
- }
- const payload = {
- data: text,
- config: {
- body,
- eye,
- eyeBall,
- erf1: ["fh"],
- erf2: [],
- erf3: ["fh", "fv"],
- brf1: [],
- brf2: [],
- brf3: [],
- bodyColor,
- bgColor,
- eye1Color,
- eye2Color,
- eye3Color,
- eyeBall1Color,
- eyeBall2Color,
- eyeBall3Color,
- gradientColor1,
- gradientColor2,
- gradientType,
- gradientOnEyes,
- ...(uploadedLogo && {
- logo: uploadedLogo,
- logoMode,
- }),
- },
- size,
- download: "imageUrl",
- file,
- };
- const res = await axios.post(
- "https://api.qrcode-monkey.com/qr/custom",
- payload,
- {
- headers: {
- "content-type": "text/plain;charset=UTF-8",
- origin: "https://www.qrcode-monkey.com",
- referer: "https://www.qrcode-monkey.com/",
- },
- }
- );
- const imageUrl = "https:" + res.data.imageUrl;
- const img = await axios.get(imageUrl, { responseType: "arraybuffer" });
- const outputPath = path.resolve("qrcode.png");
- fs.writeFileSync(outputPath, img.data);
- return outputPath;
- } catch (err) {
- throw new Error("Gagal generate QR: " + err.message);
- }
- }
- module.exports = generatorqrtext;
Advertisement
Add Comment
Please, Sign In to add comment