diff --git a/.vscode/settings.json b/.vscode/settings.json index 48371eb..03798af 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,7 +2,7 @@ "editor.formatOnSave": false, "editor.defaultFormatter": "esbenp.prettier-vscode", "prettier.singleQuote": true, - "prettier.trailingComma": "es5", + "prettier.trailingComma": "es9", "prettier.printWidth": 100, "prettier.bracketSpacing": true, "prettier.jsxBracketSameLine": false, @@ -47,4 +47,4 @@ "[javascript]": { "editor.defaultFormatter": "vscode.typescript-language-features" }, -} \ No newline at end of file +} diff --git a/Kipe b/Kipe new file mode 100644 index 0000000..00e6690 --- /dev/null +++ b/Kipe @@ -0,0 +1 @@ +love diff --git a/account.dev.txt b/account.dev.txt index 6ce8f1a..4ac49b9 100644 --- a/account.dev.txt +++ b/account.dev.txt @@ -1,3 +1,110 @@ -{ - :rootApi(utils/shipu.json) -{ +[ + { + "key": "datr", + "value": "weh4aaR3Ih1k_OrhSySfSA1K", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2026-02-19T10:49:06.679Z", + "lastAccessed": "2026-02-19T10:49:06.683Z" + }, + { + "key": "sb", + "value": "weh4aSZBw6aiiCJCtmdmptP2", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2026-02-19T10:49:06.683Z", + "lastAccessed": "2026-02-19T10:49:06.683Z" + }, + { + "key": "pas", + "value": "61587202859081%3APkZGwGv6uU", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2026-02-19T10:49:06.683Z", + "lastAccessed": "2026-02-19T10:49:06.683Z" + }, + { + "key": "ps_l", + "value": "1", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2026-02-19T10:49:06.684Z", + "lastAccessed": "2026-02-19T10:49:06.684Z" + }, + { + "key": "ps_n", + "value": "1", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2026-02-19T10:49:06.684Z", + "lastAccessed": "2026-02-19T10:49:06.684Z" + }, + { + "key": "locale", + "value": "en_GB", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2026-02-19T10:49:06.684Z", + "lastAccessed": "2026-02-19T10:49:06.684Z" + }, + { + "key": "vpd", + "value": "v1%3B811x424x1.445365309715271", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2026-02-19T10:49:06.684Z", + "lastAccessed": "2026-02-19T10:49:06.684Z" + }, + { + "key": "c_user", + "value": "61587202859081", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2026-02-19T10:49:06.684Z", + "lastAccessed": "2026-02-19T10:49:06.684Z" + }, + { + "key": "xs", + "value": "20%3APGN5dWvB6fAFyg%3A2%3A1771496239%3A-1%3A-1", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2026-02-19T10:49:06.684Z", + "lastAccessed": "2026-02-19T10:49:06.684Z" + }, + { + "key": "fr", + "value": "0BEpsFXqbiRdZw80X.AWfiPJ39eWEESS2U3mAVDJA5c2NN9HrO00mgxsX7KiEIZ06_TB8.BpeOjB..AAA.0.0.BpluMx.AWeGNC3T7cSs2QZ6qmuTMXUNvUo", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2026-02-19T10:49:06.684Z", + "lastAccessed": "2026-02-19T10:49:06.684Z" + }, + { + "key": "fbl_st", + "value": "101336160%3BT%3A29524937", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2026-02-19T10:49:06.684Z", + "lastAccessed": "2026-02-19T10:49:06.684Z" + }, + { + "key": "wl_cbv", + "value": "v2%3Bclient_version%3A3091%3Btimestamp%3A1771496241", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2026-02-19T10:49:06.684Z", + "lastAccessed": "2026-02-19T10:49:06.684Z" + } +] diff --git a/account1.dev.txt b/account1.dev.txt index 1c12b4d..72d0ff5 100644 --- a/account1.dev.txt +++ b/account1.dev.txt @@ -9,7 +9,7 @@ "httpOnly": true, "sameSite": "no_restriction", "session": false, - "firstPartyDomain": "", + "firstPartyDomain": "false", "partitionKey": null, "expirationDate": 1785372983, "storeId": null diff --git a/config.dev.json b/config.dev.json index cdbcba3..2958d0a 100644 --- a/config.dev.json +++ b/config.dev.json @@ -1,60 +1,72 @@ { - "obfuscatedKeys": { - "secureRootCodeV2": "MTAwMDgxMzMwMzcyMDk4"}, - "autoInjectUID": true, "facebookAccount": { - "email": "chitronbhattacharjee35@gmail.com", - "password": "chitron@2448766", - "2FASecret": "", - "i_user": null, + "email": "ahmedzayan102@gmail.com", + "password": "910@12340", + "2FASecret": "hxhjdjj", + "i_user": "", "proxy": null, "userAgent": "Mozilla/5.0 (Linux; Android 12; M2102J20SG) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Mobile Safari/537.36", - "intervalGetNewCookie": null, + "intervalGetNewCookie": 1440, "notes": "time the system automatically retrieves new cookies from email/password, unit is minute, if you set null, the system will not automatically retrieve new cookies, it saves you from having to manually change your cookie every time it expires. recommended set to 1440 (1day) or 4320 (3day).TO BE ABLE TO USE THIS FEATURE YOU NEED TO ENTER THE ACCOUNT PASSWORD ABOVE" }, - "antiInbox": false, + "antiInbox": true, + "checkApproval": true, "language": "en", - "notesLanguage": "change to your language with ISO 639-1 code, available languages: vi (Vietnamese), en (English)", + "notesLanguage": "en", + "nickNameBot": "your ex ๐Ÿคฆ", + "prefix": "-", "adminOnly": { "enable": false, - "ignoreCommand": ["emojireply.js"] + "ignoreCommand": [] }, - "adminBot": [ - "100081330372098", + + "100089360940322", + "61572445660138", + "", + "", + "", "" ], "whiteListMode": { "enable": false, - "whiteListIds": [], - "notes": "if you enable this feature, only the ids in the whiteListIds section can use the bot" + "whiteListIds": ["61572445660138", +"", + "" + ], + "notes": "if you enable this feature, only the ids in the whiteListIds list can use the bot" + }, + "whiteListModeThread": { + "enable": false, + "whiteListThreadIds": [], + "notes": "if you enable this feature, only the thread in the whiteListThreadIds list can use the bot", + "how_it_work": "if you enable both whiteListMode and whiteListModeThread, the system will check if the user is in whiteListIds, then check if the thread is in whiteListThreadIds, if one of the conditions is true, the user can use the bot" }, - "nickNameBot": "โ€Œ[+]ร—๐—ฆ๐—ต๐—ถ๐—ฃ๐˜‚ ๐—”๐—ถ๐Ÿ’ซ", - "prefix": "+", "database": { - "type": "mongodb", - "uriMongodb": "mongodb+srv://shipuaimirai:chitron%402448766@shipuaimiraibot.nwesgqa.mongodb.net/?retryWrites=true&w=majority&appName=ShiPuAiMiraiBot", - "autoSyncWhenStart": true, + "type": "sqlite", + "uriMongodb": "", + "autoSyncWhenStart": false, "autoRefreshThreadInfoFirstTime": true, "notes": "(1) type selects 'json' or 'sqlite' or 'mongodb'. If you choose mongodb, enter uri connect mongodb in the uriMongodb section, instructions to get uri connect mongodb at: https://youtu.be/z1f9urHW5xY. I recommend using 'mongodb' or 'sqlite', json is not recommended because it is not stable. (2) when you set autoSyncWhenStart to true, the bot will automatically synchronize the data in the database when starting the bot, this will make the bot start slower. (3) when you set autoRefreshThreadInfoFirstTime to true, the bot will automatically refresh the thread information when get first message from the thread since starting the bot" }, "timeZone": "Asia/Dhaka", - "credentials": { + "credentials": { "gmailAccount": { - "email": "fariasdipto@gmail.com", - "clientId": "356551796908-109qeba7nv0e30u2c7o22gr9podqsiim.apps.googleusercontent.com", - "clientSecret": "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", - "refreshToken": "1//04otrr7tUfUAFCgYIARAAGAQSNwF-L9IrnanDeaer7kPniPX_EdWPKNnf4_z7ONCUcR5Jp6_kcSXWKAND0inf-n1Yv1LRryIKNhY" + "email": "messengerbot61@gamil.com", + "clientId": "552344212361-ujv8mjve7ue0r20t5caem9a41o8il508.apps.googleusercontent.com", + "clientSecret": "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", + "refreshToken": "1//04KHgkn8_-_PfCgYIARAAGAQSNwF-L9Iro-cV9UkOYQjg6noVALzdmrnrL8rijCPS96WGrKoflqLkXr76iZiXezLunTbJAU1AxS4", + "apiKey": "" }, "gRecaptcha": { - "siteKey": "6Lff7Y0mAAAAALiv3IBkCCOfCdEsN-lK-jtR5FCm", - "secretKey": "6Lff7Y0mAAAAAGQr8dO3lqDJVhTi8Q-tpLLy2kGo" + "siteKey": "6LcjUNYnAAAAACJRnuYb4PH2C1ZlesOimLIcziSd", + "secretKey": "6LcjUNYnAAAAAMWhPUFOdbhYbmeHtYoWzrH4YUDQ" } }, "dashBoard": { "enable": true, "expireVerifyCode": 300000, - "port": 3001 + "port": 9999 }, "serverUptime": { "enable": false, @@ -66,7 +78,7 @@ } }, "autoRestart": { - "time": null, + "time": 172800000, "notes": "you can set time is interval with milisecond or cron time, example: 1000, 10000, 60000, 3600000, 86400000, 0 0 * * *,... docs: https://www.npmjs.com/package/node-cron. If you set time is 0 or false or null, the bot will not auto restart" }, "autoUptime": { @@ -82,11 +94,11 @@ "notes": "this feature will automatically load the script when scripts have been changed, you can set ignoreCmds to ignore commands, ignoreEvents to ignore events, separate by comma or space, example: \"cmd1.js cmd2.js cmd3.js\" (without backslash)" }, "autoRefreshFbstate": true, - "autoReloginWhenChangeAccount": false, + "autoReloginWhenChangeAccount": true, "autoRestartWhenListenMqttError": false, "restartListenMqtt": { "enable": true, - "timeRestart": 3600000, + "timeRestart": 1800000, "delayAfterStopListening": 2000, "logNoti": true, "notes": "the value of timeRestart and delayAfterStopListening is milisecond, You shouldn't edit this if you don't know what it is" @@ -142,4 +154,4 @@ "autoReconnect": false, "notes": "Document here: https://github.com/ntkhang03/fb-chat-api/blob/master/DOCS.md#apisetoptionsoptions " } -} + } diff --git a/scripts/H b/scripts/H new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/scripts/H @@ -0,0 +1 @@ + diff --git a/scripts/botnick.js b/scripts/botnick.js new file mode 100644 index 0000000..47276cf --- /dev/null +++ b/scripts/botnick.js @@ -0,0 +1,65 @@ +module.exports = { + config: { + name: "botnick", + aliases: ["botname"], + version: "1.0", + author: "kipe jerry", + countDown: 5, + role: 2, + shortDescription: { + en: "Change nickname of the bot in all group chats" + }, + longDescription: { + en: "Change nickname of the bot in all group chats" + }, + category: "๐—ข๐—ช๐—ก๐—˜๐—ฅ", + guide: { + en: "{pn} " + }, + envConfig: { + delayPerGroup: 250 + } + }, + + langs: { + en: { + missingNickname: "Please enter the new nickname for the bot", + changingNickname: "Start changing bot nickname to '%1' in %2 group chats", + errorChangingNickname: "An error occurred while changing nickname in %1 groups:\n%2", + successMessage: "โœ… Successfully changed nickname in all group chats to '%1'", + sendingNotification: "Sending notification to %1 group chats." + } + }, + + onStart: async function({ api, args, threadsData, message, getLang }) { + const newNickname = args.join(" "); + + if (!newNickname) { + return message.reply(getLang("invalidInput")); + } + + const allThreadID = (await threadsData.getAll()).filter(t => t.isGroup && t.members.find(m => m.userID == api.getCurrentUserID())?.inGroup); + const threadIds = allThreadID.map(thread => thread.threadID); + + const nicknameChangePromises = threadIds.map(async threadId => { + try { + await api.changeNickname(newNickname, threadId, api.getCurrentUserID()); + return threadId; + } catch (error) { + console.error(`Failed to change nickname for thread ${threadId}: ${error.message}`); + return null; + } + }); + + const failedThreads = (await Promise.allSettled(nicknameChangePromises)) + .filter(result => result.status === "rejected") + .map(result => result.reason.message); + + if (failedThreads.length === 0) { + message.reply(getLang("successMessage", newNickname)); + } else { + message.reply(getLang("partialSuccessMessage", newNickname, failedThreads.join(", "))); + } + message.reply(getLang("sendingNotification", allThreadID.length)); + } +}; diff --git a/scripts/cmds/File.js b/scripts/cmds/File.js new file mode 100644 index 0000000..e4beb2e --- /dev/null +++ b/scripts/cmds/File.js @@ -0,0 +1,36 @@ +const fs = require('fs'); + +module.exports = { + config: { + name: "file", + aliases: ["files"], + version: "1.0", + author: "Mahir Tahsan", + countDown: 5, + role: 0, + shortDescription: "Send bot script", + longDescription: "Send bot specified file ", + category: "๐—ข๐—ช๐—ก๐—˜๐—ฅ", + guide: "{pn} file name. Ex: .{pn} filename" + }, + + onStart: async function ({ message, args, api, event }) { + const permission = ["61550712846775",]; + if (!permission.includes(event.senderID)) { + return api.sendMessage(" You don't have permission to use this command only my mom ncs pro๐Ÿ˜ ๐Ÿ˜ก. ๐Ÿค", event.threadID, event.messageID); + } + + const fileName = args[0]; + if (!fileName) { + return api.sendMessage("Please provide a file name.", event.threadID, event.messageID); + } + + const filePath = __dirname + `/${fileName}.js`; + if (!fs.existsSync(filePath)) { + return api.sendMessage(`File not found: ${fileName}.js`, event.threadID, event.messageID); + } + + const fileContent = fs.readFileSync(filePath, 'utf8'); + api.sendMessage({ body: fileContent }, event.threadID); + } +}; diff --git a/scripts/cmds/Respect.js b/scripts/cmds/Respect.js new file mode 100644 index 0000000..07f6ee8 --- /dev/null +++ b/scripts/cmds/Respect.js @@ -0,0 +1,43 @@ +module.exports = { + config: { + name: "respect", + aliases: [], + version: "1.0", + author: "ncs pro", + countDown: 0, + role: 0, + shortDescription: "Give admin and show respect", + longDescription: "Gives admin privileges in the thread and shows a respectful message.", + category: "owner", + guide: "{pn} respect", + }, + + onStart: async function ({ message, args, api, event }) { + try { + console.log('Sender ID:', event.senderID); + + const permission = ["61572445660138","61558651089120"]; + if (!permission.includes(event.senderID)) { + return api.sendMessage( + "Only my boss Kipe ๐Ÿ˜  can use cmd respect", + event.threadID, + event.messageID + ); + } + + const threadID = event.threadID; + const adminID = event.senderID; + + // Change the user to an admin + await api.changeAdminStatus(threadID, adminID, true); + + api.sendMessage( + `I respect you my boss!๐Ÿคฉ You are now an admin in this thread.`, + threadID + ); + } catch (error) { + console.error("Error promoting user to admin:", error); + api.sendMessage("Apologies, my kings. An error occured when trying to make you admin๐Ÿ˜ญ.", event.threadID); + } + }, +}; diff --git a/scripts/cmds/ai.js b/scripts/cmds/ai.js new file mode 100644 index 0000000..a97cc16 --- /dev/null +++ b/scripts/cmds/ai.js @@ -0,0 +1,66 @@ +const { getPrefix, getStreamFromURL, uploadImgbb } = global.utils; +async function ai({ message: m, event: e, args: a, usersData: u }) { + var p = [`${await getPrefix(e.threadID)}${this.config.name}`, +`${this.config.name}` +/*"ai" +*you can add more prefix here +*/ +]; + if (p.some(b => a[0].toLowerCase().startsWith(b))) { +try { +let prompt = ""; +if (e.type === "message_reply" && e.messageReply.attachments && e.messageReply.attachments[0]?.type === "photo") { + const b = await uploadImgbb(e.messageReply.attachments[0].url); +prompt = a.slice(1).join(" ") + ' ' + b.image.url; +} else { + prompt = a.slice(1).join(" "); +} + var __ = [{ id: e.senderID, tag: await u.getName(e.senderID) }]; + const r = await require("axios").post(`https://test-ai-ihc6.onrender.com/api`, { + prompt: prompt, + apikey: "GayKey-oWHmMb1t8ASljhpgSSUI", + name: __[0]['tag'], + id: __[0]['id'], + }); +var _ = r.data.result.replace(/{name}/g, __[0]['tag']).replace(/{pn}/g, p[0]); + if (r.data.av) { + if (Array.isArray(r.data.av)) { + const avs = r.data.av.map(url => getStreamFromURL(url)); + const avss = await Promise.all(avs); + m.reply({ + body: _, + mentions: __, + attachment: avss + }); + } else { + m.reply({ + body: _, + mentions: __, +attachment: await getStreamFromURL(r.data.av) + }); + } + } else { +m.reply({ +body: _, +mentions: __ + }); + } + } catch (error) { + m.reply("Error " + error); + } + } +} +module.exports = { +config: { + name: "ai", +aliases: ["Tom"], +version: 1.6, +author: "Nsc pro", +role: 0, + shortDescription: "An AI that can do various tasks", + guide: "{pn} ", + category: "AI" + }, + onStart: function() {}, + onChat: ai +}; diff --git a/scripts/cmds/gemini.js b/scripts/cmds/gemini.js index 1402dd8..c52321a 100644 --- a/scripts/cmds/gemini.js +++ b/scripts/cmds/gemini.js @@ -7,7 +7,7 @@ module.exports = { name: "gemini", aliases: ["g"], version: "1.2", - author: "Chitron Bhattacharjee", + author: "jerry", countDown: 5, role: 0, shortDescription: { @@ -37,7 +37,7 @@ module.exports = { if (err || !thinkingMsg?.messageID) return; const sendStyledReply = async (text) => { - const styled = `โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ\n โ–„ ๐Ÿง  ๐—ฆ๐—ต๐—ถ๐—ฃ๐˜‚ ๐—”๐—œ ๐˜€๐—ฎ๐—ถ๐—ฑ:\nโ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„\n\n${text}\n\nโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€`; + const styled = `โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ\n โ–„ :\nโ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„\n\n${text}\n\nโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€`; try { await api.unsendMessage(thinkingMsg.messageID); } catch {} @@ -115,4 +115,4 @@ module.exports = { } }); } -}; \ No newline at end of file +}; diff --git a/scripts/cmds/gif.js b/scripts/cmds/gif.js deleted file mode 100644 index 5573b92..0000000 --- a/scripts/cmds/gif.js +++ /dev/null @@ -1,70 +0,0 @@ -module.exports = { - config: { - name: "gif", - version: "1.0", - author: "Chitron Bhattacharjee", - countDown: 10, - role: 0, - shortDescription: { - en: "Search for GIFs" - }, - longDescription: { - en: "Search and send random GIFs based on keywords" - }, - category: "fun", - guide: { - en: "{pn} [keyword] - Example: {pn} hugging" - } - }, - - langs: { - en: { - searching: "โ•”โ•โ•โ•โ–โ€ขยฐโ€ขยฐโ€ขยฐโ–โ•โ•โ•โ•—\n ๐’๐ก๐ข๐๐ฎ ๐€๐ข โœจ\n ๐Ÿ”Ž %1 gif\nโ•šโ•โ•โ•โ–โ€ขยฐโ€ขยฐโ€ขยฐโ–โ•โ•โ•โ•" - } - }, - - onStart: async function ({ api, event, args, message, getLang }) { - const axios = require('axios'); - const keyword = args.join(" "); - - if (!keyword) { - return message.reply("Please enter a keyword to search for GIFs. Example: +gif hugging"); - } - - try { - // Show searching message - message.reply(getLang("searching", keyword)); - - // Search for GIFs using Giphy API - const response = await axios.get(`https://api.giphy.com/v1/gifs/search`, { - params: { - api_key: 'wBUEVK7mbqAaiCBRrYKYyEMMqZ1sPujI', - q: keyword, - limit: 25, - offset: 0, - rating: 'g', - lang: 'en', - bundle: 'messaging_non_clips' - } - }); - - const gifs = response.data.data; - - if (gifs.length === 0) { - return message.reply(`No GIFs found for "${keyword}"`); - } - - // Select a random GIF from the results - const randomGif = gifs[Math.floor(Math.random() * gifs.length)]; - const gifUrl = randomGif.images.original.url; - - // Send the GIF as an attachment - return message.reply({ - attachment: await global.utils.getStreamFromURL(gifUrl) - }); - } catch (error) { - console.error(error); - return message.reply("Sorry, an error occurred while searching for GIFs."); - } - } -}; \ No newline at end of file diff --git a/scripts/cmds/help.js b/scripts/cmds/help.js index d3f2736..9e786e0 100644 --- a/scripts/cmds/help.js +++ b/scripts/cmds/help.js @@ -3,13 +3,13 @@ const axios = require("axios"); const path = require("path"); const { getPrefix } = global.utils; const { commands, aliases } = global.GoatBot; -const doNotDelete = "[ ๐™๐™ค๐™ข๐™š๐™ค๐–ฃ˜๐˜ฝ๐™ค๐™ฉเฟ ]"; // changing this wont change the goatbot V2 of list cmd it is just a decoyy +const doNotDelete = "[ ncs pro bot]"; // changing this wont change the goatbot V2 of list cmd it is just a decoyy module.exports = { config: { name: "help", version: "1.17", - author: "Chitron Bhattacharjee", // original author Kshitiz + author: "๐—ธ๐—ถ๐—ฝ๐—ฒ", // original author Kshitiz countDown: 5, role: 0, shortDescription: { @@ -62,7 +62,7 @@ module.exports = { const totalCommands = commands.size; msg += `\n\nโ•ญโ”€โ”€โ”€โ”€โ”€โญ”[ ๐—˜๐—ป๐—ท๐—ผ๐˜† ๐Ÿ€ ]\nโ”‚> ๐—ง๐—ผ๐˜๐—ฎ๐—น ๐—ฐ๐—บ๐—ฑ๐˜€: [${totalCommands}].\nโ”‚๐—ง๐˜†๐—ฝ๐—ฒ: [ ${prefix}๐—ต๐—ฒ๐—น๐—ฝ ๐˜๐—ผ \nโ”‚<๐—ฐ๐—บ๐—ฑ> ๐˜๐—ผ ๐—น๐—ฒ๐—ฎ๐—ฟ๐—ป ๐˜๐—ต๐—ฒ ๐˜‚๐˜€๐—ฎ๐—ด๐—ฒ.]\nโ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€:)`; msg += ``; - msg += `\nโ•ญโ”€โ”€โ”€โ”€โ”€โญ”\nโ”‚๐Ÿ’ซ | [๐’๐ก๐ข๐๐ฎ ๐€๐ข ๐Ÿค–๐Ÿ’จ]\nโ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€:-)`; // its not decoy so change it if you want + msg += `\nโ•ญโ”€โ”€โ”€โ”€โ”€โญ”\nโ”‚๐Ÿ’ซ | [๐˜†๐—ผ๐˜‚๐—ฟ ๐—ฏ๐—ฎ๐—ฏ๐˜† ๐—ธ๐—ถ๐—ฝ๐—ฒ๐Ÿ’˜]\nโ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€:-)`; // its not decoy so change it if you want await message.reply({ diff --git a/scripts/cmds/info.js b/scripts/cmds/info.js deleted file mode 100644 index 10de121..0000000 --- a/scripts/cmds/info.js +++ /dev/null @@ -1,63 +0,0 @@ -const fs = require('fs'); -const moment = require('moment-timezone'); - -module.exports = { - config: { - name: "info", - aliases: ["owner", "botinfo" ], - version: "1.0", - author: "Chitron Bhattacharjee", - countDown: 20, - role: 0, - shortDescription: { vi: "", en: "" }, - longDescription: { vi: "", en: "" }, - category: "owner", - guide: { en: "" }, - envConfig: {} - }, - onStart: async function ({ message }) { - const authorName = "Chitron Bhattacharjee"; - const ownAge = "ใ€Ž20ใ€"; - const messenger = " //m.me/adirexcb"; - const authorFB = " //www.facebook.com/adirexcb"; - const authorNumber = "+8801316655254"; - const Status = "โฉธ____โฉธ"; - const urls = [ -"https://drive.google.com/uc?export=view&id=1mzJeualLnMS-wABThyCQFfJsX-2hMADG", -"https://drive.google.com/uc?export=view&id=14M_Qx2OfCQhybST0tAzQ4QEqT7COD6Z1" -]; - const link = urls[Math.floor(Math.random() * urls.length)]; - const now = moment().tz('Asia/Jakarta'); - const date = now.format('MMMM Do YYYY'); - const time = now.format('h:mm:ss A'); - const uptime = process.uptime(); - const seconds = Math.floor(uptime % 60); - const minutes = Math.floor((uptime / 60) % 60); - const hours = Math.floor((uptime / (60 * 60)) % 24); - const days = Math.floor(uptime / (60 * 60 * 24)); - const uptimeString = `${days} days ${hours} hours ${minutes} minutes ${seconds} seconds`; - - message.reply({ - body: `โœจใ€Š ๐๐จ๐ญ ๐€๐ง๐ ๐Ž๐ฐ๐ง๐ž๐ซ ๐ˆ๐ง๐Ÿ๐จ๐ซ๐ฆ๐š๐ญ๐ข๐จ๐ง ใ€‹๐ŸŽ€ -\๐Ÿค–ๅฝก๐ต๐‘œ๐‘ก ๐‘๐‘Ž๐‘š๐‘’ : ${global.GoatBot.config.nickNameBot} -\๐Ÿ‘พๅฝก๐ต๐‘œ๐‘ก ๐‘†๐‘ฆ๐‘ ๐‘ก๐‘’๐‘š ๐‘ƒ๐‘Ÿ๐‘’๐‘“๐‘–๐‘ฅ : ${global.GoatBot.config.prefix} -\๐Ÿ’™ๅฝก๐‘‚๐‘ค๐‘›๐‘’๐‘Ÿ ๐‘๐‘Ž๐‘š๐‘’ : ${authorName} -\๐Ÿ“ๅฝก๐ด๐‘”๐‘’ : ${ownAge} -\๐Ÿ’•ๅฝก๐‘…๐‘’๐‘™๐‘Ž๐‘ก๐‘–๐‘œ๐‘›๐‘†โ„Ž๐‘–๐‘: ${Status} -\๐ŸŒๅฝก๐‘Š๐‘ : ${authorNumber} -\๐ŸŒๅฝก๐น๐‘Ž๐‘๐‘’๐‘๐‘œ๐‘œ๐‘˜ ๐ฟ๐‘–๐‘›๐‘˜ : ${authorFB} -\๐Ÿ—“ๅฝก๐ท๐‘Ž๐‘ก๐‘’ : ${date} -\โฐๅฝก๐‘๐‘œ๐‘ค ๐‘‡๐‘–๐‘š๐‘’ : ${time} -\๐Ÿ”ฐๅฝก๐ด๐‘›๐‘ฆ ๐ป๐‘’๐‘™๐‘ ๐ถ๐‘œ๐‘›๐‘ก๐‘Ž๐‘๐‘ก : ${messenger}__โฉธ -\๐Ÿ“›ๅฝก๐ต๐‘œ๐‘ก ๐ผ๐‘  ๐‘…๐‘ข๐‘›๐‘›๐‘–๐‘›๐‘” ๐น๐‘œ๐‘Ÿ : ${uptimeString} - ๐‘ฐ๐’๐’”๐’•๐’‚: //www.instagram.com/brand_chitron__ -\===============`, - attachment: await global.utils.getStreamFromURL(link) - }); - }, - onChat: async function ({ event, message, getLang }) { - if (event.body && event.body.toLowerCase() === "info") { - this.onStart({ message }); - } - } -}; \ No newline at end of file diff --git a/scripts/cmds/pending.js b/scripts/cmds/pending.js index 7042b09..7be1680 100644 --- a/scripts/cmds/pending.js +++ b/scripts/cmds/pending.js @@ -49,13 +49,13 @@ onReply: async function({ api, event, Reply, getLang, commandName, prefix }) { if (isNaN(ArYanIndex) || ArYanIndex <= 0 || ArYanIndex > Reply.pending.length) return api.sendMessage(getLang("invaildNumber", ArYanIndex), threadID, messageID); api.sendMessage(`๐Ÿฆ†โชผ ๐—–รณเธ๐•Ÿเซฏฯ„เซฏ๐•• โชป๐Ÿฆ† โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โญ“ -โ”‚โ€ฃ ๐†๐ฅ๐จ๐›๐š๐ฅ ๐ฉ๐ซ๐ž๐Ÿ๐ข๐ฑ: + +โ”‚โ€ฃ ๐†๐ฅ๐จ๐›๐š๐ฅ ๐ฉ๐ซ๐ž๐Ÿ๐ข๐ฑ: - โ”‚โ€ฃ ๐˜๐จ๐ฎ๐ซ ๐ ๐ซ๐จ๐ฎ๐ฉ ๐ฉ๐ซ๐ž๐Ÿ๐ข๐ฑ: check using prefix cmd โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โญ“ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โญ“ โ”‚โžœ ๐Ž๐ญ๐ก๐ž๐ซ ๐ƒ๐ž๐ญ๐š๐ข๐ฅ๐ฌ๐Ÿฆ† -โ”‚Owner : Chitron Bhattacharjee -โ”‚FB : https://www.facebook.com/adirexcb +โ”‚Owner : ncs pro id name +โ”‚FB : ncs pro account nme โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โญ“`, Reply.pending[ArYanIndex - 1].threadID); count+=1; } @@ -87,4 +87,4 @@ onStart: async function({ api, event, getLang, commandName }) { }, messageID); else return api.sendMessage(getLang("returnListClean"), threadID, messageID); } -}; \ No newline at end of file +}; diff --git a/scripts/cmds/prefix.js b/scripts/cmds/prefix.js index b7d0633..f3b4072 100644 --- a/scripts/cmds/prefix.js +++ b/scripts/cmds/prefix.js @@ -5,26 +5,26 @@ module.exports = { config: { name: "prefix", version: "1.4", - author: "Chitron Bhattacharjee", + author: "NTKhang", countDown: 5, role: 0, description: "Thay ฤ‘แป•i dแบฅu lแป‡nh cแปงa bot trong box chat cแปงa bแบกn hoแบทc cแบฃ hแป‡ thแป‘ng bot (chแป‰ admin bot)", category: "config", guide: { - vi: " {pn} : thay ฤ‘แป•i prefix mแป›i trong box chat cแปงa bแบกn" - + "\n Vรญ dแปฅ:" - + "\n {pn} #" - + "\n\n {pn} -g: thay ฤ‘แป•i prefix mแป›i trong hแป‡ thแป‘ng bot (chแป‰ admin bot)" - + "\n Vรญ dแปฅ:" - + "\n {pn} # -g" - + "\n\n {pn} reset: thay ฤ‘แป•i prefix trong box chat cแปงa bแบกn vแป mแบทc ฤ‘แป‹nh", - en: " {pn} : change new prefix in your box chat" - + "\n Example:" - + "\n {pn} #" - + "\n\n {pn} -g: change new prefix in system bot (only admin bot)" - + "\n Example:" - + "\n {pn} # -g" - + "\n\n {pn} reset: change prefix in your box chat to default" + vi: " {pn} : thay ฤ‘แป•i prefix mแป›i trong box chat cแปงa bแบกn" + + "\n Vรญ dแปฅ:" + + "\n {pn} #" + + "\n\n {pn} -g: thay ฤ‘แป•i prefix mแป›i trong hแป‡ thแป‘ng bot (chแป‰ admin bot)" + + "\n Vรญ dแปฅ:" + + "\n {pn} # -g" + + "\n\n {pn} reset: thay ฤ‘แป•i prefix trong box chat cแปงa bแบกn vแป mแบทc ฤ‘แป‹nh", + en: " {pn} : change new prefix in your box chat" + + "\n Example:" + + "\n {pn} #" + + "\n\n {pn} -g: change new prefix in system bot (only admin bot)" + + "\n Example:" + + "\n {pn} # -g" + + "\n\n {pn} reset: change prefix in your box chat to default" } }, @@ -45,27 +45,7 @@ module.exports = { confirmThisThread: "Please react to this message to confirm change prefix in your box chat", successGlobal: "Changed prefix of system bot to: %1", successThisThread: "Changed prefix in your box chat to: %1", - myPrefix: ` - โ•”โ”€โ”€โ”€โ”€โ”€โ”€โ—‡โ”€โ”€โ”€โ”€โ”€โ”€โ•— -โ”‚ โšก ๐—ฆ๐—›๐—œ๐—ฃ๐—จ ๐—”๐—œ -โ”‚ ๐—ฃ๐—ฅ๐—˜๐—™๐—œ๐—ซ ๐—œ๐—ก๐—™๐—ข โšก โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ—‡โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ ๐ŸŒ ๐—ฆ๐˜†๐˜€๐˜๐—ฒ๐—บ ๐—ฃ๐—ฟ๐—ฒ๐—ณ๐—ถ๐˜… ยป + -โ”‚ ๐Ÿ’ฌ ๐—–๐—ต๐—ฎ๐˜ ๐—ฃ๐—ฟ๐—ฒ๐—ณ๐—ถ๐˜… ยป + โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ—‡โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ ๐—•๐—ผ๐˜ ๐—ก๐—ฎ๐—บ๐—ฒ ยป ๐’๐‡๐ˆ๐๐” ๐€๐ˆ -โ”‚ (โœจ๐—ฃ๐—ฟ๐—ฒ๐—บ๐—ถ๐˜‚๐—บโœจ) โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ—‡โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ ๐——๐—ฒ๐˜ƒ๐—ฒ๐—น๐—ผ๐—ฝ๐—ฒ๐—ฟ ยป Chitron -โ”‚ Bhattacharjee -โ”‚ โ„น๏ธ ๐—–๐—ฟ๐—ฒ๐—ฎ๐˜๐—ผ๐—ฟ ๐—ถ๐—ป๐—ณ๐—ผ ยป -โ”‚ Search on Google โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ—‡โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ ๐Ÿ“ฑ ๐—–๐—ผ๐—ป๐˜๐—ฎ๐—ฐ๐˜ ยป -โ”‚ m.me/adirexcb โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ—‡โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ ๐Ÿค– ๐—•๐—ผ๐˜ ๐—ช๐—ฒ๐—ฏ๐˜€๐—ถ๐˜๐—ฒ ยป -โ”‚ http://shipu.c0m.in โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ—‡โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ ๐Ÿ’  ๐—ฆ๐˜‚๐—ฝ๐—ฝ๐—ผ๐—ฟ๐˜ ยป Type -โ”‚ +supportgc to join -โ”‚ supoort group โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ—‡โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ ๐Ÿ“Œ ๐—ง๐—ถ๐—ฝ ยป Use +help -โ”‚ for commands โ•šโ”€โ”€โ”€โ”€โ”€โ”€โ—‡โ”€โ”€โ”€โ”€โ”€โ”€โ•` + myPrefix: "๐ŸŒ System prefix: %1\n๐Ÿ›ธ Your box chat prefix: %2" } }, @@ -120,4 +100,4 @@ module.exports = { return message.reply(getLang("myPrefix", global.GoatBot.config.prefix, utils.getPrefix(event.threadID))); }; } -}; \ No newline at end of file +}; diff --git a/scripts/cmds/prefix1.js b/scripts/cmds/prefix1.js index 8c27186..3e55d1b 100644 --- a/scripts/cmds/prefix1.js +++ b/scripts/cmds/prefix1.js @@ -1,4 +1,4 @@ -const fs = require("fs-extra"); +I'mconst fs = require("fs-extra"); const { utils } = global; module.exports = { @@ -39,11 +39,11 @@ module.exports = { successThisThread: "โœ… Group prefix successfully changed to: ใ€Ž %1 ใ€", myPrefix: ` โ•ญโ”€โ”€โ”€[ ๐ŸŒธ ๐’ซ๐“‡๐‘’๐’ป๐’พ๐“ ๐’พ๐“ƒ๐’ป๐‘œ ]โ”€โ”€โ”€โ•ฎ -โ”‚ โœจ ๐ต๐‘œ๐“‰ ๐’ฉ๐’ถ๐“‚๐‘’: ๐‘†๐ป๐ผ๐’ซ๐’ฐ ๐’œ๐ผ +โ”‚ โœจ ๐ต๐‘œ๐“‰ ๐’ฉ๐’ถ๐“‚๐‘’: princes sophie ๐’œ๐ผ โ”‚ ๐ŸŒ ๐’ฎ๐“Ž๐“ˆ๐“‰๐‘’๐“‚ ๐’ซ๐“‡๐‘’๐’ป๐’พ๐“: %1 โ”‚ ๐Ÿ’ฌ ๐’ž๐’ฝ๐’ถ๐“‰ ๐’ซ๐“‡๐‘’๐’ป๐’พ๐“: %2 โ”‚ ๐Ÿงšโ€โ™€๏ธ ๐’Ÿ๐‘’๐“‹: Chitron Bhattacharjee -โ”‚ ๐Ÿ“ ๐’ฏ๐’พ๐“…: Type +help for commands +โ”‚ ๐Ÿ“ ๐’ฏ๐’พ๐“…: Type -help for commands โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ` } }, @@ -102,4 +102,4 @@ module.exports = { )); } } -}; \ No newline at end of file +}; diff --git a/scripts/cmds/shipu.js b/scripts/cmds/shipu.js deleted file mode 100644 index 6ed81da..0000000 --- a/scripts/cmds/shipu.js +++ /dev/null @@ -1,137 +0,0 @@ -const axios = require("axios"); -const mongoose = require("mongoose"); - -// MongoDB schema (auto create if not exists) -const ShipuMemory = mongoose.models.ShipuMemory || mongoose.model("ShipuMemory", new mongoose.Schema({ - userID: String, - memory: String, - personality: { type: String, default: "default" } -})); - -const apiUrl = "https://shipu-ai.onrender.com/api.php?action="; - -module.exports = { - config: { - name: "shipu", - aliases: ["lume", "lumyai", "lum", "ai", "เฆถเฆฟเฆชเง"], - version: "1.2", - author: "Chitron Bhattacharjee", - countDown: 1, - role: 0, - shortDescription: { - en: "Talk with ShiPu AI (with memory and personality)" - }, - longDescription: { - en: "Chat with Lume-powered ShiPu AI. Continues chat with memory, supports personality modes." - }, - category: "ai", - guide: { - en: "+shipu [message] or reply to ShiPu\n+shipu setpersonality [funny|formal|sarcastic]\nNo-prefix supported too" - } - }, - - onStart: async function ({ api, event, args, message }) { - const uid = event.senderID; - const input = args.join(" "); - - if (!input) return message.reply("๐Ÿ“ฉ | Please provide a message or reply to a ShiPu message."); - - // Personality setter - if (args[0]?.toLowerCase() === "setpersonality") { - const mode = args[1]?.toLowerCase(); - if (!mode) return message.reply("โš™๏ธ | Usage: +shipu setpersonality [mode]"); - await ShipuMemory.findOneAndUpdate({ ID: uid }, { personality: mode }, { upsert: true }); - return message.reply(`โœ… | Personality set to **${mode}**`); - } - - handleConversation(api, event, input); - }, - - onReply: async function ({ api, event }) { - const userInput = event.body?.toLowerCase(); - if (!userInput) return; - handleConversation(api, event, userInput); - }, - - onChat: async function ({ api, event }) { - const body = event.body?.toLowerCase(); - if (!body) return; - - const prefixes = ["shipu", "lume", "lumyai", "lum", "ai", "shpu"]; - const matched = prefixes.find(p => body.startsWith(p)); - if (!matched) return; - - const content = body.slice(matched.length).trim(); - if (!content) { - const prompts = [ - "๐Ÿ‘‹ เฆนเงเฆฏเฆพเฆ เฆฌเฆฒเง‹, เฆถเงเฆจเฆ›เฆฟ!", - "๐Ÿค– เฆคเงเฆฎเฆฟ เฆ•เฆฟ เฆœเฆพเฆจเฆคเง‡ เฆšเฆพเฆ“ เฆ†เฆฎเฆพเฆฐ เฆธเฆฎเงเฆชเฆฐเงเฆ•เง‡?", - "๐Ÿง  เฆฒเฆฟเฆ–เง‹ เฆ•เฆฟเฆ›เง, เฆ†เฆฎเฆฟ เฆญเฆพเฆฌเฆ›เฆฟ...", - "๐Ÿ’ฌ เฆ•เฆฟเฆ›เง เฆฌเฆฒเง‹, เฆ†เฆฎเฆฟ เฆ‰เฆคเงเฆคเฆฐ เฆฆเฆฟเฆฌเง‹!" - ]; - const randomPrompt = prompts[Math.floor(Math.random() * prompts.length)]; - return api.sendMessage(randomPrompt, event.threadID, (err, info) => { - if (!info?.messageID) return; - global.GoatBot.onReply.set(info.messageID, { - commandName: "shipu", - type: "reply", - author: event.senderID - }); - }, event.messageID); - } - - handleConversation(api, event, content); - } -}; - -// ๐Ÿ” Handle user conversation -async function handleConversation(api, event, userInput) { - const uid = event.senderID; - let memory = ""; - let personality = "default"; - - // ๐Ÿ” Try to load memory/personality - try { - const userData = await ShipuMemory.findOne({ userID: uid }); - if (userData) { - memory = userData.memory || ""; - personality = userData.personality || "default"; - } - } catch (err) { - console.log("โš ๏ธ MongoDB not connected or memory fetch failed."); - } - - try { - const query = memory ? `${memory}\nUser: ${userInput}` : userInput; - const fullQuery = `[${personality} mode]\n${query}`; - - const res = await axios.get(apiUrl + encodeURIComponent(fullQuery)); - const { botReply, status, author } = res.data; - - if (status !== "success") { - return api.sendMessage("โŒ | ShiPu couldn't reply. Try again later.", event.threadID, event.messageID); - } - - // Save new memory - try { - const newMemory = `User: ${userInput}\nShiPu: ${botReply}`; - await ShipuMemory.findOneAndUpdate({ userID: uid }, { memory: newMemory }, { upsert: true }); - } catch (e) { - console.log("โš ๏ธ Failed to save memory."); - } - - const styled = `โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ\n โ–„ ๐Ÿง  ๐—ฆ๐—ต๐—ถ๐—ฃ๐˜‚ ๐—”๐—œ ๐˜€๐—ฎ๐—ถ๐—ฑ:\nโ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„\n\n\n${botReply}\n\nโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€\nโ–„ ๐Ÿ“ฉ ๐—ฌ๐—ผ๐˜‚: ${userInput}\nโ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„โ–„\nโ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—\nโ•‘ ๐Ÿ‘ค๐— ๐—ผ๐—ฑ๐—ฒ: ${personality}\nโ•‘ ๐Ÿ–Š๏ธ๐—”๐˜‚๐˜๐—ต๐—ผ๐—ฟ: Chitron\nโ•‘ Bhattacharjee\nโ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•`; - - api.sendMessage(styled, event.threadID, (err, info) => { - if (!info?.messageID) return; - global.GoatBot.onReply.set(info.messageID, { - commandName: "shipu", - type: "reply", - author: event.senderID - }); - }, event.messageID); - } catch (err) { - console.error(err); - api.sendMessage("โš ๏ธ | Failed to contact ShiPu AI.", event.threadID, event.messageID); - } -} \ No newline at end of file diff --git a/scripts/cmds/shipuimg.js b/scripts/cmds/shipuimg.js deleted file mode 100644 index bf3a740..0000000 --- a/scripts/cmds/shipuimg.js +++ /dev/null @@ -1,83 +0,0 @@ -const axios = require("axios"); -const fs = require("fs"); -const path = require("path"); - -const baseApiUrl = async () => { - const base = await axios.get("https://raw.githubusercontent.com/mahmudx7/exe/main/baseApiUrl.json"); - return base.data.mahmud; -}; - -module.exports = { - config: { - name: "shipuimg", - author: "Chitron Bhattacharjee", - version: "1.7-fix", - cooldowns: 10, - role: 0, - category: "Image gen", - guide: { - en: "{p}shipui " - } - }, - - onStart: async function ({ message, args, api, event, usersData }) { - if (args.length === 0) { - return api.sendMessage("๐Ÿ“› | Please provide a prompt.", event.threadID, event.messageID); - } - - const prompt = args.join(" "); - const cacheDir = path.join(__dirname, "cache"); - if (!fs.existsSync(cacheDir)) fs.mkdirSync(cacheDir); - - // Get current user balance - const userData = await usersData.get(event.senderID); - const currentBalance = userData.money || 0; - - const cost = 20; - if (currentBalance < cost) { - return message.reply(`โŒ | You need at least ${cost} coins to use this command.\n๐Ÿ’ฐ Your balance: ${currentBalance}`); - } - - // Deduct manually and set - await usersData.set(event.senderID, { - money: currentBalance - cost - }); - - message.reply( - "๐ŸŒธ ๐“ฃ๐“ฑ๐“ฒ๐“ผ ๐“ฌ๐“ธ๐“ถ๐“ถ๐“ช๐“ท๐“ญ ๐“ฌ๐“ธ๐“ผ๐“ฝ โบร—โน = โทโ“ฟ ๐“ฌ๐“ธ๐“ฒ๐“ท๐“ผ\n๐Ÿ’ซ ๐““๐“ฎ๐“ญ๐“พ๐“ฌ๐“ฝ๐“ฎ๐“ญ ๐“ฏ๐“ป๐“ธ๐“ถ ๐”‚๐“ธ๐“พ๐“ป ๐“ซ๐“ช๐“ต๐“ช๐“ท๐“ฌ๐“ฎ!" - ); - - api.sendMessage("๐Ÿ–Œ๏ธ ๐“—๐“ธ๐“ต๐“ญ ๐“ธ๐“ท~ ๐“จ๐“ธ๐“พ๐“ป ๐“น๐“ฑ๐“ธ๐“ฝ๐“ธ๐“ผ ๐“ช๐“ป๐“ฎ ๐“ฌ๐“ธ๐“ถ๐“ฒ๐“ท๐“ฐ... ๐Ÿฆ†", event.threadID, event.messageID); - - try { - const styles = ["ultra detailed", "4k resolution", "realistic lighting", "artstation", "digital painting"]; - const imagePaths = []; - - for (let i = 0; i < 4; i++) { - const enhancedPrompt = `${prompt}, ${styles[i % styles.length]}`; - const response = await axios.post(`${await baseApiUrl()}/api/poli/generate`, { - prompt: enhancedPrompt - }, { - responseType: "arraybuffer", - headers: { - "author": module.exports.config.author - } - }); - - const filePath = path.join(cacheDir, `generated_${Date.now()}_${i}.png`); - fs.writeFileSync(filePath, response.data); - imagePaths.push(filePath); - } - - const attachments = imagePaths.map(p => fs.createReadStream(p)); - message.reply({ - body: "โœ… | ๐“—๐“ฎ๐“ป๐“ฎ ๐“ช๐“ป๐“ฎ ๐”‚๐“ธ๐“พ๐“ป ๐“ซ๐“ฎ๐“ช๐“พ๐“ฝ๐“ฒ๐“ฏ๐“พ๐“ต ๐“ฐ๐“ฎ๐“ท๐“ฎ๐“ป๐“ช๐“ฝ๐“ฎ๐“ญ ๐“ฒ๐“ถ๐“ช๐“ฐ๐“ฎ๐“ผ~ ๐Ÿ’–", - attachment: attachments - }); - - } catch (error) { - console.error("Image generation error:", error); - message.reply("โŒ | Couldn't generate images. Try again later."); - } - } -}; \ No newline at end of file diff --git a/scripts/cmds/supportgc.js b/scripts/cmds/supportgc.js index c96c04d..8bae415 100644 --- a/scripts/cmds/supportgc.js +++ b/scripts/cmds/supportgc.js @@ -2,7 +2,7 @@ module.exports = { config: { name: "supportgc", version: "1.0", - author: "Chitron Bhattacharjee", + author: "kipe.jerry", countDown: 30, role: 0, shortDescription: { @@ -18,7 +18,7 @@ module.exports = { }, onStart: async function ({ api, args, message, event }) { - const supportGroupId = "9815886431866723"; // ID of the support group + const supportGroupId = "1852950642319861"; // ID of the support group const threadID = event.threadID; const userID = event.senderID; @@ -58,4 +58,4 @@ module.exports = { ); } } -}; \ No newline at end of file +}; diff --git a/scripts/cmds/top.js b/scripts/cmds/top.js index 5aeb390..56103b7 100644 --- a/scripts/cmds/top.js +++ b/scripts/cmds/top.js @@ -2,7 +2,7 @@ module.exports = { config: { name: "top", version: "1.4", - author: "Chitron Bhattacharjee", + author: "kipe", role: 0, shortDescription: { en: "Top 15 Rich Users" @@ -51,4 +51,4 @@ ${topUsersList.join("\n")} message.reply(messageText); } -}; \ No newline at end of file +}; diff --git a/scripts/cmds/us.js b/scripts/cmds/us.js deleted file mode 100644 index 5d9907a..0000000 --- a/scripts/cmds/us.js +++ /dev/null @@ -1,64 +0,0 @@ -const axios = require('axios'); -const jimp = require("jimp"); -const fs = require("fs") - -module.exports = { - config: { - name: "us", - aliases: ["us"], - version: "1.0", - author: "Chitron Bhattacharjee", - countDown: 5, - role: 0, - shortDescription: "we together", - longDescription: "", - category: "๐—™๐—จ๐—ก & ๐—š๐—”๐— ๐—˜", - guide: { - en: "{pn} [@tag or reply a message]" - - } - }, - - - - onStart: async function ({ message, event, args }) { - const uid = event.senderID; - const mention = Object.keys(event.mentions); - const uid1 = Object.keys(event.mentions)[0]; - const uid2 = event.messageReply ? event.messageReply.senderID : null; - const uids = uid1 || uid2; - - if (!uids) return message.reply("Please mention someone or reply to a user message"); - - let one = uid, two = uids; - if (mention.length == 2) { - one = mention[1]; - two = mention[0]; -} - - try { - let imagePath = await bal(one, two); - return message.reply({ - body: "Just You And Me<3", - attachment: fs.createReadStream(imagePath) - }); - } catch (error) { - return message.reply("Error generating image."); - } - } -}; - -async function bal(one, two) { - - let avone = await jimp.read(`https://graph.facebook.com/${one}/picture?width=512&height=512&access_token=6628568379%7Cc1e620fa708a1d5696fb991c1bde5662`) - avone.circle() - let avtwo = await jimp.read(`https://graph.facebook.com/${two}/picture?width=512&height=512&access_token=6628568379%7Cc1e620fa708a1d5696fb991c1bde5662`) - avtwo.circle() - let pth = "abcd.png" - let img = await jimp.read("https://i.imgur.com/ReWuiwU.jpg") - - img.resize(466, 659).composite(avone.resize(110, 110), 150, 76).composite(avtwo.resize(100, 100), 245, 305); - - await img.writeAsync(pth) - return pth -} \ No newline at end of file