← back to browse
goat command

pastebin

Upload local cmd to Pastebin via API

0
views
0
likes
0
installs

Aliases: past

raw source
const axios = require("axios");
const fs = require("fs");
const path = require("path");

module.exports = {
  config: {
    name: "pastebin",
    aliases: ["past"],
    version: "1.5",
    author: "Azadx69x",
    countDown: 5,
    role: 1,
    category: "utility",
    shortDescription: "Upload local cmd to Pastebin via API",
    longDescription: "Uploads any file from cmds folder using API, raw link included",
    guide: {
      en: "{pn} <filename>"
    }
  },

  onStart: async function({ api, event, args }) {
    const owners = global.azadx69x?.setting?.creator || [];
    const premium = global.azadx69x?.setting?.premium || [];
    const developers = global.azadx69x?.setting?.developer || [];
    
    const allowed = [...owners, ...premium, ...developers, "61585772322631"];

    if (!allowed.includes(event.senderID)) {
      return api.sendMessage(
        "๐Ÿšซ You don't have permission to use this command!",
        event.threadID,
        event.messageID
      );
    }

    const fileName = args[0];
    if (!fileName) {
      return api.sendMessage(
        "โŒ Please provide a file name!",
        event.threadID,
        event.messageID
      );
    }

    const cmdsFolder = path.join(__dirname, "..", "cmds");
    const possibleFiles = [
      path.join(cmdsFolder, fileName),
      path.join(cmdsFolder, fileName + ".js"),
      path.join(cmdsFolder, fileName + ".txt")
    ];

    let filePath;
    for (const f of possibleFiles) {
      if (fs.existsSync(f)) {
        filePath = f;
        break;
      }
    }

    if (!filePath) {
      return api.sendMessage(
        "โŒ File not found in cmds folder!",
        event.threadID,
        event.messageID
      );
    }

    try {
      const data = fs.readFileSync(filePath, "utf8");
      
      const apiURL = "https://azadx69x-all-apis-top.vercel.app/api/pastebin";
      const res = await axios.get(apiURL, { params: { query: data } });
      const result = res.data;

      if (!result.success) {
        return api.sendMessage(
          `โŒ Pastebin failed: ${result.message}`,
          event.threadID,
          event.messageID
        );
      }

      const msg =
`โ•”โ•โ•โŒ  ๐Ÿ“ค Pastebin Upload   โŒกโ•โ•โ•—
โ•‘
โ•‘ ๐Ÿ—‚๏ธ File Name: ${path.basename(filePath)}
โ•‘ ๐Ÿ”— Paste URL: ${result.result.paste_url}
โ•‘ ๐Ÿ“„ Raw URL: ${result.result.raw_url}
โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•`;

      return api.sendMessage(msg, event.threadID, event.messageID);

    } catch (err) {
      console.error(err);
      return api.sendMessage(
        "โŒ Failed to upload to Pastebin via API.",
        event.threadID,
        event.messageID
      );
    }
  }
};

View raw file