← back to browse
goat command

botjoin

No description

0
views
0
likes
0
installs
raw source
const axios = require("axios");
const fs = require("fs-extra");
const path = require("path");

const ownerInfo = {
  name: "๐š๐š‚โ€ข ๐š๐™ธ๐š๐™ฐ๐šƒ",
  facebook: "https://facebook.com/61557500431580",
  telegram: "@rifat5546",
  supportGroup: "https://m.me/61557500431580"
};

module.exports = {
  config: {
    name: "botjoin",
    version: "2.0",
    author: "Saimx69x",
    category: "events"
  },

  onStart: async function ({ event, api, message }) {
    if (event.logMessageType !== "log:subscribe") return;

    const { threadID, logMessageData } = event;
    const botID = api.getCurrentUserID();
    const addedUsers = logMessageData.addedParticipants;

    const isBotAdded = addedUsers.some(u => u.userFbId === botID);
    if (!isBotAdded) return;

    const nickNameBot = global.GoatBot.config.nickNameBot || "Sakura Bot";
    const prefix = global.utils.getPrefix(threadID);
    const BOT_UID = botID; 

    try {
      
      await api.changeNickname(nickNameBot, threadID, botID);
    } catch (err) {
      console.warn("โš ๏ธ Nickname change failed:", err.message);
    }

    try {
      
      const API_ENDPOINT = "https://xsaim8x-xxx-api.onrender.com/api/botjoin"; 
      
      const apiUrl = `${API_ENDPOINT}?botuid=${BOT_UID}&prefix=${encodeURIComponent(prefix)}`;
      
      const tmpDir = path.join(__dirname, "..", "cache");
      await fs.ensureDir(tmpDir);
      const imagePath = path.join(tmpDir, `botjoin_image_${threadID}.png`);

      const response = await axios.get(apiUrl, { responseType: "arraybuffer" });
      fs.writeFileSync(imagePath, response.data);

      const textMsg = [
        "๐ŸŽ€ ๐“๐ก๐š๐ง๐ค ๐ฒ๐จ๐ฎ ๐Ÿ๐จ๐ซ ๐ข๐ง๐ฏ๐ข๐ญ๐ข๐ง๐  ๐ฆ๐ž ๐ŸŽ€",
        `๐Ÿ”น ๐๐จ๐ญ ๐ฉ๐ซ๐ž๐Ÿ๐ข๐ฑ: ${prefix}`,
        `๐Ÿ”ธ ๐“๐ฒ๐ฉ๐ž: ${prefix}help ๐ญ๐จ ๐ฌ๐ž๐ž ๐š๐ฅ๐ฅ ๐œ๐จ๐ฆ๐ฆ๐š๐ง๐๐ฌ`,
        "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”",
        `๐Ÿ‘‘ ๐Ž๐ฐ๐ง๐ž๐ซ: ${ownerInfo.name}`,
        `๐ŸŒ ๐…๐š๐œ๐ž๐›๐จ๐จ๐ค: ${ownerInfo.facebook}`,
        `โœˆ๏ธ ๐“๐ž๐ฅ๐ž๐ ๐ซ๐š๐ฆ: ${ownerInfo.telegram}`,
        `๐Ÿค– ๐‰๐จ๐ข๐ง ๐’๐ฎ๐ฉ๐ฉ๐จ๐ซ๐ญ ๐†๐‚: ${ownerInfo.supportGroup}`
      ].join("\n");


      await api.sendMessage({
        body: textMsg,
        attachment: fs.createReadStream(imagePath)
      }, threadID);

      fs.unlinkSync(imagePath);

    } catch (err) {
      console.error("โš ๏ธ Error sending botjoin message:", err);
      
      const fallbackMsg = [
        "๐ŸŽ€ ๐“๐ก๐š๐ง๐ค ๐ฒ๐จ๐ฎ ๐Ÿ๐จ๐ซ ๐ข๐ง๐ฏ๐ข๐ญ๐ข๐ง๐  ๐ฆ๐ž ๐ŸŽ€:",
        "โ˜Ž๏ธ ๐™ธ๐š ๐šข๐š˜๐šž ๐š‘๐šŠ๐šŸ๐šŽ ๐šŠ๐š—๐šข ๐š™๐š›๐š˜๐š‹๐š•๐šŽ๐š–๐šœ, ๐š™๐š•๐šŽ๐šŠ๐šœ๐šŽ ๐šŒ๐š˜๐š—๐š๐šŠ๐šŒ๐š ๐š๐š‘๐šŽ ๐šŠ๐š๐š–๐š’๐š—.",
        `๐Ÿ”น ๐๐จ๐ญ ๐ฉ๐ซ๐ž๐Ÿ๐ข๐ฑ: ${prefix}`,
        `๐Ÿ”ธ ๐“๐ฒ๐ฉ๐ž: ${prefix}help ๐ญ๐จ ๐ฌ๐ž๐ž ๐š๐ฅ๐ฅ ๐œ๐จ๐ฆ๐ฆ๐š๐ง๐๐ฌ`,
        "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”",
        `๐Ÿ‘‘ ๐Ž๐ฐ๐ง๐ž๐ซ: ${ownerInfo.name}`,
        `๐ŸŒ ๐…๐š๐œ๐ž๐›๐จ๐จ๐ค: ${ownerInfo.facebook}`,
        `โœˆ๏ธ ๐“๐ž๐ฅ๐ž๐ ๐ซ๐š๐ฆ: ${ownerInfo.telegram}`,
        `๐Ÿค– ๐‰๐จ๐ข๐ง ๐’๐ฎ๐ฉ๐ฉ๐จ๐ซ๐ญ ๐†๐‚: ${ownerInfo.supportGroup}`
      ].join("\n");
      api.sendMessage(fallbackMsg, threadID);
    }
  }
};

View raw file