← back to browse
goat command

gay2

Gay canvas with fixed syntax

0
views
0
likes
0
installs
raw source
const axios = require("axios");
const { createCanvas, loadImage } = require("canvas");
const fs = require("fs-extra");

module.exports = {
  config: {
    name: "gay2",
    version: "3.1",
    author: "xalman",
    countDown: 5,
    role: 0,
    shortDescription: "Gay canvas with fixed syntax",
    longDescription: "Places PFPs on background with fixed destructuring and blacklist.",
    category: "FUN & SOCIAL",
    guide: "{pn} @tag | {pn} [reply]"
  },

  onStart: async function ({ api, event, args, usersData }) {

    const { threadID, messageID, senderID, mentions, type, messageReply } = event; 
    
    let targetID;
    if (type === "message_reply") {
      targetID = messageReply.senderID;
    } else if (Object.keys(mentions).length > 0) {
      targetID = Object.keys(mentions)[0];
    } else {
      return api.sendMessage("❌ Please mention someone or reply to their message to use this command!", threadID, messageID);
    }

    const blacklistedID = "61570641868681";
    if (targetID == blacklistedID) {
      return api.sendMessage("❌ Ei user er upor ei command kaj korbe na!", threadID, messageID);
    }

    try {
      api.sendMessage("Processing...", threadID, messageID);

      const backgroundURL = "https://i.ibb.co/Ld1J2cx6/598832374d5c.png";
      const senderPFPURL = `https://graph.facebook.com/${senderID}/picture?width=512&height=512&access_token=6628568379%7Cc1e620fa708a1d5696fb991c1bde5662`;
      const targetPFPURL = `https://graph.facebook.com/${targetID}/picture?width=512&height=512&access_token=6628568379%7Cc1e620fa708a1d5696fb991c1bde5662`;

      const [bgImg, senderPFP, targetPFP] = await Promise.all([
        loadImage(backgroundURL),
        loadImage(senderPFPURL),
        loadImage(targetPFPURL)
      ]);

      const canvas = createCanvas(bgImg.width, bgImg.height);
      const ctx = canvas.getContext("2d");
      ctx.drawImage(bgImg, 0, 0, canvas.width, canvas.height);

      const drawCirclePFP = (img, x, y, size) => {
        ctx.save();
        ctx.beginPath();
        ctx.arc(x + size / 2, y + size / 2, size / 2, 0, Math.PI * 2, true);
        ctx.closePath();
        ctx.clip();
        ctx.drawImage(img, x, y, size, size);
        ctx.restore();
      };

      drawCirclePFP(senderPFP, 400, 170, 60); 
      drawCirclePFP(targetPFP, 210, 180, 60);

      const path = __dirname + `/cache/gay_${senderID}.png`;
      fs.writeFileSync(path, canvas.toBuffer("image/png"));

      return api.sendMessage({
        body: `🌈 Gay user ${await usersData.getName(targetID)}!`,
        attachment: fs.createReadStream(path)
      }, threadID, () => fs.unlinkSync(path), messageID);

    } catch (e) {
      console.error(e);
      return api.sendMessage("❌ Error: Image generate kora somvob hoyni.", threadID, messageID);
    }
  }
};

View raw file