├── lib ├── README.md ├── start.sh ├── assets │ └── asta.jpg ├── database │ ├── tempdb.js │ ├── user.js │ ├── group.js │ └── alive.js ├── plugins.js ├── ttt.js ├── class │ └── init.js ├── koyeb.js └── exif.js ├── plugins ├── maker.js ├── README.md ├── cat.js ├── dog.js ├── teddy.js ├── hack.js ├── fakereply.js ├── live.js ├── stickersearch.js ├── getall.js ├── pubg.js ├── gifsearch.js ├── _SySode.js ├── _plugins.js ├── delspam.js ├── _updater.js ├── ssaver.js ├── editorpack.js ├── drive.js ├── delete.js ├── notes.js ├── user.js ├── forex.js ├── anticall.js ├── _menu.js ├── fun.js ├── reactionpack.js ├── gfx.js ├── gfx.js.bak ├── audio.js ├── wallpaper.js ├── chats.js ├── logo.js └── news.js ├── Procfile ├── heroku.yml ├── replit ├── index.js ├── plugins.js ├── replit.nix ├── Dockerfile ├── source ├── asta.json └── whatsapp.json ├── package.json ├── config.js ├── app.json └── README.md /lib/README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /plugins/maker.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: npm start -------------------------------------------------------------------------------- /plugins/README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /lib/start.sh: -------------------------------------------------------------------------------- 1 | while true 2 | do 3 | echo "Starting ES TEAMS-MD!" 4 | node . 5 | done -------------------------------------------------------------------------------- /heroku.yml: -------------------------------------------------------------------------------- 1 | build: 2 | docker: 3 | web: Dockerfile 4 | run: 5 | web: npm start 6 | -------------------------------------------------------------------------------- /lib/assets/asta.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paskito002/ES_TEAMS-V2/HEAD/lib/assets/asta.jpg -------------------------------------------------------------------------------- /lib/database/tempdb.js: -------------------------------------------------------------------------------- 1 | 2 | const mongoose = require('mongoose'); 3 | const TempDb = new mongoose.Schema({ 4 | id: { type: String, unique: true ,required: true, default:"ᴇꜱ ᴛᴇᴀᴍꜱ-ᴛᴇᴄʜ👑"}, 5 | creator: { type: String, default: "Asta" }, 6 | data: { type: Object, default: {} } 7 | }); 8 | const dbtemp = mongoose.model("dbtemp", TempDb) 9 | module.exports = { dbtemp } 10 | -------------------------------------------------------------------------------- /replit: -------------------------------------------------------------------------------- 1 | run = "npm start || yarn start || node ." 2 | # stop = "npm stop || yarn stop" 3 | entrypoint = "config.js" 4 | hidden = [".config"] 5 | 6 | 7 | 8 | 9 | [unitTest] 10 | language = "nodejs" 11 | 12 | onBoot = "npm i || yarn" 13 | 14 | [nix] 15 | channel = "stable-23_05" 16 | 17 | [deployment] 18 | run = ["yarn","start"] 19 | deploymentTarget = "cloudrun" 20 | ignorePorts = false 21 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const bot = require(__dirname + '/lib/amd') 2 | const { VERSION } = require(__dirname + '/config') 3 | 4 | const start = async () => { 5 | Debug.info(`Starting Asta ${VERSION}`) 6 | try { 7 | await bot.init() 8 | //bot.logger.info('⏳ Database syncing!') 9 | await bot.DATABASE.sync() 10 | await bot.connect() 11 | } catch (error) { 12 | Debug.error(error); 13 | start(); 14 | } 15 | } 16 | start(); 17 | -------------------------------------------------------------------------------- /plugins/cat.js: -------------------------------------------------------------------------------- 1 | const { smd } = require("../lib"); 2 | 3 | smd( 4 | { 5 | cmdname: "cat", 6 | desc: "Send Images of randome Cats!", 7 | type: "misc", 8 | filename: __filename, 9 | }, 10 | async (m) => { 11 | try { 12 | await m.send( 13 | "https://cataas.com/cat", 14 | { caption: "*meyaoooooooooooooon!*" }, 15 | "img", 16 | m 17 | ); 18 | } catch (e) { 19 | m.error(`${e}\n\nCommand: cat`, e, false); 20 | } 21 | } 22 | ); 23 | -------------------------------------------------------------------------------- /plugins.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const path = require('path'); 3 | const directoryPath = '../plugins'; 4 | let jsFileCount = 0; 5 | 6 | fs.readdir(directoryPath, function (err, files) { 7 | if (err) { 8 | return console.log('Unable to scan directory: ' + err); 9 | } 10 | files.forEach(function (file) { 11 | if (file.endsWith('.js')) { 12 | jsFileCount++; 13 | } 14 | }); 15 | console.log(`Found ${jsFileCount} .js files in the directory.`); 16 | }); 17 | //ES TEAMS -------------------------------------------------------------------------------- /replit.nix: -------------------------------------------------------------------------------- 1 | { pkgs }: { 2 | deps = [ 3 | pkgs.nodejs 4 | pkgs.nodePackages.typescript 5 | pkgs.ffmpeg 6 | pkgs.imagemagick 7 | pkgs.git 8 | pkgs.neofetch 9 | pkgs.libwebp 10 | pkgs.speedtest-cli 11 | pkgs.wget 12 | pkgs.yarn 13 | pkgs.libuuid 14 | ]; 15 | env = { 16 | LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [ 17 | pkgs.libuuid 18 | ]; 19 | }; 20 | } 21 | 22 | 23 | -------------------------------------------------------------------------------- /plugins/dog.js: -------------------------------------------------------------------------------- 1 | const { 2 | smd 3 | } = require('../lib') 4 | smd({ 5 | cmdname: "dog", 6 | desc: "Send videos of randome dogs!", 7 | type: "misc", 8 | filename: __filename, 9 | }, 10 | async (m) => { 11 | try { 12 | const fetch = require("node-fetch"); 13 | let res = await fetch('https://random.dog/woof.json') 14 | let json = await res.json() 15 | if (json.status) return await m.reply("*Request Denied!*") 16 | m.bot.sendFileUrl(m.jid, json.url, "", m, { author: "Asta-Md" }, "video"); 17 | 18 | } catch (e) { m.error(`${e}\n\nCommand: dog`, e, false) } 19 | }) -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:lts-buster 2 | 3 | RUN apt-get update && \ 4 | apt-get install -y \ 5 | ffmpeg \ 6 | imagemagick \ 7 | webp && \ 8 | apt-get upgrade -y && \ 9 | npm i pm2 -g && \ 10 | rm -rf /var/lib/apt/lists/* 11 | 12 | RUN git clone https://github.com/DeeCeeXxx/Queen_Anita-V2 /root/DeeCeeXxx 13 | WORKDIR /root/DeeCeeXxx/ 14 | 15 | # Clear npm cache and remove node_modules directories 16 | RUN npm cache clean --force 17 | RUN rm -rf ~/node_modules 18 | 19 | COPY package.json . 20 | 21 | RUN npm install pm2 -g 22 | RUN npm install --legacy-peer-deps 23 | 24 | COPY . . 25 | 26 | EXPOSE 3000 27 | 28 | CMD ["npm","start" ] 29 | -------------------------------------------------------------------------------- /lib/database/user.js: -------------------------------------------------------------------------------- 1 | let options = { 2 | rank: Object, 3 | default: {} 4 | }; 5 | const mongoose = require("mongoose"); 6 | const UserSchema = new mongoose.Schema({ 7 | id: { 8 | type: String, 9 | required: true, 10 | unique: true 11 | }, 12 | name: { 13 | type: String 14 | }, 15 | permit: { 16 | type: String, 17 | default: "false" 18 | }, 19 | times: { 20 | type: Number, 21 | default: 0 22 | }, 23 | ban: { 24 | type: String, 25 | default: "false" 26 | }, 27 | warn: { 28 | type: Object, 29 | default: {} 30 | }, 31 | ...options 32 | }); 33 | const sck1 = mongoose.model("Sck1", UserSchema); 34 | module.exports = { 35 | sck1: sck1 36 | }; -------------------------------------------------------------------------------- /plugins/teddy.js: -------------------------------------------------------------------------------- 1 | const { 2 | smd, 3 | sleep 4 | } = require('../lib'),teddyM = {"smd" : "asta" } 5 | 6 | smd({ 7 | cmdname: "teddy", 8 | type: "fun", 9 | info: "cute teddy", 10 | on: "text" , 11 | filename: __filename, 12 | },async(citel,match , {smd}) => { 13 | let isteddy = smd ==="teddy"?true : citel.isPublic && match.toLowerCase().includes("teddy") ? true : "" 14 | if (isteddy && !teddyM[citel.id]) { 15 | teddyM[citel.id] =true; 16 | let teddy = ['❤', '💕', '😻', '🧡', '💛', '💚', '💙', '💜', '🖤', '❣', '💞', '💓', '💗', '💖', '💘', '💝', '💟', '♥', '💌', '🙂', '🤗', '😌', '😉', '🤗', '😊', '🎊', '🎉', '🎁', '🎈'] 17 | const { key } = await citel.reply( `(\\_/)\n( •.•)\n/>🤍`) 18 | for (let i = 0; i < teddy.length; i++) { 19 | await sleep(500); 20 | await citel.reply(`(\\_/)\n( •.•)\n/>${teddy[i]}`, { edit: key }) 21 | } 22 | } 23 | 24 | }) -------------------------------------------------------------------------------- /plugins/hack.js: -------------------------------------------------------------------------------- 1 | const { smd, sleep } = require('../lib'); 2 | 3 | smd({ cmdname: "hack", type: "fun", info: "hacking prank", filename: __filename }, async (citel) => { 4 | const messages = [ 5 | "Injecting Malware", 6 | " █ 10%", 7 | " █ █ 20%", 8 | " █ █ █ 30%", 9 | " █ █ █ █ 40%", 10 | " █ █ █ █ █ 50%", 11 | " █ █ █ █ █ █ 60%", 12 | " █ █ █ █ █ █ █ 70%", 13 | " █ █ █ █ █ █ █ █ 80%", 14 | " █ █ █ █ █ █ █ █ █ 90%", 15 | " █ █ █ █ █ █ █ █ █ █ 100%", 16 | "System hyjacking on process.. \\n Conecting to Server error to find 404 ", 17 | "ES TEAMS Device successfully connected... \\n Riciving data...", 18 | "Data hyjacked from divice 100% completed \\n killing all evidence killing all malwares...", 19 | " HACKING COMPLETED ", 20 | " SENDING LOG DOCUMENTS...", 21 | " SUCCESSFULLY SENT DATA AND Connection disconnected", 22 | "BACKLOGS CLEARED" 23 | ]; 24 | 25 | let editedMessage; 26 | for (const message of messages) { 27 | editedMessage = await citel.send(editedMessage || message); 28 | await sleep(1000); 29 | editedMessage = await citel.edit(editedMessage, message); 30 | } 31 | }); -------------------------------------------------------------------------------- /lib/plugins.js: -------------------------------------------------------------------------------- 1 | var commands = []; 2 | function cmd(_0x440d05, _0x57163d) { 3 | var _0x6094e7 = _0x440d05; 4 | _0x6094e7.function = _0x57163d; 5 | if (!_0x6094e7.pattern && _0x440d05.cmdname) { 6 | _0x6094e7.pattern = _0x440d05.cmdname; 7 | } 8 | if (!_0x6094e7.alias) { 9 | _0x6094e7.alias = []; 10 | } 11 | if (!_0x6094e7.dontAddCommandList) { 12 | _0x6094e7.dontAddCommandList = false; 13 | } 14 | if (!_0x6094e7.desc) { 15 | _0x6094e7.desc = _0x440d05.info ? _0x440d05.info : ""; 16 | } 17 | if (!_0x6094e7.fromMe) { 18 | _0x6094e7.fromMe = false; 19 | } 20 | if (!_0x6094e7.category) { 21 | _0x6094e7.category = _0x440d05.type ? _0x440d05.type : "misc"; 22 | } 23 | _0x6094e7.info = _0x6094e7.desc; 24 | _0x6094e7.type = _0x6094e7.category; 25 | if (!_0x6094e7.use) { 26 | _0x6094e7.use = ""; 27 | } 28 | if (!_0x6094e7.filename) { 29 | _0x6094e7.filename = "Not Provided"; 30 | } 31 | commands.push(_0x6094e7); 32 | return _0x6094e7; 33 | } 34 | const Module = { 35 | export: cmd 36 | }; 37 | module.exports = { 38 | cmd: cmd, 39 | amd: cmd, 40 | AddCommand: cmd, 41 | Function: cmd, 42 | Module: Module, 43 | smd: cmd, 44 | commands: commands, 45 | bot: cmd 46 | }; -------------------------------------------------------------------------------- /plugins/fakereply.js: -------------------------------------------------------------------------------- 1 | const { 2 | smd, 3 | prefix, 4 | } = require('../lib') 5 | 6 | smd({ 7 | cmdname: "fakereply", 8 | alias :['freply'], 9 | desc: "Create fake Reply by given texts!", 10 | type: "general", 11 | use:" msg| reply_text | number ", 12 | usage:"generates fake messages of given text and number!", 13 | filename: __filename, 14 | public : true, 15 | }, 16 | async (m,text) => { 17 | try { 18 | let types = ["text","order","contact","image" , "video"] 19 | let args = text.split("|") 20 | if(!text || args.length < 3) return await m.reply(`*Use ${prefix}fakereply text |Reply_text|2348039607375|type(text,order,contact,image,video)*`) 21 | let reply = args[0],msg = args[1],num = `${args[2].replace(/[^0-9]/g, '')}@s.whatsapp.net` , type = args[3] && types.includes(args[3])? args[3] :"text", charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',smds = 'SMD'; 22 | for (let i = 0; i < 13; i++) { smds += charset[Math.floor(Math.random() * charset.length)]; } 23 | let fak =await m.bot.fakeMessage(type,{id: smds,remoteJid:m.isGroup? m.chat : num,participant:num},msg) 24 | try{ if(type === "contact") {fak.message.contactMessage.jpegThumbnail = await m.getpp(num) }}catch(e){console.log(e)} 25 | await m.bot.sendMessage(m.chat,{text : reply}, { quoted : fak}) 26 | } catch (e) { 27 | m.error(`${e}\n\nCommand: fakereply`, e, false); 28 | } 29 | }); -------------------------------------------------------------------------------- /plugins/live.js: -------------------------------------------------------------------------------- 1 | const { smd, Config } = require('../lib') 2 | 3 | 4 | 5 | 6 | //--------------------------------------------------------------------------- 7 | smd({ 8 | pattern: "live", 9 | desc: "Show Live Time Of Pakistan", 10 | category: "fun", 11 | filename: __filename, 12 | use: '', 13 | }, 14 | async(message) => { 15 | try{ 16 | var time = `${message.time}`.replace("am",'ᴀᴍ').replace("pm",'ᴘᴍ') 17 | var date = message.date 18 | const [hours, minutes, seconds, ampm] = `${message.time}`.split(/:| /); 19 | const hrs = parseInt(hours, 10); 20 | 21 | var wish = 'ɢᴏᴏᴅ ɴɪɢʜᴛ 🌙'; 22 | if(ampm == "am"){ 23 | if ( hrs >= 0 && hrs < 5) wish = 'ɢᴏᴏᴅ ᴍᴏʀɴɪɴɢ, ᴇᴀʀʟʏ ʙɪʀᴅ! 🌄'; 24 | else if (hrs >= 5 && hrs < 12) wish = 'ɢᴏᴏᴅ ᴍᴏʀɴɪɴɢ ⛅'; 25 | }else { 26 | if (hrs >= 0 && hrs < 5) wish = 'ɢᴏᴏᴅ ᴀғᴛᴇʀɴᴏᴏɴ 🌞'; 27 | else if (hrs >= 5 && hrs < 8) wish = 'ɢᴏᴏᴅ ᴇᴠᴇɴɪɴɢ 🌥'; 28 | else wish = 'ɢᴏᴏᴅ ɴɪɢʜᴛ 🌙'; 29 | } 30 | const q =await message.bot.fakeMessage("order") 31 | let contextInfo = {...(await message.bot.contextInfo() )} 32 | let timenow =` 33 | ╭────────────────╮ 34 | │ *${wish}* 35 | │ *ᴛɪᴍᴇ* ⌚ ${time} 36 | │ *Date* 🎲 ${date} 37 | │ ${Config.caption} 38 | ╰────────────────╯ 39 | ` 40 | await message.send(timenow, {contextInfo : contextInfo },"asta", q ) 41 | }catch(e){ await message.error(`${e}\n\ncommand: live`,e,false)} 42 | 43 | }) -------------------------------------------------------------------------------- /plugins/stickersearch.js: -------------------------------------------------------------------------------- 1 | const { 2 | smd, 3 | tlang, 4 | prefix, 5 | Config, 6 | sleep, 7 | astroJson, 8 | smdBuffer 9 | } = require("../lib"); 10 | const axios = require("axios"); 11 | smd({ 12 | cmdname: "stickersearch", 13 | alias: ["sticsearch"], 14 | category: "search", 15 | use: "[text]", 16 | info: "Searches Stickers" 17 | }, async (_0x4cc234, _0xa151c7) => { 18 | try { 19 | const { 20 | generateSticker: _0x5a889c 21 | } = require("../lib"); 22 | if (!_0xa151c7) { 23 | return _0x4cc234.reply("Sorry you did not give any search term!"); 24 | } 25 | const _0x1f4c84 = await axios.get("https://g.tenor.com/v1/search?q=" + _0xa151c7 + "&key=LIVDSRZULELA&limit=8").catch(() => {}); 26 | if (!_0x1f4c84.data || !_0x1f4c84.data.results || !_0x1f4c84.data.results[0]) { 27 | return _0x4cc234.reply("*Could not find!*"); 28 | } 29 | let _0x43fcbc = _0x1f4c84.data.results.length > 5 ? 5 : _0x1f4c84.data.results.length; 30 | for (let _0x48da09 = 0; _0x48da09 < _0x43fcbc; _0x48da09++) { 31 | let _0x2a4632 = await smdBuffer(_0x1f4c84.data.results?.[_0x48da09]?.media[0]?.mp4?.url); 32 | let _0x1c1454 = { 33 | pack: Config.packname, 34 | author: Config.author, 35 | type: "full", 36 | quality: 1 37 | }; 38 | if (_0x2a4632) { 39 | _0x5a889c(_0x4cc234, _0x2a4632, _0x1c1454); 40 | } 41 | } 42 | } catch (_0x3f900e) { 43 | _0x4cc234.error(_0x3f900e + "\n\nCommand: stickersearch", _0x3f900e, "*Could not find*"); 44 | } 45 | }); -------------------------------------------------------------------------------- /plugins/getall.js: -------------------------------------------------------------------------------- 1 | const { 2 | smd, 3 | tlang, 4 | prefix, 5 | } = require('../lib') 6 | smd({ 7 | cmdname: "getall", 8 | desc: "get jid of all members of groups/pm chats/all groups.", 9 | type: "owner", 10 | fromMe:true, 11 | use:"[ members / user / groups ]", 12 | usage:"get jids of groups,personal chats, also members of group, so that used them for forward cmd!", 13 | filename: __filename, 14 | public : false, 15 | }, 16 | async (citel, text, { store }) => { 17 | try{ 18 | let str = ""; 19 | let cd = text.split(" ")[0] 20 | if(cd === "members" || cd === "member") { 21 | if (!citel.isGroup) return citel.reply(tlang("group")); 22 | const participants = citel.metadata.participants || {}; 23 | for (let i of participants) { str += `📍 ${i.id}\n`; } 24 | str ? citel.reply(`*「 LIST OF GROUP MEMBER'S JID 」*\n\n` +str) : citel.reply("*Request Denied!*") 25 | }else if(cd == "user" || cd == "pm" || cd == "pc"){ 26 | let anu = await store.chats.all().filter(v => v.id.endsWith('.net')).map(v => v) 27 | for (let i of anu) { str += `📍 ${i.id}\n` } 28 | str ? citel.reply(`*「 LIST OF PERSONAL CHAT JIDS 」*\n\nTotal ${anu.length} users are text in personal chat.\n\n` + str) : citel.reply("*Request Denied!*") 29 | }else if(cd == "group" || cd == "groups" || cd == "gc"){ 30 | n = await citel.bot.groupFetchAllParticipating(); 31 | const c=Object.entries(n).slice(0).map(t=>t[1]); 32 | for(var i of c.map(t=>t.id)){ str += `📍 ${i}\n`; } 33 | str ? citel.reply(`*「 LIST OF GROUP CHAT JIDS」*\n\n` + str) : citel.reply("*Request Denied!*") 34 | }else return await citel.reply(`*Use ${prefix}getall pc| gc| member!*`) 35 | }catch(e){ citel.error(`${e}\n\nCommand getall`,e)} 36 | }); -------------------------------------------------------------------------------- /plugins/pubg.js: -------------------------------------------------------------------------------- 1 | let { smd, textToLogoGenerator, prefix } = require(lib_dir); 2 | let pubg = { 3 | type: "pubg", 4 | info: "create pubg text logo.", 5 | filename: __filename, 6 | }; 7 | let singleText = async (message, match, { cmdName }) => { 8 | try { 9 | let logo = { 10 | pubg1: 11 | "tao-cover-game-pubg-anh-bia-game-playerunknown-s-battlegrounds-401", 12 | pubg2: "tao-anh-bia-cover-facebook-game-pubg-407", 13 | pubg3: "tao-logo-pubg-truc-tuyen-mien-phi-714", 14 | pubg4: "tao-logo-mascot-pubg-online-sieu-ngau-716", 15 | pubg5: "tao-logo-pubg-truc-tuyen-nhieu-mau-sac-717", 16 | pubg6: "tao-logo-pubg-phong-cach-chibi-online-721", 17 | }; 18 | if (!match) return message.reply(`*_Example : ${prefix + cmdName} Astro_*`); 19 | return await textToLogoGenerator( 20 | message, 21 | logo[cmdName], 22 | match, 23 | "asta", 24 | "1" 25 | ); 26 | } catch (e) { 27 | return await message.error(`${e}\n\ncmdName: ${cmdName}`, e); 28 | } 29 | }; 30 | //---------------------------------------------------------------------------------- 31 | for (cmd of ["pubg1", "pubg2", "pubg3", "pubg4", "pubg5", "pubg6"]) { 32 | smd({ cmdname: cmd, ...pubg }, singleText); 33 | } 34 | smd({ cmdname: "pubg7", ...pubg }, async (message, match, { cmdName }) => { 35 | try { 36 | let text1 = match ? match.split(";")[0] : ""; 37 | let text2 = match ? match.split(";")[1] : ""; 38 | if (!text2 || !text1) 39 | return await message.reply( 40 | `*_Example : ${prefix + cmdName} text1;text2_*` 41 | ); 42 | return await textToLogoGenerator( 43 | message, 44 | "tao-logo-pubg-truc-tuyen-phong-cach-den-trang-715", 45 | text1, 46 | text2, 47 | "1" 48 | ); 49 | } catch (e) { 50 | return await message.error(`${e}\n\ncmdName: ${cmdName}`, e); 51 | } 52 | }); 53 | -------------------------------------------------------------------------------- /lib/database/group.js: -------------------------------------------------------------------------------- 1 | let options = { 2 | disables: { 3 | type: Array, 4 | default: [] 5 | } 6 | }; 7 | const mongoose = require("mongoose"); 8 | const GroupSchema = new mongoose.Schema({ 9 | id: { 10 | type: String, 11 | unique: true, 12 | required: true 13 | }, 14 | events: { 15 | type: String, 16 | default: "false" 17 | }, 18 | nsfw: { 19 | type: String, 20 | default: "false" 21 | }, 22 | pdm: { 23 | type: String, 24 | default: "false" 25 | }, 26 | antipromote: { 27 | type: String, 28 | default: "false" 29 | }, 30 | antidemote: { 31 | type: String, 32 | default: "false" 33 | }, 34 | goodbye: { 35 | type: String, 36 | default: global.gdbye 37 | }, 38 | welcome: { 39 | type: String, 40 | default: global.wlcm 41 | }, 42 | welcometext: { 43 | type: String, 44 | default: "*@user @pp welcome to @gname" 45 | }, 46 | goodbyetext: { 47 | type: String, 48 | default: "*@user @pp left @gname" 49 | }, 50 | botenable: { 51 | type: String, 52 | default: "true" 53 | }, 54 | antilink: { 55 | type: String, 56 | default: "false" 57 | }, 58 | antiword: { 59 | type: Object, 60 | default: {} 61 | }, 62 | antifake: { 63 | type: String, 64 | default: "false" 65 | }, 66 | antispam: { 67 | type: String, 68 | default: "false" 69 | }, 70 | antibot: { 71 | type: String, 72 | default: "false" 73 | }, 74 | antitag: { 75 | type: String, 76 | default: "false" 77 | }, 78 | onlyadmin: { 79 | type: String, 80 | default: "false" 81 | }, 82 | economy: { 83 | type: String, 84 | default: "false" 85 | }, 86 | disablecmds: { 87 | type: String, 88 | default: "false" 89 | }, 90 | chatbot: { 91 | type: String, 92 | default: "false" 93 | }, 94 | mute: { 95 | type: String, 96 | default: "false" 97 | }, 98 | unmute: { 99 | type: String, 100 | default: "false" 101 | }, 102 | ...options 103 | }); 104 | const sck = mongoose.model("Sck", GroupSchema); 105 | module.exports = { 106 | sck: sck 107 | }; -------------------------------------------------------------------------------- /lib/database/alive.js: -------------------------------------------------------------------------------- 1 | let options = { 2 | temp: { 3 | type: Object, 4 | default: {} 5 | }, 6 | rent: { 7 | type: Object, 8 | default: {} 9 | } 10 | }; 11 | const mongoose = require("mongoose"); 12 | const Alive = new mongoose.Schema({ 13 | id: { 14 | type: String, 15 | unique: true, 16 | required: true, 17 | default: "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑" 18 | }, 19 | alive_text: { 20 | type: String, 21 | default: "*Im online Master *" 22 | }, 23 | alive_get: { 24 | type: String, 25 | default: "you did'nt set alive message yet\nType [.alive info] to get alive message information" 26 | }, 27 | alive_url: { 28 | type: String, 29 | default: "" 30 | }, 31 | alive_image: { 32 | type: Boolean, 33 | default: false 34 | }, 35 | alive_video: { 36 | type: Boolean, 37 | default: false 38 | }, 39 | antiviewonce: { 40 | type: String, 41 | default: "false" 42 | }, 43 | antidelete: { 44 | type: String, 45 | default: "false" 46 | }, 47 | autobio: { 48 | type: String, 49 | default: "false" 50 | }, 51 | levelup: { 52 | type: String, 53 | default: "true" 54 | }, 55 | anticall: { 56 | type: String, 57 | default: "false" 58 | }, 59 | autoreaction: { 60 | type: String, 61 | default: "true" 62 | }, 63 | permit: { 64 | type: Boolean, 65 | default: false 66 | }, 67 | permit_values: { 68 | type: String, 69 | default: "all" 70 | }, 71 | chatbot: { 72 | type: String, 73 | default: "false" 74 | }, 75 | bgm: { 76 | type: Boolean, 77 | default: false 78 | }, 79 | bgmarray: { 80 | type: Object, 81 | default: {} 82 | }, 83 | plugins: { 84 | type: Object, 85 | default: {} 86 | }, 87 | notes: { 88 | type: Object, 89 | default: {} 90 | }, 91 | mention: { 92 | type: Object, 93 | default: {} 94 | }, 95 | filter: { 96 | type: Object, 97 | default: { 98 | asta_: "yes master?" 99 | } 100 | }, 101 | afk: { 102 | type: Object, 103 | default: {} 104 | }, 105 | ...options 106 | }); 107 | const alive = mongoose.model("alive", Alive); 108 | module.exports = { 109 | alive: alive 110 | }; -------------------------------------------------------------------------------- /lib/ttt.js: -------------------------------------------------------------------------------- 1 | class TicTacToe { 2 | constructor(playerX = "x", playerO = "o") { 3 | this.playerX = playerX; 4 | this.playerO = playerO; 5 | this._currentTurn = false; 6 | this._x = 0; 7 | this._o = 0; 8 | this.turns = 0; 9 | } 10 | 11 | 12 | 13 | 14 | get board() { return this._x | this._o; } 15 | get currentTurn() {return this._currentTurn ? this.playerO : this.playerX;} 16 | 17 | get enemyTurn() { return this._currentTurn ? this.playerX : this.playerO; } 18 | 19 | static check(state) { 20 | for (let combo of [7, 56, 73, 84, 146, 273, 292, 448]) 21 | if ((state & combo) === combo) return !0; 22 | return !1; 23 | } 24 | 25 | /** 26 | * ```js 27 | * TicTacToe.toBinary(1, 2) // 0b010000000 28 | * ``` 29 | */ 30 | static toBinary(x = 0, y = 0) { 31 | if (x < 0 || x > 2 || y < 0 || y > 2) throw new Error("invalid position"); 32 | return 1 << (x + 3 * y); 33 | } 34 | 35 | /** 36 | * @param player `0` is `X`, `1` is `O` 37 | * 38 | * - `-3` `Game Ended ` 39 | * - `-2` `Invalid` 40 | * - `-1` `Invalid Position` 41 | * - ` 0` `Position Occupied` 42 | * - ` 1` `Sucess` 43 | * @returns {-3|-2|-1|0|1} 44 | */ 45 | turn(player = 0, x = 0, y) { 46 | if (this.board === 511) return -3; 47 | let pos = 0; 48 | if (y == null) { 49 | if (x < 0 || x > 8) return -1; 50 | pos = 1 << x; 51 | } else { 52 | if (x < 0 || x > 2 || y < 0 || y > 2) return -1; 53 | pos = TicTacToe.toBinary(x, y); 54 | } 55 | if (this._currentTurn ^ player) return -2; 56 | if (this.board & pos) return 0; 57 | this[this._currentTurn ? "_o" : "_x"] |= pos; 58 | this._currentTurn = !this._currentTurn; 59 | this.turns++; 60 | return 1; 61 | } 62 | 63 | /** 64 | * @returns {('X'|'O'|1|2|3|4|5|6|7|8|9)[]} 65 | */ 66 | static render(boardX = 0, boardO = 0) { 67 | let x = parseInt(boardX.toString(2), 4); 68 | let y = parseInt(boardO.toString(2), 4) * 2; 69 | return [...(x + y).toString(4).padStart(9, "0")] 70 | .reverse() 71 | .map((value, index) => (value == 1 ? "X" : value == 2 ? "O" : ++index)); 72 | } 73 | 74 | /** 75 | * @returns {('X'|'O'|1|2|3|4|5|6|7|8|9)[]} 76 | */ 77 | render() { 78 | return TicTacToe.render(this._x, this._o); 79 | } 80 | 81 | get winner() { 82 | let x = TicTacToe.check(this._x); 83 | let o = TicTacToe.check(this._o); 84 | return x ? this.playerX : o ? this.playerO : false; 85 | } 86 | } 87 | 88 | new TicTacToe().turn; 89 | 90 | module.exports = TicTacToe; 91 | -------------------------------------------------------------------------------- /plugins/gifsearch.js: -------------------------------------------------------------------------------- 1 | const _0xbf7967=_0x126c;function _0x126c(_0x1b0bbd,_0x5206f2){const _0x46988e=_0x4698();return _0x126c=function(_0x126ccc,_0x2a06c8){_0x126ccc=_0x126ccc-0x1ca;let _0x5d86d3=_0x46988e[_0x126ccc];return _0x5d86d3;},_0x126c(_0x1b0bbd,_0x5206f2);}(function(_0x150362,_0x54add6){const _0x1cef6b=_0x126c,_0x125750=_0x150362();while(!![]){try{const _0x43ccbe=-parseInt(_0x1cef6b(0x1db))/0x1*(parseInt(_0x1cef6b(0x1e1))/0x2)+parseInt(_0x1cef6b(0x1dc))/0x3+-parseInt(_0x1cef6b(0x1d4))/0x4*(-parseInt(_0x1cef6b(0x1df))/0x5)+parseInt(_0x1cef6b(0x1cf))/0x6+-parseInt(_0x1cef6b(0x1d6))/0x7*(-parseInt(_0x1cef6b(0x1d5))/0x8)+parseInt(_0x1cef6b(0x1de))/0x9*(parseInt(_0x1cef6b(0x1dd))/0xa)+-parseInt(_0x1cef6b(0x1cb))/0xb;if(_0x43ccbe===_0x54add6)break;else _0x125750['push'](_0x125750['shift']());}catch(_0x4fe958){_0x125750['push'](_0x125750['shift']());}}}(_0x4698,0x33efc));const {smd,tlang,prefix,Config,sleep,getBuffer,astroJson,smdBuffer}=require(_0xbf7967(0x1e6));function _0x4698(){const _0x4ac599=['send','\x0a\x0aCommand:\x20gifsearch','search','https://g.tenor.com/v1/search?q=','../lib','results','axios','gifsearch','length','tenor','Searches\x20gif','5385391aTAiDa','*Could\x20not\x20find*','error','data','1116846FCEohL','&key=LIVDSRZULELA&limit=8','amdvid','catch','[text]','5932wjcFWc','152upjvow','7042kRhGRX','reply','Sorry\x20you\x20did\x20not\x20give\x20any\x20search\x20term!','caption','media','2xmFRaz','677679MAFnKf','2760mdBQlD','8010AIgsFn','1255OZaaEe','get','346708ygYSEE'];_0x4698=function(){return _0x4ac599;};return _0x4698();}smd({'cmdname':_0xbf7967(0x1e9),'alias':['gify',_0xbf7967(0x1eb)],'category':_0xbf7967(0x1e4),'use':_0xbf7967(0x1d3),'info':_0xbf7967(0x1ca)},async(_0x483f63,_0x5e7b36)=>{const _0x1007f9=_0xbf7967;try{if(!_0x5e7b36)return _0x483f63[_0x1007f9(0x1d7)](_0x1007f9(0x1d8));const _0x4da793=require(_0x1007f9(0x1e8)),_0x1abfb4=await _0x4da793[_0x1007f9(0x1e0)](_0x1007f9(0x1e5)+_0x5e7b36+_0x1007f9(0x1d0))[_0x1007f9(0x1d2)](()=>{});if(!_0x1abfb4[_0x1007f9(0x1ce)]||!_0x1abfb4['data'][_0x1007f9(0x1e7)]||!_0x1abfb4[_0x1007f9(0x1ce)][_0x1007f9(0x1e7)][0x0])return _0x483f63['reply'](_0x1007f9(0x1cc));let _0xf0dc5b=_0x1abfb4[_0x1007f9(0x1ce)][_0x1007f9(0x1e7)][_0x1007f9(0x1ea)]>0x5?0x5:_0x1abfb4[_0x1007f9(0x1ce)][_0x1007f9(0x1e7)][_0x1007f9(0x1ea)];for(let _0x344f87=0x0;_0x344f87<_0xf0dc5b;_0x344f87++){_0x483f63[_0x1007f9(0x1e2)](_0x1abfb4[_0x1007f9(0x1ce)][_0x1007f9(0x1e7)]?.[_0x344f87]?.[_0x1007f9(0x1da)][0x0]?.['mp4']?.['url'],{'caption':Config[_0x1007f9(0x1d9)],'gifPlayback':!![]},_0x1007f9(0x1d1),_0x483f63);}}catch(_0x3ae817){_0x483f63[_0x1007f9(0x1cd)](_0x3ae817+_0x1007f9(0x1e3),_0x3ae817,'*Could\x20not\x20find*');}}); 2 | -------------------------------------------------------------------------------- /source/asta.json: -------------------------------------------------------------------------------- 1 | { 2 | "__JSON__": true, 3 | "AUTHOR": "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊👑", 4 | "theme": "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑", 5 | "LANGUAGE": "English", 6 | "LANGCODE": "en", 7 | "STRINGS": { 8 | "updater": { 9 | "UPDATE": "Bot is up to date.", 10 | "UPDATED_LOCAL": "Updated Bot successfully" 11 | }, 12 | "global": { 13 | "botName": "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑", 14 | "body": "Simple WhatsApp Bot", 15 | "greet2" : "GoodDay SIR", 16 | "pic1": "https://i.imgur.com/EBUvKfB.jpeg", 17 | "pic2": "https://i.imgur.com/EBUvKfB.jpeg", 18 | "pic3": "https://i.imgur.com/EBUvKfB.jpeg", 19 | "pic4": "https://i.imgur.com/EBUvKfB.jpeg", 20 | "pic5": "https://i.imgur.com/EBUvKfB.jpeg", 21 | "pic6": "https://i.imgur.com/EBUvKfB.jpeg", 22 | "pic7": "https://i.imgur.com/EBUvKfB.jpeg", 23 | "greet" : "Hey there", 24 | "dotbody" : "Oh Sir ES TEAMS My Creator.", 25 | "emojii" : "🍑", 26 | "promote": "ES TEAMS is an Admin", 27 | "pmallow": "Hello &user Do not Spam", 28 | "permited": "Hello Sir you Can Message Me Now.", 29 | "revoked" : "Hello sir your Permission was rejected.", 30 | "demote": "Admin Role Taken back", 31 | "antlink": "Es Team Link Detected.\n*I Have rremoved the violator*", 32 | "session": "\n kepp your session id safe sir", 33 | "mention": "Tag my owner", 34 | "title": "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑", 35 | "footer": "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑", 36 | "by": "Made by ES TEAMS", 37 | "chat_desc": "Options Avilable* : 1. mute\n2. unmute\n3. archive\n4. unarchive\n5. read\n6. unread\n7. delete", 38 | "success": "Es Done ✓", 39 | "dot": "Hi, Did you mean *-help?*\n just.. don't bother me while I'm eating ramen", 40 | "couple_male": "*I'm pretty sure I can't live without being helped!*", 41 | "couple_female": "*I'm pretty sure I can't live without being helped!*", 42 | "admin": "Only Group Admin can use this Command.", 43 | "botAdmin": "Make me an Admin to take action.", 44 | "owner": "It's for my owner only.", 45 | "group": "It's for Es group only.", 46 | "private": "It for my Es Owner only.", 47 | "bot": "It is for my Owner Only.", 48 | "wait": "Processing..." 49 | }, 50 | "error": { 51 | "text": "Dont touch me." 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /plugins/_SySode.js: -------------------------------------------------------------------------------- 1 | const { 2 | exec 3 | } = require("child_process"); 4 | const { 5 | plugins, 6 | smd, 7 | Config 8 | } = require("../lib"); 9 | let s_ser = true; 10 | smd( 11 | { 12 | cmdname: "shutdown", 13 | info: "To restart bot", 14 | type: "tools", 15 | fromMe: s_ser, 16 | filename: __filename, 17 | }, 18 | async (_0x514d3c) => { 19 | const { exec: _0x1912df } = require("child_process"); 20 | _0x514d3c.reply("Shutting Down"); 21 | _0x1912df("pm2 stop all"); 22 | } 23 | ); 24 | smd({ 25 | cmdname: "restart", 26 | info: "To restart bot", 27 | type: "tools", 28 | fromMe: s_ser, 29 | filename: __filename 30 | }, async _0x514d3c => { 31 | const { 32 | exec: _0x1912df 33 | } = require("child_process"); 34 | _0x514d3c.reply("Restarting"); 35 | _0x1912df("pm2 restart all"); 36 | }); 37 | smd({ 38 | cmdname: "plugins", 39 | alias: ["plugin"], 40 | type: "owner", 41 | info: "Shows list of all externally installed modules", 42 | fromMe: s_ser, 43 | filename: __filename, 44 | use: "" 45 | }, async (_0x2a10d6, _0x2420b0) => { 46 | try { 47 | let _0x4e5e2e = await plugins(_0x2a10d6, "plugins", _0x2420b0); 48 | return await _0x2a10d6.send(!_0x4e5e2e ? "*_There's no plugin install in " + Config.botname + "_*" : !_0x2420b0 ? "*All Installed Modules are:-*\n\n" + _0x4e5e2e : _0x4e5e2e); 49 | } catch (_0x21e335) { 50 | _0x2a10d6.error(_0x21e335 + " \n\ncmdName plugins\n"); 51 | } 52 | }); 53 | smd({ 54 | pattern: "remove", 55 | alias: ["uninstall"], 56 | type: "owner", 57 | info: "removes external modules.", 58 | fromMe: s_ser, 59 | filename: __filename, 60 | use: "" 61 | }, async (_0x1510c9, _0x40e763) => { 62 | if (!_0x40e763) { 63 | return await _0x1510c9.reply("*_Uhh Please, Provide Me Plugin Name_*"); 64 | } 65 | if (_0x40e763 === "alls") { 66 | return await _0x1510c9.reply(await plugins("remove", "all", __dirname)); 67 | } 68 | try { 69 | await _0x1510c9.send(await plugins(_0x1510c9, "remove", _0x40e763, __dirname), {}, "", _0x1510c9); 70 | } catch {} 71 | }); 72 | smd({ 73 | cmdname: "install", 74 | type: "owner", 75 | info: "Installs external modules..", 76 | fromMe: s_ser, 77 | filename: __filename, 78 | use: "" 79 | }, async (_0xf71b5c, _0x2bdd09) => { 80 | let _0x2b0828 = _0x2bdd09 ? _0x2bdd09 : _0xf71b5c.quoted ? _0xf71b5c.quoted.text : ""; 81 | if (!_0x2b0828.toLowerCase().includes("https")) { 82 | return await _0xf71b5c.send("*_Uhh Please, Provide Me Plugin Url_*"); 83 | } 84 | await _0xf71b5c.reply(await plugins(_0xf71b5c, "install", _0x2b0828, __dirname)); 85 | }); -------------------------------------------------------------------------------- /plugins/_plugins.js: -------------------------------------------------------------------------------- 1 | const { plugins, smd, Config } = require("../lib"); 2 | let s_ser = true; 3 | 4 | // Restart command 5 | smd( 6 | { 7 | cmdname: "restart", 8 | info: "To restart bot", 9 | type: "tools", 10 | fromMe: s_ser, 11 | filename: __filename, 12 | }, 13 | async (cld) => { 14 | const { exec } = require("child_process"); 15 | cld.reply("Restarting"); 16 | exec("pm2 restart all"); 17 | } 18 | ); 19 | 20 | // ShutDown command 21 | smd( 22 | { 23 | cmdname: "shutdown", 24 | info: "To shutdown bot", 25 | type: "tools", 26 | fromMe: s_ser, 27 | filename: __filename, 28 | }, 29 | async (cld) => { 30 | const { exec } = require("child_process"); 31 | cld.reply("Shutting down"); 32 | exec("pm2 stop all"); 33 | } 34 | ); 35 | 36 | // Installed plugins command 37 | smd( 38 | { 39 | cmdname: "plugins", 40 | alias: ["plugin"], 41 | type: "owner", 42 | info: "Shows list of all externally installed modules", 43 | fromMe: s_ser, 44 | filename: __filename, 45 | use: "", 46 | }, 47 | async (cld, pluginName) => { 48 | try { 49 | let installedPlugins = await plugins(cld, "plugins", pluginName); 50 | return await cld.send( 51 | !installedPlugins 52 | ? "*_There's no plugin install in " + Config.botname + "_*" 53 | : !pluginName 54 | ? "*All Installed Modules are:-*\n\n" + installedPlugins 55 | : installedPlugins 56 | ); 57 | } catch (err) { 58 | cld.error(err + " \n\ncmdName plugins\n"); 59 | } 60 | } 61 | ); 62 | 63 | // Remove plugin command 64 | smd( 65 | { 66 | pattern: "uninstall", 67 | alias: ["remove"], 68 | type: "owner", 69 | info: "removes external modules.", 70 | fromMe: s_ser, 71 | filename: __filename, 72 | use: "", 73 | }, 74 | async (cld, pluginName) => { 75 | if (!pluginName) { 76 | return await cld.reply("*_Uhh Please, Provide Me Plugin Name_*"); 77 | } 78 | if (pluginName === "alls") { 79 | return await cld.reply(await plugins("remove", "all", __dirname)); 80 | } 81 | try { 82 | await cld.send( 83 | await plugins(cld, "remove", pluginName, __dirname), 84 | {}, 85 | "", 86 | cld 87 | ); 88 | } catch {} 89 | } 90 | ); 91 | 92 | // Install plugin command 93 | smd( 94 | { 95 | cmdname: "install", 96 | type: "owner", 97 | info: "Installs external modules..", 98 | fromMe: s_ser, 99 | filename: __filename, 100 | use: "", 101 | }, 102 | async (cld, pluginUrl) => { 103 | let url = pluginUrl 104 | ? pluginUrl 105 | : cld.quoted 106 | ? cld.quoted.text 107 | : ""; 108 | if (!url.toLowerCase().includes("https")) { 109 | return await cld.send("*_Uhh Please, Provide Me Plugin Url_*"); 110 | } 111 | await cld.reply(await plugins(cld, "install", url, __dirname)); 112 | } 113 | ); -------------------------------------------------------------------------------- /lib/class/init.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var fetch = require("node-fetch"); 3 | var FormData = require("form-data"); 4 | var crypto = require("crypto"); 5 | var acr = /** @class */ (function () { 6 | function acr(config) { 7 | this.endpoint = "/v1/identify"; 8 | this.signature_version = "1"; 9 | var host = config.host, access_key = config.access_key, access_secret = config.access_secret, data_type = config.data_type, audio_format = config.audio_format, sample_rate = config.sample_rate, audio_channels = config.audio_channels; 10 | this.host = host || "identify-us-west-2.acrcloud.com"; 11 | this.access_key = access_key; 12 | this.access_secret = access_secret; 13 | this.data_type = data_type || "audio"; 14 | // Optional settings 15 | this.audio_format = audio_format || ""; 16 | this.sample_rate = sample_rate || ""; 17 | this.audio_channels = audio_channels || 2; 18 | } 19 | 20 | // Builds a signature string for making API requests 21 | acr.prototype.buildStringToSign = function (method, uri, accessKey, dataType, signatureVersion, timestamp) { 22 | return [method, uri, accessKey, dataType, signatureVersion, timestamp].join("\n"); 23 | }; 24 | // Signs a signature string 25 | acr.prototype.sign = function (string, access_secret) { 26 | return crypto 27 | .createHmac("sha1", access_secret) 28 | .update(Buffer.from(string, "utf-8")) 29 | .digest() 30 | .toString("base64"); 31 | }; 32 | // Generates form data from an object 33 | acr.prototype.generateFormData = function (object) { 34 | var form = new FormData(); 35 | Object.keys(object).forEach(function (key) { 36 | form.append(key, object[key]); 37 | }); 38 | return form; 39 | }; 40 | /** 41 | * Identify an audio track from a file path 42 | * @param {Buffer} audio_sample A file path to an audio file or a buffer from an audio sample of the audio you want to identify 43 | * @returns {Promise} response JSON from ACRCloud https://www.acrcloud.com/docs/acrcloud/metadata/music/ 44 | */ 45 | acr.prototype.identify = function (audio_sample) { 46 | var current_date = new Date(); 47 | var timestamp = current_date.getTime() / 1000; 48 | var stringToSign = this.buildStringToSign("POST", this.endpoint, this.access_key, this.data_type, this.signature_version, timestamp); 49 | var signature = this.sign(stringToSign, this.access_secret); 50 | var formData = { 51 | sample: audio_sample, 52 | access_key: this.access_key, 53 | data_type: this.data_type, 54 | signature_version: this.signature_version, 55 | signature: signature, 56 | sample_bytes: audio_sample.length, 57 | timestamp: timestamp 58 | }; 59 | return fetch("https://" + this.host + "/" + this.endpoint, { 60 | method: "POST", 61 | body: this.generateFormData(formData) 62 | }).then(function (response) { return response.json(); }); 63 | }; 64 | return acr; 65 | }()); 66 | module.exports = acr; -------------------------------------------------------------------------------- /plugins/delspam.js: -------------------------------------------------------------------------------- 1 | const _0x9b7f14=_0x29a8;function _0x29a8(_0x5907cd,_0x661b1b){const _0x447193=_0x4471();return _0x29a8=function(_0x29a8ab,_0x15a348){_0x29a8ab=_0x29a8ab-0x11a;let _0x5c839e=_0x447193[_0x29a8ab];return _0x5c839e;},_0x29a8(_0x5907cd,_0x661b1b);}(function(_0x55bf91,_0x298060){const _0x3864a9=_0x29a8,_0x24f862=_0x55bf91();while(!![]){try{const _0x1ef52f=parseInt(_0x3864a9(0x129))/0x1+-parseInt(_0x3864a9(0x11c))/0x2+parseInt(_0x3864a9(0x126))/0x3*(-parseInt(_0x3864a9(0x131))/0x4)+-parseInt(_0x3864a9(0x12a))/0x5*(-parseInt(_0x3864a9(0x132))/0x6)+parseInt(_0x3864a9(0x11b))/0x7*(-parseInt(_0x3864a9(0x134))/0x8)+parseInt(_0x3864a9(0x136))/0x9*(parseInt(_0x3864a9(0x128))/0xa)+-parseInt(_0x3864a9(0x127))/0xb;if(_0x1ef52f===_0x298060)break;else _0x24f862['push'](_0x24f862['shift']());}catch(_0x550c1b){_0x24f862['push'](_0x24f862['shift']());}}}(_0x4471,0xa84a0));const {smd,tlang,prefix,Config,sleep,getBuffer,astroJson,smdBuffer}=require('../lib');function _0x4471(){const _0x379ec1=['delete\x20messages\x20of\x20user\x20from\x20chat','push','9Hpayhb','14999754EuLHYo','15310sAUirm','1354299vKuoDl','458940sDBPGn','loadMessages','delete','mentionedJid','quoted','length','*Please\x20reply/@user\x20to\x20delete\x20messages!*\x0a*Use\x20\x27','1129184EERQxN','84idrfTn','delspam','8AlKuqY','delete\x20messages\x20of\x20replied/@mentioned\x20user\x20from\x20chat\x20by\x20giving\x20number\x20of\x20messages!','7173xjgdmy','admin','log','3196067ajKqLk','1006286EUwSZR','send','split','includes','tech','group','dlspam','participant'];_0x4471=function(){return _0x379ec1;};return _0x4471();}async function loadMessages(_0x29790e,_0x550013,_0x11f938=''){const _0x4dd5b2=_0x29a8;try{_0x11f938=(_0x11f938?_0x11f938:_0x550013)[_0x4dd5b2(0x11e)]('@')[0x0];let _0x3edb4f=await _0x29790e[_0x4dd5b2(0x12b)](_0x550013),_0x438080=[];for(let _0x10cec1=0x0;_0x10cec1<_0x3edb4f[_0x4dd5b2(0x12f)];_0x10cec1++){_0x3edb4f[_0x10cec1]['key'][_0x4dd5b2(0x123)]?.[_0x4dd5b2(0x11f)](_0x11f938)&&_0x438080[_0x4dd5b2(0x125)](_0x3edb4f[_0x10cec1]);}return _0x438080;}catch(_0x5085fb){return console[_0x4dd5b2(0x11a)](_0x5085fb),[];}}smd({'pattern':_0x9b7f14(0x133),'alias':[_0x9b7f14(0x122)],'category':_0x9b7f14(0x120),'desc':_0x9b7f14(0x124),'use':'[\x204/\x206/\x2010\x20]','usage':_0x9b7f14(0x135),'filename':__filename},async(_0x4dc028,_0x422147,{store:_0x205c9c})=>{const _0x29e0b0=_0x9b7f14;try{if(!_0x4dc028['isGroup'])return await _0x4dc028[_0x29e0b0(0x11d)](tlang(_0x29e0b0(0x121)));if(!_0x4dc028['isBotAdmin'])return await _0x4dc028[_0x29e0b0(0x11d)]('I\x20am\x20Not\x20Admin!');if(!_0x4dc028['isAdmin']&&!_0x4dc028['isCreator'])return await _0x4dc028['send'](tlang(_0x29e0b0(0x137)));let _0x2505f5=_0x4dc028['quoted']?_0x4dc028[_0x29e0b0(0x12e)]['senderNum']:_0x4dc028[_0x29e0b0(0x12d)][0x0]?_0x4dc028['mentionedJid'][0x0]:![];if(!_0x2505f5)return await _0x4dc028['send'](_0x29e0b0(0x130)+prefix+'delspam\x205\x20@user\x27\x20(delete\x205\x20msgs)*');let _0x49d301=await loadMessages(_0x205c9c,_0x4dc028['chat'],_0x2505f5),_0x5b8854=parseInt(_0x422147[_0x29e0b0(0x11e)]('\x20')[0x0])||0x5,_0x4e3941=_0x49d301[_0x29e0b0(0x12f)]-_0x5b8854;for(let _0xdded2a=_0x49d301['length']-0x1;_0xdded2a>=_0x4e3941;_0xdded2a--){try{_0x49d301[_0xdded2a]&&await _0x4dc028[_0x29e0b0(0x12c)](_0x49d301[_0xdded2a]);}catch(_0x4bd6df){}}}catch(_0x490288){console[_0x29e0b0(0x11a)](_0x490288);}}); 2 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑", 3 | "version": "2.5.0", 4 | "description": "Multi device whatsapp bot by ES TEAMS.", 5 | "main": "index.js", 6 | "type": "commonjs", 7 | "scripts": { 8 | "run": "pm2 start . --deep-monitoring --attach --name 𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑 || node .", 9 | "asta": "pm2 start . --deep-monitoring --attach --name 𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑 || node .", 10 | "start": "pm2 start . --attach --name Queen_Anita-V2", 11 | "stop": "pm2 stop 𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑", 12 | "heroku-postbuild": "git clone https://github.com/DeeCeeXxx/Queen_Anita-V2 temp && mv temp/.git .git && rm -rf temp && npx puppeteer@latest install --y", 13 | "fis-heroku-postbuild": "git clone https://github.com/DeeCeeXxx/Queen_Anita-V2.git temp1 && rsync -av temp1/* ./ && rsync -av temp1/.* ./ && rm -rf temp1 && npm i && npx puppeteer@latest install", 14 | "postinstall": "npx puppeteer@latest install --y" 15 | }, 16 | "author": "ES TEAMS", 17 | "license": "Apache-2.0", 18 | "dependencies": { 19 | "@adiwajshing/keyed-db": "^0.2.4", 20 | "@hapi/boom": "^9.1.4", 21 | "@whiskeysockets/baileys": "6.6.0", 22 | "acrcloud": "^1.4.0", 23 | "anime-character-random": "latest", 24 | "aptoide-scraper": "^1.0.1", 25 | "async-g-i-s": "^1.4.0", 26 | "axios": "^0.24.0", 27 | "canvas": "^2.11.2", 28 | "cheerio": "^1.0.0-rc.10", 29 | "child_process": "^1.0.2", 30 | "crypto-js": "latest", 31 | "discord-mongoose-economy": "^1.2.0", 32 | "@distube/ytdl-core": "^4.13.5", 33 | "discord-xp": "^1.1.16", 34 | "dotenv": "^16.0.0", 35 | "express": "^4.18.1", 36 | "ffmpeg": "^0.0.4", 37 | "file-type": "^16.5.3", 38 | "fluent-ffmpeg": "^2.1.2", 39 | "form-data": "^4.0.0", 40 | "fs-extra": "^10.1.0", 41 | "google-it": "^1.6.4", 42 | "google-tts-api": "^2.0.2", 43 | "heroku-client": "3.1.0", 44 | "human-readable": "^0.2.1", 45 | "jimp": "^0.16.1", 46 | "jsdom": "^16.4.0", 47 | "koyeb-api-client": "latest", 48 | "link-preview-js": "^3.0.0", 49 | "moment-timezone": "^0.5.34", 50 | "mongoose": "^6.2.1", 51 | "mumaker": "^2.0.0", 52 | "node-cron": "^3.0.0", 53 | "node-fetch": "^2.6.1", 54 | "node-webpmux": "^3.1.0", 55 | "pastebin-js": "latest", 56 | "path": "^0.12.7", 57 | "pg": "^8.11.3", 58 | "pm2": "^5.2.0", 59 | "puppeteer": "latest", 60 | "qrcode": "latest", 61 | "secktor-pack": "latest", 62 | "simple-git": "^3.15.1", 63 | "translatte": "^3.0.1", 64 | "util": "^0.12.4", 65 | "wa-sticker-formatter": "^4.3.2", 66 | "youtube-yts": "^2.0.0", 67 | "youtubedl-core": "^4.11.7", 68 | "yt-search": "^2.10.4", 69 | "mouricedevs": "npm:@distube/ytdl-core@latest" 70 | }, 71 | "directories": { 72 | "lib": "lib", 73 | "plugins": "plugins" 74 | }, 75 | "devDependencies": { 76 | "pino": "^7.0.5" 77 | }, 78 | "repository": { 79 | "type": "git", 80 | "url": "git+https://github.com/DeeCeeXxx/Queen_Anita-V2.git" 81 | }, 82 | "bugs": { 83 | "url": "https://github.com/DeeCeeXxx/Queen_Anita-V2/issues" 84 | }, 85 | "homepage": "https://github.com/DeeCeeXxx/Queen_Anita-V2#readme" 86 | } 87 | -------------------------------------------------------------------------------- /source/whatsapp.json: -------------------------------------------------------------------------------- 1 | { 2 | "__JSON__": true, 3 | "AUTHOR": "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊👑", 4 | "Theme": "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑", 5 | "LANGCODE": "en", 6 | "STRINGS": { 7 | "updater": { 8 | "UPDATE": "*Your bot is already on latest version Sir*", 9 | "NEW_UPDATE": "*There is a new update available for the bot!*\n\n*Changes:*\n", 10 | "UPDATED_LOCAL": "*Successfully Updated!*" 11 | }, 12 | "global": { 13 | "botName": "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑", 14 | "body": "As always Sir.", 15 | "greet2" : "Hello Sir", 16 | "pic1": "https://i.imgur.com/OQOH4Gn.jpeg", 17 | "pic2": "https://i.imgur.com/OQOH4Gn.jpeg", 18 | "pic3": "https://i.imgur.com/OQOH4Gn.jpeg", 19 | "pic4": "https://i.imgur.com/OQOH4Gn.jpeg", 20 | "pic5": "https://telegra.ph/file/87c16c8681f3859ec4e80.jpg", 21 | "pic6": "https://i.imgur.com/lIo3cM2.jpeg", 22 | "pic7": "https://i.imgur.com/lIo3cM2.jpeg", 23 | "greet" : "Sir", 24 | "dotbody" : "Oh, hello sir..", 25 | "promote": "Admin Role Privileged", 26 | "pmallow": "*Hii,This is 𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑r*\n*An assistant of My Master.*\nMy Master is busy right now.\nKindly Leave your Message.\n\n_I will inform him about your message asap......_", 27 | "pmblock": "❌ Blocked*\n\n You have been blocked for spamming.\n\n _𝐏𝐨𝐰𝐞𝐫𝐞𝐝 𝐛𝐲 𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑", 28 | "pmwarn": "✋Hii* \nPlease don't spam else I'll block you for spamming. _You have ${checkPermit.times} warning(s).", 29 | "permited": "Hii ${tname}*\n\nNow You are permitted by my owner to pm now.\n\n *𝐏𝐨𝐰𝐞𝐫𝐞𝐝 𝐛𝐲 𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑*", 30 | "revoked" : "*Hii ${tname}*\n\nYour pm permit permission has been prevoked now.\n\n _ 𝐏𝐨𝐰𝐞𝐫𝐞𝐝 𝐛𝐲 𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑", 31 | "demote": "Uhh,Admin Role Taken back", 32 | "antlink": "Es Link Detected.\n*Good Bye Bro*", 33 | "session": "\n*This is your session.sam.json,keep it safe", 34 | "mention": " Please atleast mention any user bro.", 35 | "title": "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑", 36 | "footer": "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑", 37 | "by": "Made by: *𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍👑*", 38 | "chat_desc": "Options Avilable* : 1. mute\n2. unmute\n3. archive\n4. unarchive\n5. read\n6. unread\n7. delete", 39 | "success": "Done ✓", 40 | "dot": "Hii Sir, Did you mean *-help?*", 41 | "couple_male": "*I dont want to die alone,I want a female yaar*", 42 | "couple_female": "*I dont want to die alone,I want a male yaar*", 43 | "admin": "𝑇ℎ𝑖𝑠 𝑐𝑜𝑚𝑚𝑎𝑛𝑑 𝑖𝑠 𝑜𝑛𝑙𝑦 𝑓𝑜𝑟 𝑔𝑟𝑜𝑢𝑝 𝐴𝑑𝑚𝑖𝑛⚠️!", 44 | "botAdmin": "𝑃𝑙𝑒𝑎𝑠𝑒 𝑃𝑟𝑜𝑣𝑖𝑑𝑒 𝑚𝑒 𝐴𝑑𝑚𝑖𝑛 𝑅𝑜𝑙𝑒 𝑆𝑖𝑟.❗", 45 | "owner": "𝐓𝐡𝐢𝐬 𝐂𝐨𝐦𝐦𝐚𝐧𝐝 𝐢𝐬 𝐨𝐧𝐥𝐲 𝐟𝐨𝐫 𝐌𝐲 𝐎𝐰𝐧𝐞𝐫 ⚠️", 46 | "group": "𝑻𝒉𝒊𝒔 𝑭𝒆𝒂𝒕𝒖𝒓𝒆 𝒊𝒔 𝑶𝒏𝒍𝒚 𝑭𝒐𝒓 𝑮𝒓𝒐𝒖𝒑𝒔❗", 47 | "private": "𝑻𝒉𝒊𝒔 𝒇𝒆𝒂𝒕𝒖𝒓𝒆 𝒊𝒏 𝒐𝒏𝒍𝒚 𝒇𝒐𝒓 𝒕𝒉𝒆 𝐌𝐲 𝐎𝐰𝐧𝐞𝐫 ⚠️", 48 | "bot": "𝑻𝒉𝒊𝒔 𝒇𝒆𝒂𝒕𝒖𝒓𝒆 𝒊𝒏 𝒐𝒏𝒍𝒚 𝒇𝒐𝒓 𝒕𝒉𝒆 𝒃𝒐𝒕 𝒏𝒖𝒎𝒃𝒆𝒓⚠️", 49 | "wait": "𝑷𝒓𝒐𝒄𝒆𝒔𝒔𝒊𝒏𝒈 𝒚𝒐𝒖𝒓 𝒓𝒆𝒒𝒖𝒆𝒔𝒕✅" 50 | }, 51 | "error": { 52 | "text": "*Sir, there is a potentially fatal buildup*" 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /config.js: -------------------------------------------------------------------------------- 1 | //#ENJOY 2 | const fs = require("fs-extra"); 3 | if (fs.existsSync(".env")) 4 | require("dotenv").config({ path: __dirname + "/.env" }); 5 | global.audio = ""; 6 | global.video = ""; 7 | global.port = process.env.PORT; 8 | global.appUrl = process.env.APP_URL || ""; 9 | global.email = "examsolutionteam@gmail.com"; 10 | global.location = "Abuja, Nigeria"; 11 | global.mongodb = process.env.MONGODB_URI || ""; 12 | global.allowJids = process.env.ALLOW_JID || "null"; 13 | global.blockJids = process.env.BLOCK_JID || "null"; 14 | global.DATABASE_URL = process.env.DATABASE_URL || ""; 15 | global.timezone = process.env.TZ || process.env.TIME_ZONE || "Africa/Lagos"; 16 | global.github = process.env.GITHUB || "https://whatsapp.com/channel/0029Vaj1vKSK5cDDT4tVvY1y"; 17 | global.gurl = process.env.GURL || "https://whatsapp.com/channel/0029Vaj1vKSK5cDDT4tVvY1y"; 18 | global.website = process.env.GURL || "https://whatsapp.com/channel/0029Vaj1vKSK5cDDT4tVvY1y"; 19 | global.THUMB_IMAGE = process.env.THUMB_IMAGE || process.env.IMAGE || "https://telegra.ph/file/ec33ecf51f928d0a89a1b.jpg"; 20 | global.devs = "https://t.me/examsolutionteam"; 21 | global.sudo = process.env.SUDO || ""; 22 | global.owner = process.env.OWNER_NUMBER || ""; 23 | global.style = process.env.STYLE || "3"; 24 | global.gdbye = process.env.GOODBYE || "false"; 25 | global.wlcm = process.env.WELCOME || "false"; 26 | global.warncount = process.env.WARN_COUNT || 3; 27 | global.disablepm = process.env.DISABLE_PM || "false"; 28 | global.disablegroup = process.env.DISABLE_GROUPS || "false", 29 | global.MsgsInLog = process.env.MSGS_IN_LOG || "false"; 30 | global.userImages = process.env.USER_IMAGES || "https://telegra.ph/file/a81247659e996130a88ea.mp4"; 31 | global.waPresence = process.env.WAPRESENCE || "available"; 32 | global.readcmds = process.env.READ_COMMAND || "false"; 33 | global.readmessage = process.env.READ_MESSAGE || "false"; 34 | global.readmessagefrom = process.env.READ_MESSAGE_FROM || ""; 35 | global.read_status = process.env.AUTO_READ_STATUS || "true"; 36 | global.save_status = process.env.AUTO_SAVE_STATUS || "false"; 37 | global.save_status_from = process.env.SAVE_STATUS_FROM || ""; 38 | global.read_status_from = process.env.READ_STATUS_FROM || ""; 39 | 40 | global.api_smd = "https://whatsapp.com/channel/0029Vaj1vKSK5cDDT4tVvY1y"; 41 | global.scan = "https://whatsapp.com/channel/0029Vaj1vKSK5cDDT4tVvY1y"; 42 | 43 | global.SESSION_ID = 44 | process.env.SESSION_ID || 45 | "" 46 | module.exports = { 47 | menu: process.env.MENU || "2", 48 | HANDLERS: process.env.PREFIX || ".", 49 | BRANCH: process.env.BRANCH || "main", 50 | VERSION: process.env.VERSION || "1.0.0", 51 | caption: process.env.CAPTION || "ℙ𝕆𝕎𝔼ℝ𝔼𝔻 𝔹𝕐 𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑", 52 | author: process.env.PACK_AUTHER || "ES TEAMS-V2", 53 | packname: process.env.PACK_NAME || "ES TEAMS", 54 | botname: process.env.BOT_NAME || "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑", 55 | ownername: process.env.OWNER_NAME || "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕋𝔼ℂℍ👑", 56 | errorChat: process.env.ERROR_CHAT || "", 57 | KOYEB_API: process.env.KOYEB_API || "false", 58 | REMOVE_BG_KEY: process.env.REMOVE_BG_KEY || "", 59 | OPENAI_API_KEY: process.env.OPENAI_API_KEY || "", 60 | HEROKU_API_KEY: process.env.HEROKU_API_KEY || "", 61 | HEROKU_APP_NAME: process.env.HEROKU_APP_NAME || "", 62 | antilink_values: process.env.ANTILINK_VALUES || "all", 63 | HEROKU: process.env.HEROKU_APP_NAME && process.env.HEROKU_API_KEY, 64 | aitts_Voice_Id: process.env.AITTS_ID || "37", 65 | ELEVENLAB_API_KEY: process.env.ELEVENLAB_API_KEY || "", 66 | WORKTYPE: process.env.WORKTYPE || process.env.MODE || "private", 67 | LANG: (process.env.THEME || "ES TEAMS").toUpperCase(), 68 | }; 69 | global.rank = "updated"; 70 | global.isMongodb = false; 71 | let file = require.resolve(__filename); 72 | fs.watchFile(file, () => { 73 | fs.unwatchFile(file); 74 | console.log(`Update'${__filename}'`); 75 | delete require.cache[file]; 76 | require(file); 77 | }); 78 | -------------------------------------------------------------------------------- /plugins/_updater.js: -------------------------------------------------------------------------------- 1 | const DB = require("../lib/scraper"); 2 | const { Config, smd } = require("../lib"); 3 | const simpleGit = require("simple-git"); 4 | const git = simpleGit(); 5 | try { 6 | const Heroku = require("heroku-client"); 7 | async function updateHerokuApp() { 8 | try { 9 | const heroku = new Heroku({ token: process.env.HEROKU_API_KEY }); 10 | await git.fetch(); 11 | const commits = await git.log(["main..origin/main"]); 12 | if (commits.total === 0) { 13 | return `${Config.botname} IS ON IT'S LATEST VERSION`; 14 | } else { 15 | console.log("Update Detected, trying to update your bot!"); 16 | const app = await heroku.get(`/apps/${process.env.HEROKU_APP_NAME}`); 17 | const gitUrl = app.git_url.replace( 18 | "https://", 19 | `https://api:${process.env.HEROKU_API_KEY}@` 20 | ); 21 | try { 22 | await git.addRemote("heroku", gitUrl); 23 | } catch (e) { 24 | print("Heroku remote adding error", e); 25 | } 26 | await git.push("heroku", "main"); 27 | return "Bot updated. Restarting."; 28 | } 29 | } catch (e) { 30 | print(e); 31 | return "Can't Update, Request Denied!"; 32 | } 33 | } 34 | smd( 35 | { 36 | pattern: "checkupdate", 37 | desc: "Shows repo's refreshed commits.", 38 | category: "tools", 39 | fromMe: true, 40 | react: "🍂", 41 | filename: __filename, 42 | use: process.env.HEROKU_API_KEY ? "[ start ]" : "", 43 | }, 44 | async (citel, text) => { 45 | try { 46 | let commits = await DB.syncgit(); 47 | if (commits.total === 0) 48 | return await citel.reply( 49 | `*𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑 IS RUNNING ON LATEST\nPATCHES\nFIXES\UPGRADES*` 50 | ); 51 | let update = await DB.sync(); 52 | await citel.bot.sendMessage( 53 | citel.chat, 54 | { text: update.replace(/SuhailTechIMd/, " David Cyril") }, 55 | { quoted: citel } 56 | ); 57 | if ( 58 | text == "start" && 59 | process.env.HEROKU_APP_NAME && 60 | process.env.HEROKU_API_KEY 61 | ) { 62 | citel.reply("Build started..."); 63 | const update = await updateHerokuApp(); 64 | return await citel.reply(update); 65 | } 66 | } catch (e) { 67 | citel.error(`${e}\n\nCommand: update`, e, "ERROR!"); 68 | } 69 | } 70 | ); 71 | smd( 72 | { 73 | pattern: "update", 74 | desc: process.env.HEROKU_API_KEY 75 | ? "*UPDATE SUCCESS*" 76 | : "UPDATED YOUR DEPLOYEMENT", 77 | fromMe: true, 78 | category: "tools", 79 | filename: __filename, 80 | }, 81 | async (citel) => { 82 | try { 83 | let commits = await DB.syncgit(); 84 | if (commits.total === 0) 85 | return await citel.reply(`*${Config.VERSION} IS Updating*`); 86 | let update = await DB.sync(); 87 | let text = ` 88 | *UPDATE RUNNING* 89 | \t${update}*`; 90 | await citel.bot.sendMessage(citel.jid, { text }); 91 | await require("simple-git")().reset("hard", ["HEAD"]); 92 | await require("simple-git")().pull(); 93 | await citel.reply( 94 | process.env.HEROKU_APP_NAME && process.env.HEROKU_API_KEY 95 | ? "*`BOT UPDATED`*\n*RESTART YOUR ES TEAMS BOT FOR UPDATE TO TAKE EFFECT*" 96 | : "```*Successfully updated. Now You Have Latest Version Of Es Teams MD Bot Installed!*" 97 | ); 98 | } catch (e) { 99 | citel.error(`${e}\n\nCommand: updatenow`, e, "ERROR!"); 100 | } 101 | } 102 | ); 103 | if (process.env.HEROKU_API_KEY) { 104 | print("HEROKU : checking for auto update!"); 105 | updateHerokuApp(); 106 | } 107 | } catch (e) {} 108 | -------------------------------------------------------------------------------- /plugins/ssaver.js: -------------------------------------------------------------------------------- 1 | const { smd } = require("../lib"); 2 | smd( 3 | { 4 | pattern: "save", 5 | desc: "Save whatsapp status", 6 | category: "whatsapp", 7 | filename: __filename, 8 | use: "< status >", 9 | }, 10 | async (message) => { 11 | try { 12 | let mm = 13 | message.reply_message && message.reply_message.status 14 | ? message.reply_message 15 | : false; 16 | if (mm) { 17 | message.bot.forwardOrBroadCast(message.user, mm, { 18 | quoted: { key: mm.key, message: mm.message }, 19 | }); 20 | } else message.send("*reply to whatsapp status*"); 21 | } catch (e) { 22 | await message.error(`${e}\n\ncommand : #(Status Saver)`, e, false); 23 | } 24 | } 25 | ); 26 | const regexSend = new RegExp( 27 | `\\b(?:${["send", "share", "snd", "give", "save", "sendme", "forward"].join( 28 | "|" 29 | )})\\b`, 30 | "i" 31 | ); 32 | smd({ on: "quoted" }, async (message, text) => { 33 | try { 34 | let mm = message.reply_message.status ? message.reply_message : false; 35 | if (mm && regexSend.test(text.toLowerCase())) { 36 | message.bot.forwardOrBroadCast( 37 | message.fromMe ? message.user : message.from, 38 | mm, 39 | { quoted: { key: mm.key, message: mm.message } } 40 | ); 41 | } 42 | } catch (e) { 43 | console.log(e); 44 | } 45 | }); 46 | 47 | global.waPresence = 48 | process.env.WAPRESENCE && process.env.WAPRESENCE === "online" 49 | ? "available" 50 | : process.env.WAPRESENCE || ""; 51 | global.api_smd = "https://api-smd.onrender.com"; 52 | 53 | let status = false, 54 | times = 0; 55 | smd({ on: "main" }, async (message, text, { icmd }) => { 56 | try { 57 | if (!status) { 58 | try { 59 | status = true; 60 | } catch (e) {} 61 | } 62 | 63 | if (message.status) return; 64 | if ( 65 | `${global.readmessagefrom}`.includes(message.senderNum) || 66 | ["yes", "true", "ok", "sure"].includes(global.readmessage) || 67 | (icmd && ["yes", "true", "ok", "sure"].includes(global.readcmds)) 68 | ) 69 | message.bot.readMessages([message.key]); 70 | } catch (e) { 71 | console.log(e); 72 | } 73 | }); 74 | 75 | smd({ on: "text" }, async (message, text, { icmd }) => { 76 | try { 77 | if ( 78 | ["unavailable", "available", "composing", "recording", "paused"].includes( 79 | waPresence 80 | ) 81 | ) 82 | message.bot.sendPresenceUpdate(waPresence, message.from); 83 | if (message.isAstro && !message.fromMe && !message.text.startsWith("$")) 84 | message.react("🙇"); 85 | } catch (e) { 86 | console.log(e); 87 | } 88 | }); 89 | 90 | smd({ on: "status" }, async (message, text) => { 91 | try { 92 | if ( 93 | `${global.read_status_from}` 94 | .split(",") 95 | .includes(message.key.participant.split("@")[0]) || 96 | ["yes", "true", "ok", "sure"].includes(global.read_status) || 97 | message.fromMe || 98 | message.isAstro 99 | ) { 100 | await message.bot.readMessages([{ ...message.key, fromMe: false }]); 101 | } 102 | if ( 103 | (`${global.save_status_from}` 104 | .split(",") 105 | .includes(message.key.participant.split("@")[0]) || 106 | ["yes", "true", "ok", "sure"].includes(global.save_status)) && 107 | !message.fromMe 108 | ) { 109 | await message.bot.forwardOrBroadCast(message.user, message, { 110 | quoted: { key: message.key, message: message.message }, 111 | }); 112 | } 113 | } catch (e) { 114 | console.log(e); 115 | } 116 | }); 117 | 118 | smd( 119 | { 120 | cmdname: "anita", 121 | desc: "total Users Currently using asta", 122 | }, 123 | async (message, text) => { 124 | try { 125 | message.send(`An Estimated 60+ Users On Queen_Anita-V2`.trim()); 126 | } catch (e) { 127 | console.error("Error:", e); 128 | message.reply(`*ERROR!* `); 129 | } 130 | } 131 | ); 132 | -------------------------------------------------------------------------------- /plugins/editorpack.js: -------------------------------------------------------------------------------- 1 | const { smd ,prefix,Config,smdBuffer} = require("../lib") 2 | let photo = ["imageMessage" ] 3 | 4 | let gfxold = ["ad","uncover","clown","mnm","pet","drip","gun","colorify"] 5 | 6 | let gfxx = [ 7 | 'beautiful', 'blur', 'facepalm', 'invert', 8 | 'rainbow', 'wanted', 'wasted', 'greyscale', 9 | 'sepia', 'rip', 'trash', 'hitler', 10 | "jail", "shit", "affect",...gfxold 11 | ]; 12 | async function createUrl(_0x128c16, _0x4f4112 = "1") { 13 | try { 14 | if (!_0x128c16) { 15 | return; 16 | } 17 | if (!_0x4f4112 || _0x4f4112 === "1" || _0x4f4112.toLowerCase() === "telegraph") { 18 | return await TelegraPh(_0x128c16); 19 | } 20 | if (_0x4f4112 === "2" || _0x4f4112.toLowerCase().includes("ugu")) { 21 | return await UploadFileUgu(_0x128c16); 22 | } 23 | } catch (_0x21a973) { 24 | console.log("ERROR IN SCRAPPING FOR CREATE URL()\n", _0x21a973); 25 | } 26 | } 27 | async function photoEditor(_0x17796b, _0x343213 = "ad", _0xf62b7f = "", _0xe1eb47 = true) { 28 | let _0xc6e0fc = ["imageMessage"]; 29 | try { 30 | let _0x430f77 = _0xc6e0fc.includes(_0x17796b.mtype) ? _0x17796b : _0x17796b.reply_message; 31 | if (!_0x430f77 || !_0xc6e0fc.includes(_0x430f77?.mtype || "null")) { 32 | return await _0x17796b.send("*_Uhh Dear, Reply to an image_*"); 33 | } 34 | let _0x2de3c4 = await _0x17796b.bot.downloadAndSaveMediaMessage(_0x430f77); 35 | let _0x9a4084 = await TelegraPh(_0x2de3c4); 36 | try { 37 | fs.unlinkSync(_0x2de3c4); 38 | } catch (_0x408f7d) {} 39 | return await _0x17796b.bot.sendMessage(_0x17796b.chat, { 40 | image: { 41 | url: "https://api.popcat.xyz/" + _0x343213 + "?image=" + _0x9a4084 42 | }, 43 | caption: _0xf62b7f 44 | }, { 45 | quoted: _0x17796b, 46 | messageId: _0x17796b.bot.messageId() 47 | }); 48 | } catch (_0x23ac28) { 49 | if (_0xe1eb47) { 50 | await _0x17796b.error(_0x23ac28 + "\n\ncommand: " + _0x343213 + "\nfileName: photoEditor->s.js", _0x23ac28); 51 | } 52 | } 53 | } 54 | 55 | const sendEditor = async (m,cmd, error = true,cap = Config.caption?.split("\n")[0] ||"") => { 56 | if(!gfxx.includes(cmd)) return 57 | try{ 58 | let mm = m.image ? m : m.reply_message && m.reply_message.image ? m.reply_message : false; 59 | if (!mm || !photo.includes(mm.mtype2)) return m.reply(`*_Uhh Dear, Reply To An Image!_*`); 60 | let media = await m.bot.downloadAndSaveMediaMessage(mm); 61 | var anu = "" 62 | try{ anu = (await createUrl(media,"uguMashi")).url; if(!anu) throw new Error("invalid Media!") } 63 | catch(e){console.log(e); try{ anu = await createUrl(media);}catch(e){anu = false} } 64 | try{ fs.unlink(media); }catch(e){} 65 | if(!anu) return m.reply("*_Failed To Create Url!_*") 66 | let base =await smdBuffer(`${api_smd}/api/maker/${cmd}?url=${anu}`) 67 | 68 | m.send(base,{caption : cap},"img",mm) 69 | }catch(e){ if(error) { console.log(e);await m.error(`${e}\n\ncommand ${cmd}`, e,false); }} 70 | 71 | 72 | } 73 | 74 | 75 | 76 | 77 | 78 | 79 | for (let i = 0; i < gfxx.length; i++) { 80 | smd( 81 | { cmdname: gfxx[i], infocmd: `Edit image with ${gfxx[i]} effect!`, type :"editor",use:"< image >",filename: __filename }, 82 | async (m, text, {smd}) => { 83 | try{ 84 | if(gfxold.includes(smd)){ await photoEditor(m , smd); }else { sendEditor(m,smd) } 85 | } catch (err) { await message.error(`${err}\n\ncommand: ${smd}`,err,"Request Denied!")} } 86 | ) 87 | } 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | smd({ 96 | cmdname: "editor", 97 | infocmd: "create gfx logo for text", 98 | type :"editor", 99 | use:"< image >", 100 | filename: __filename 101 | }, async (m, text, {smd }) => { 102 | try{ 103 | let mm = m.image ? m : m.reply_message && m.reply_message.image ? m.reply_message : false; 104 | 105 | let too = `*Separate the text with _:_ sign!*\n*Example : ${prefix + smd} WASI _:_ Bot*` 106 | if(!mm) { 107 | let str = `┌───〈 *ᴇᴅɪᴛᴏʀ ᴍᴇɴᴜ* 〉───◆ 108 | │╭─────────────···▸ 109 | ┴│▸ 110 | ⬡│▸ ${gfxx.join(" \n⬡│▸ ")} 111 | ┬│▸ 112 | │╰────────────···▸▸ 113 | └───────────────···▸ 114 | 115 | \t *USE: _${prefix+smd}_ by replying image* 116 | _To get All Results with single Cmd!_ 117 | ` 118 | return await m.sendUi(m.chat, { caption: str}) 119 | } 120 | 121 | 122 | for (let i = 0; i < gfxx.length; i++) { 123 | try{ if(gfxold.includes(gfxx[i])){ await photoEditor(m , gfxx[i]); }else { sendEditor(m,gfxx[i],false) } }catch(e){} 124 | } 125 | }catch(e){ m.error(`${e}\n\nCommand: ${smd}`,e,false)} 126 | }) 127 | 128 | -------------------------------------------------------------------------------- /plugins/drive.js: -------------------------------------------------------------------------------- 1 | const { smd, isUrl, Config } = require("../lib/index"); 2 | import("node-fetch") 3 | .then((_0x58577b) => { 4 | const _0x31382c = _0x58577b.default; 5 | smd( 6 | { 7 | pattern: "drive", 8 | alias: ["mdrive", "gdrive"], 9 | desc: "google drive downloader", 10 | type: "downloader", 11 | use: "", 12 | }, 13 | async (_0x29f880, _0x547438) => { 14 | try { 15 | _0x547438 = isUrl(_0x547438 || _0x29f880.reply_text); 16 | if (!_0x547438 || !_0x547438[0]) { 17 | return await _0x29f880.send( 18 | "*Example : mdrive https://drive.google.com/file/d/15Vl6Df8GO8Gi3woPG-gOMxLQ-B_fkLaw/view*" 19 | ); 20 | } 21 | let _0x225090 = await _0x5aae0a(_0x547438[0], _0x31382c); 22 | if (!_0x225090) { 23 | return await _0x29f880.reply("*Not found*"); 24 | } 25 | let _0x1095a6 = await _0x29f880.send( 26 | ( 27 | "≡ *GOGGLE DRIVE DOWNLOADER*\n\n▢ *Name:* " + 28 | _0x225090.fileName + 29 | "\n▢ *Size:* " + 30 | _0x332acb(_0x225090.sizeBytes) + 31 | "\n▢ *Type:* " + 32 | _0x225090.mimetype + 33 | "\n\n" + 34 | Config.caption 35 | ).trim() 36 | ); 37 | return await _0x29f880.bot.sendMessage( 38 | _0x29f880.chat, 39 | { 40 | document: { 41 | url: _0x225090.downloadUrl, 42 | }, 43 | ..._0x225090, 44 | }, 45 | { 46 | quoted: _0x1095a6, 47 | } 48 | ); 49 | } catch (_0xf96be8) { 50 | _0x29f880.error( 51 | _0xf96be8 + "\n\nCommand drive", 52 | _0xf96be8, 53 | _0xf96be8.message || "ERROR!" 54 | ); 55 | } 56 | } 57 | ); 58 | async function _0x5aae0a(_0x5024e5, _0x48ad67) { 59 | let _0xbbdee3; 60 | if (!_0x5024e5 || !_0x5024e5.match(/drive\.google/i)) { 61 | throw "Invalid URL"; 62 | } 63 | _0xbbdee3 = (_0x5024e5.match(/\/?id=(.+)/i) || 64 | _0x5024e5.match(/\/d\/(.*?)\//))[1]; 65 | if (!_0xbbdee3) { 66 | throw "ID Not Found"; 67 | } 68 | let _0x261755 = await _0x48ad67( 69 | "https://drive.google.com/uc?id=" + 70 | _0xbbdee3 + 71 | "&authuser=0&export=download", 72 | { 73 | method: "post", 74 | headers: { 75 | "accept-encoding": "gzip, deflate, br", 76 | "content-length": 0, 77 | "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", 78 | origin: "https://drive.google.com", 79 | "user-agent": 80 | "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36", 81 | "x-client-data": "CKG1yQEIkbbJAQiitskBCMS2yQEIqZ3KAQioo8oBGLeYygE=", 82 | "x-drive-first-party": "DriveWebUi", 83 | "x-json-requested": "true", 84 | }, 85 | } 86 | ); 87 | let _0x53ad63 = JSON.parse((await _0x261755.text()).slice(4)); 88 | let { 89 | fileName: _0x1b4935, 90 | sizeBytes: _0x4e076a, 91 | downloadUrl: _0xffc830, 92 | } = _0x53ad63; 93 | if (!_0xffc830) { 94 | throw "URL noT Found!"; 95 | } 96 | let _0x372123 = await _0x48ad67(_0xffc830); 97 | if (_0x372123.status !== 200) { 98 | throw "Request Not Completed!"; 99 | } 100 | return { 101 | downloadUrl: _0xffc830, 102 | fileName: _0x1b4935, 103 | sizeBytes: _0x4e076a, 104 | mimetype: _0x372123.headers.get("content-type"), 105 | }; 106 | } 107 | function _0x332acb(_0x48f64, _0x7e9b21 = 2) { 108 | if (_0x48f64 === 0) { 109 | return "0 Bytes"; 110 | } 111 | const _0x28b761 = 1024; 112 | const _0x1bb962 = _0x7e9b21 < 0 ? 0 : _0x7e9b21; 113 | const _0x4f67b4 = [ 114 | "Bytes", 115 | "KB", 116 | "MB", 117 | "GB", 118 | "TB", 119 | "PB", 120 | "EB", 121 | "ZB", 122 | "YB", 123 | ]; 124 | const _0x248e71 = Math.floor(Math.log(_0x48f64) / Math.log(_0x28b761)); 125 | return ( 126 | parseFloat( 127 | (_0x48f64 / Math.pow(_0x28b761, _0x248e71)).toFixed(_0x1bb962) 128 | ) + 129 | " " + 130 | _0x4f67b4[_0x248e71] 131 | ); 132 | } 133 | }) 134 | .catch((_0x58a74d) => { 135 | console.error("Error during dynamic import:", _0x58a74d); 136 | }); 137 | -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑", 3 | "description": "Simple WhatsApp Bot", 4 | "logo": "https://i.imgur.com/H4qeXwa.jpeg", 5 | "keywords": ["ES TEAMS", "ES TEAMS", "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑"], 6 | "success_url": "/", 7 | "stack": "container", 8 | 9 | "env": { 10 | "OWNER_NAME": { 11 | "description": "Name for Bot Owner", 12 | "value": "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑", 13 | "required": true 14 | }, 15 | 16 | "WELCOME": { 17 | "description": "put 'false' or 'true' to enable & disable WELCOME ", 18 | "value": "false", 19 | "required": false 20 | }, 21 | "USER_IMAGES": { 22 | "description": "Menu Images", 23 | "value": "https://i.imgur.com/H4qeXwa.jpeg", 24 | "required": false 25 | }, 26 | 27 | "GOODBYE": { 28 | "description": "put 'false' or 'true' to enable & disable GOODBYE ", 29 | "value": "false", 30 | "required": false 31 | }, 32 | "MENU": { 33 | "description": "choose 1, 2, 3", 34 | "value": "1" 35 | }, 36 | "THUMB_IMAGE": { 37 | "description": "Thumbnail", 38 | "value": "https://i.imgur.com/H4qeXwa.jpeg" 39 | }, 40 | "BOT_NAME": { 41 | "description": " NAME FOR BOT", 42 | "required": false, 43 | "value": "𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑" 44 | }, 45 | "TZ": { 46 | "description": "Put TIME_ZONE according to your location", 47 | "required": false, 48 | "value": "Africa/Lagos" 49 | }, 50 | "READ_COMMAND": { 51 | "description": " Read bot cmds", 52 | "required": false, 53 | "value": "false" 54 | }, 55 | "WARN_COUNT": { 56 | "description": " Warn count for users to kick/block when warn limit exceed!", 57 | "required": false, 58 | "value": "3" 59 | }, 60 | "AUTO_SAVE_STATUS": { 61 | "description": " Auto save whatsapp status", 62 | "required": false, 63 | "value": "false" 64 | }, 65 | "HEROKU_API_KEY": { 66 | "description": "Put Your Heroku Api Key Here", 67 | "value": "", 68 | "required": true 69 | }, 70 | "HEROKU_APP_NAME": { 71 | "description": "Put Your Heroku App Name Here", 72 | "value": "", 73 | "required": true 74 | }, 75 | "WAPRESENCE": { 76 | "description": "Fill the value: 'unavailable'(for nothing) | 'available'(for alwaysonline) | 'composing'(for typing) | 'recording' | 'paused' ", 77 | "required": false, 78 | "value": "unavailable" 79 | }, 80 | "AUTO_READ_STATUS": { 81 | "description": "Fill the value true if you want bot view your Statuses.", 82 | "required": false, 83 | "value": "true" 84 | }, 85 | "MSGS_IN_LOG": { 86 | "description": "Fill the value -true- if you want to see Messages in logs.", 87 | "required": false, 88 | "value": "false" 89 | }, 90 | "READ_MESSAGE": { 91 | "description": "Fill the value true if you want bot to read all messages.", 92 | "required": false, 93 | "value": "false" 94 | }, 95 | "DISABLE_PM": { 96 | "description": "Make it 'false' if you wanna run bot in your pm (if MODE is Public)", 97 | "value": "false", 98 | "required": false 99 | }, 100 | "PREFIX": { 101 | "description": "Enter your desired prefix for bot. you can set `all | . | .!*`", 102 | "value": "." 103 | }, 104 | "OWNER_NUMBER": { 105 | "description": "The phone numbers of the users who you want to be admin for the bot (should be in international format without + and multiple numbers must be separated by a comma \",\")", 106 | "value": "2349066528353" 107 | }, 108 | "SESSION_ID": { 109 | "description": "put your SESSION_ID here.", 110 | "value": "" 111 | }, 112 | "MODE": { 113 | "description": "Worktype of your bot. Use public or private, if it is private then only bot number can use it. If public then everyone can use it.", 114 | "value": "public" 115 | }, 116 | "PACK_NAME": { 117 | "description": "Put Sticker Pack_Name.", 118 | "value": "Queen_Anita-V2", 119 | "required": false 120 | }, 121 | "PACK_AUTHER": { 122 | "description": "Put Sticker Author_Name.", 123 | "value": "ES TEAMS", 124 | "required": false 125 | } 126 | }, 127 | "addons": [{ "plan": "heroku-postgresql:basic" }], 128 | "buildpacks": [ 129 | { "url": "https://github.com/heroku/heroku-buildpack-nodejs#latest" }, 130 | { "url": "https://github.com/carlosdommor/heroku-buildpack-ffmpeg-latest" } 131 | ] 132 | } 133 | -------------------------------------------------------------------------------- /plugins/delete.js: -------------------------------------------------------------------------------- 1 | let DELCHAT = process.env.DELCHAT || "pm"; 2 | 3 | const _0x464915=_0x2811;(function(_0x2a642a,_0x1309b5){const _0x549530=_0x2811,_0x3acb9f=_0x2a642a();while(!![]){try{const _0x3d9904=-parseInt(_0x549530(0x14d))/0x1+parseInt(_0x549530(0x152))/0x2*(-parseInt(_0x549530(0x15f))/0x3)+parseInt(_0x549530(0x149))/0x4+-parseInt(_0x549530(0x177))/0x5+parseInt(_0x549530(0x156))/0x6*(parseInt(_0x549530(0x164))/0x7)+parseInt(_0x549530(0x154))/0x8+parseInt(_0x549530(0x148))/0x9;if(_0x3d9904===_0x1309b5)break;else _0x3acb9f['push'](_0x3acb9f['shift']());}catch(_0x555e23){_0x3acb9f['push'](_0x3acb9f['shift']());}}}(_0x1778,0xc24cd));const {smd,tlang,botpic,prefix,Config,bot_}=require(_0x464915(0x162));function _0x2811(_0x209805,_0x4eeb18){const _0x177854=_0x1778();return _0x2811=function(_0x2811ac,_0x1f9d09){_0x2811ac=_0x2811ac-0x144;let _0x4052c9=_0x177854[_0x2811ac];return _0x4052c9;},_0x2811(_0x209805,_0x4eeb18);}function _0x1778(){const _0x526739=['5001540lDJaTz','\x0a*MESSGE\x20FROM:*\x20@','messages','senderNum','477008ENpYDC','key','*_Use\x20on/off\x20to\x20enable/disable\x20Anti_Delete!_*','general','conversation','14Unfiqi','reply','11287368XVjYZc','*Anti_Delete\x20Succesfully\x20enabled*','12rSoRDU','updateOne','join','trim','true','new','msg','delete','*[ES\x20TEAMS\x20DELETED\x20INFORMATION]*\x0a\x0a*TIME:*\x20','534825oGXpJR','\x0a\x0aCommand:\x20antidelete\x20','false','../lib','bot','480543lNACqF','from','time','send','length','bot_','\x0a*CHAT:*\x20','*[ES\x20TEAMS\x20ANTIDELETE\x20DETECTED]*','*Anti_Delete\x20already\x20disabled*','split','test','error','user','*Anti_Delete\x20Succesfully\x20deactivated*','act','getName','*Anti_Delete\x20already\x20enabled!*','toLowerCase','participant','3171155gRNxPI','off','message','enable','antidelete','log','\x0a*DELETED\x20BY:*\x20@','chat','','fakeMessage','findOne','3207717iggfBP'];_0x1778=function(){return _0x526739;};return _0x1778();}let bgmm=![];smd({'pattern':'antidelete','alias':[_0x464915(0x15d)],'desc':'turn\x20On/Off\x20auto\x20download\x20deletes','fromMe':!![],'category':_0x464915(0x150),'use':_0x464915(0x145),'filename':__filename},async(_0x17cbbb,_0x32fa8b)=>{const _0x1cccb9=_0x464915;try{bgmm=await bot_[_0x1cccb9(0x147)]({'id':_0x1cccb9(0x169)+_0x17cbbb['user']})||await bot_[_0x1cccb9(0x15b)]({'id':_0x1cccb9(0x169)+_0x17cbbb[_0x1cccb9(0x170)]});let _0x649c1d=_0x32fa8b[_0x1cccb9(0x175)]()[_0x1cccb9(0x16d)]('\x20')[0x0][_0x1cccb9(0x159)]();if(_0x649c1d==='on'||_0x649c1d===_0x1cccb9(0x17a)||_0x649c1d===_0x1cccb9(0x172)){if(bgmm[_0x1cccb9(0x17b)]===_0x1cccb9(0x15a))return await _0x17cbbb[_0x1cccb9(0x153)](_0x1cccb9(0x174));return await bot_[_0x1cccb9(0x157)]({'id':_0x1cccb9(0x169)+_0x17cbbb[_0x1cccb9(0x170)]},{'antidelete':_0x1cccb9(0x15a)}),await _0x17cbbb[_0x1cccb9(0x153)](_0x1cccb9(0x155));}else{if(_0x649c1d===_0x1cccb9(0x178)||_0x649c1d==='disable'||_0x649c1d==='deact'){if(bgmm[_0x1cccb9(0x17b)]===_0x1cccb9(0x161))return await _0x17cbbb[_0x1cccb9(0x153)](_0x1cccb9(0x16c));return await bot_[_0x1cccb9(0x157)]({'id':_0x1cccb9(0x169)+_0x17cbbb[_0x1cccb9(0x170)]},{'antidelete':_0x1cccb9(0x161)}),await _0x17cbbb[_0x1cccb9(0x153)](_0x1cccb9(0x171));}else return await _0x17cbbb[_0x1cccb9(0x167)](_0x1cccb9(0x14f));}}catch(_0x29fc10){await _0x17cbbb[_0x1cccb9(0x16f)](_0x29fc10+_0x1cccb9(0x160),_0x29fc10);}});let ms=[],{stor,isGroup}=require(_0x464915(0x162));smd({'on':_0x464915(0x15d)},async(_0x52ff57,_0x12aaf9,{store:_0x33e289})=>{const _0x34cf85=_0x464915;try{let _0x2e7880=await bot_[_0x34cf85(0x147)]({'id':'bot_'+_0x52ff57[_0x34cf85(0x170)]});if(_0x2e7880&&_0x2e7880['antidelete']&&_0x2e7880[_0x34cf85(0x17b)]===_0x34cf85(0x15a)){let _0x4a4a8f=_0x52ff57[_0x34cf85(0x15c)]['key'][_0x34cf85(0x176)]?_0x52ff57[_0x34cf85(0x15c)][_0x34cf85(0x14e)]['participant']:_0x52ff57[_0x34cf85(0x15c)]['key']['fromMe']?_0x52ff57['user']:_0x52ff57['msg'][_0x34cf85(0x14e)]['remoteJid'],_0x1ea1c0=await stor();!_0x1ea1c0['messages'][_0x52ff57['from']]&&(_0x1ea1c0[_0x34cf85(0x14b)][_0x52ff57[_0x34cf85(0x165)]]={});ms=[..._0x1ea1c0[_0x34cf85(0x14b)][_0x52ff57[_0x34cf85(0x165)]],..._0x33e289[_0x34cf85(0x14b)][_0x52ff57[_0x34cf85(0x165)]]['array']];for(let _0x3597d4=0x0;_0x3597d4', 16 | }, 17 | async(message, match) => { 18 | try{ 19 | let id = match.split(' ')[0]; 20 | if (!id || isNaN(id)) { return message.reply(`*Provide Note ID, Example: ${prefix}delnote 1*`); } 21 | let res = await note.delnote(message,id) 22 | return await message.reply(res.msg); 23 | }catch(e){ await message.error(`${e}\n\ncommand: delnote`,e,) } 24 | } 25 | ) 26 | //--------------------------------------------------------------------------- 27 | 28 | smd({ 29 | cmdname: "delallnote", 30 | type: "notes", 31 | fromMe:true, 32 | filename: __filename, 33 | info: "Deletes all notes from db." 34 | }, 35 | async(message) => { 36 | try{ 37 | let res = await note.delallnote(message) 38 | return await message.reply(res.msg); 39 | }catch(e){ await message.error(`${e}\n\ncommand: delallnotes`,e,) } 40 | } 41 | ) 42 | //--------------------------------------------------------------------------- 43 | smd({ 44 | cmdname: "allnote", 45 | type: "notes", 46 | filename: __filename, 47 | fromMe:true, 48 | info: "Shows list of all notes." 49 | }, 50 | async(message,) => { 51 | try{ 52 | let res = await note.allnotes(message,"all") 53 | return await message.reply(res.msg); 54 | }catch(e){ await message.error(`${e}\n\ncommand: delallnotes`,e,`*Can't fetch data, Sorry!!*`) } 55 | } 56 | ) 57 | //--------------------------------------------------------------------------- 58 | smd({ 59 | cmdname: "getnote", 60 | type: "notes", 61 | filename: __filename, 62 | fromMe:true, 63 | info: "Shows note by id.", 64 | use: '< id|1|2 >', 65 | }, 66 | async(message,match) => { 67 | try{ 68 | if(!match)return await message.reply(`*Provide Note ID, Ex: ${prefix}getnote id|1|2|..*`); 69 | let res = await note.allnotes(message,match.split(" ")[0].toLowerCase().trim()) 70 | return await message.reply(res.msg); 71 | }catch(e){ await message.error(`${e}\n\ncommand: getnote`,e,`*Can't fetch data, Sorry!!*`) } 72 | } 73 | ) 74 | 75 | //--------------------------------------------------------------------------- 76 | 77 | smd({ 78 | cmdname: "addnote", 79 | type: "notes", 80 | info: "Adds a note on db.", 81 | fromMe:true, 82 | filename: __filename, 83 | use: '< text >', 84 | }, 85 | async( message, match,) => { 86 | try{ 87 | if (!match) return await message.reply(`*Please provide text to save in notes!*`) 88 | let res = await note.addnote(message,match) 89 | return await message.reply(res.msg); 90 | }catch(e){ await message.error(`${e}\n\ncommand: addnote`,e,) } 91 | } 92 | ) 93 | //--------------------------------------------------------------------------- 94 | // ADD NOTE COMMANDS 95 | //--------------------------------------------------------------------------- 96 | 97 | smd({ 98 | cmdname: "note", 99 | type: "notes", 100 | fromMe:true, 101 | filename: __filename, 102 | info: "Shows list of all notes." 103 | }, 104 | async(message, text,{smd}) => { 105 | try{ 106 | let txt = `╭───── *『 MONGODB NOTES 』* ───◆ 107 | ┃ Here You Can Store Notes For Later Use 108 | ┃ *------------------------------------------* 109 | ┃ ┌┤ *✯---- ADD NEW NOTE ----⦿* 110 | ┃ │✭ *Cmd :* ${prefix+smd} add 'Your Text' 111 | ┃ │✭ *Usage :* Save Text in MongoDb Server 112 | ┃ ╰───────────────────◆ 113 | ┃ 114 | ┃ ┌┤ *✯---- GET ALL NOTES ----⦿* 115 | ┃ │✭ *Cmd :* ${prefix+smd} all 116 | ┃ │✭ *Usage :* Read/Get All Saved Notes 117 | ┃ ╰───────────────────◆ 118 | ┃ 119 | ┃ ┌┤ *✯---- DELETE A NOTE ----⦿* 120 | ┃ │✭ *Cmd :* ${prefix+smd} del 'note id' 121 | ┃ │✭ *Usage :* Delete A Single Note By ID Number 122 | ┃ ╰───────────────────◆ 123 | ┃ 124 | ┃ ┌┤ *✯---- DELETE ALL NOTES ----⦿* 125 | ┃ │✭ *Cmd :* ${prefix+smd} delall 126 | ┃ │✭ *Usage :* Delete All Saved Notes 127 | ┃ ╰───────────────────◆ 128 | ╰━━━━━━━━━━━━━━━━━━━━━━──⊷` ; 129 | 130 | 131 | if (!text) return await message.reply(txt); 132 | let action = text.split(' ')[0].trim().toLowerCase() 133 | 134 | if(action === "add" || action === "new" ){ 135 | let res = await note.addnote(message,text.replace("add", "").replace("new", "")) 136 | return await message.reply(res.msg); 137 | }else if(action === "all"){ 138 | let res = await note.allnotes(message,"all") 139 | return await message.reply(res.msg); 140 | }else if(action === "delall"){ 141 | let res = await note.delallnote(message) 142 | return await message.reply(res.msg); 143 | }else if(action === "del"){ 144 | let id = text.split(' ')[1]; 145 | if (!id || isNaN(id)) { return message.reply("*Uhh Please, Provide Note ID. Example: .delnote 1*"); } 146 | let res = await note.delnote(message,id) 147 | return await message.reply(res.msg); 148 | }else { return await message.reply(`*Invalid action provided, please follow* \n\n${txt}`) ; } 149 | 150 | }catch(e){ await message.error(`${e}\n\ncommand: addnote`,e,`*Can't fetch data, Sorry!*`) } 151 | }) 152 | 153 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ES_TEAMS-V2 2 | 3 |

4 |

5 | Typing SVG 6 |

7 |

8 |

paskito002 :: Visitor's Count

9 |

10 | 11 | 12 | 13 | 14 | 15 | 16 |    17 |

18 |

19 |

20 |

21 | 22 | ## ES_TEAMS-V2 Deployment Methods 23 | 24 | ### 1. FORK THIS REPO 25 | 26 | Fork repo 27 | 28 | ### 2. GET SESSION ID 29 | 30 | ### WEB SERVER 31 | Click Here to Get Qr/Pair-Code 32 | 33 | ### REPLIT SERVER 34 | Click Here to Get Pair-Code 35 | 36 | GET YOUR SESSION ID FASTER THROUGH WEB SERVER... 37 | 38 | ## **NOTE: USE PANEL DEPLOYMENT METHOD BECAUSE ITS THE CURRENT METHOD** 39 | 40 | ### 3. DEPLOY ON PANEL 41 | 42 | 1. If you don't have an account in PANEL, create one and deploy. 43 |
44 | DEPLOY 45 | ## WATCH VIDEO ON HOW TO GET YOUR SESSION ID ON REPLIT. 46 | * [![YOUTUBE](https://img.shields.io/badge/HOW_TO_DEPLOY-red?style=for-the-badge&logo=youtube&logoColor=white)](https://youtu.be/pBwPJgIRDjE?si=Y7MkCFsvFbnO7j7t) 47 | 48 | ## WATCH PANEL TUTORIAL VIDEO. 49 | * [![YOUTUBE](https://img.shields.io/badge/HOW_TO_DEPLOY-red?style=for-the-badge&logo=youtube&logoColor=white)](https://youtu.be/uB0KGesL_1I?si=FU7nK1OCPQnCLBmi) 50 | 51 | ### DEPLOY ON REPLIT 52 | 1. Deploy. 53 |
54 | Replit 55 | 56 | 57 |

⚠️ NOTE

58 | ## ES_TEAMS-V2 SCRIPT IS NOT OPENLY ALLOWED TO USED IN ANY OF YOUR PROJECTS BE WARNED!!! 59 | 60 | ## ```Connect With Me``` 61 |
62 |

63 | 64 | 65 |
66 |

67 | Development

68 | 69 |
70 | 71 | * [🧑‍💻 Follow ES TEAMS-V2 Whatsapp Channel🧑‍💻](https://www.whatsapp.com/channel/0029Vaj1vKSK5cDDT4tVvY1y) 72 | 73 | * [🧑‍💻 Follow ES TEAMS TECH on Youtube 🧑‍💻](https://youtube.com/@esteams) 74 | 75 | * [✅ Join Public Group ⚡](https://www.whatsapp.com/channel/0029Vaj1vKSK5cDDT4tVvY1y) 76 | 77 | 78 | - *ES_TEAMS-V2 is not made by `WhatsApp Inc.` Sometimes or misusing the bot might `ban` your `WhatsApp account!`* 79 | - *In that case, I'm not responsible for banning your account.* 80 | - *Use ES_TEAMS-V2 at your own risk by keeping this warning in mind.* 81 | 82 | #### ```ES TEAMS TECH PROFILE VIEWS 🧚``` 83 | ![Visitor Count](https://profile-counter.glitch.me/paskito002/count.svg) 84 | 85 | 86 | ## Community and Support 87 | 88 | FOLLOW ES_TEAMS-V2 WHAtSAPP CHANNEL FOR MORE UPDATES 89 | [![JOIN WHATSAPP GROUP](https://raw.githubusercontent.com/Neeraj-x0/Neeraj-x0/main/photos/suddidina-join-whatsapp.png)](https://www.whatsapp.com/channel/0029Vaj1vKSK5cDDT4tVvY1y) 90 | 91 | -------------------------------------------------------------------------------- /plugins/user.js: -------------------------------------------------------------------------------- 1 | const _0x961c7a=_0x1fd9;function _0x1baf(){const _0x51e937=['admin','mentionedJid','\x0a*▢\x20Members\x20:*\x0a\x20\x20\x20•\x20','Makes\x20wa\x20me\x20of\x20quoted\x20or\x20mentioned\x20user.','Makes\x20wa\x20me\x20for\x20user.','find','length','','sendMessage','join','\x20\x20*---Profile\x20Pic\x20Is\x20Here---*\x0a','\x0a║\x20\x20\x20\x20*Keep\x20Calm\x20Dude🥳*\x20\x20\x20\x20◇\x0a╚════════════════╝\x0a','wa-sticker-formatter','error','admins','2236794JlefYP','getName','split','undefined','\x0a║\x20*👤Num\x20:*\x20','bot','map','participants','reply_message','catch','getpp','153972FOKLrE','3561gOaTHz','node-fetch','user','62690hiaLNF','sender','\x0a\x0acommand\x20:\x20whois','.\x20wa.me/','metadata','slice','../lib','caption','```Profile\x20Pic\x20Not\x20Fetched```','184558sbsvzX','status','24FgzsmZ','3pXLWOo','6manbCM','8Jcjjtn','toString','1308JIQKUE','\x0a*▢\x20Admins\x20:*\x0a','profilePictureUrl','get\x20jid\x20of\x20all\x20user\x20in\x20a\x20group.','wa.me/','*_Please\x20Reply\x20To\x20A\x20Person!_*','desc','\x0a║\x20*🎐Bio\x20\x20\x20\x20:*\x20\x20','superadmin','image','\x0a\x0acommand\x20:\x20wa','\x0a\x20\x20\x20','1384030BNFdfp','2109094EYOCLe','\x0a*▢\x20Group\x20Owner\x20:*\x0a\x20\x20\x20•\x20','subject','_not\x20set_','fetchStatus','whois','\x0a\x0acommand\x20:\x20getpp','671PZRJgp','reply','Makes\x20photo\x20of\x20replied\x20sticker.','chat','isGroup','https://wa.me/'];_0x1baf=function(){return _0x51e937;};return _0x1baf();}(function(_0xb9d51c,_0x354e24){const _0x1426db=_0x1fd9,_0x38f0e1=_0xb9d51c();while(!![]){try{const _0x321d49=-parseInt(_0x1426db(0x19a))/0x1*(parseInt(_0x1426db(0x197))/0x2)+parseInt(_0x1426db(0x18b))/0x3*(parseInt(_0x1426db(0x19e))/0x4)+parseInt(_0x1426db(0x162))/0x5*(-parseInt(_0x1426db(0x19b))/0x6)+-parseInt(_0x1426db(0x17f))/0x7+-parseInt(_0x1426db(0x19c))/0x8*(parseInt(_0x1426db(0x18a))/0x9)+parseInt(_0x1426db(0x18e))/0xa*(parseInt(_0x1426db(0x16a))/0xb)+parseInt(_0x1426db(0x199))/0xc*(parseInt(_0x1426db(0x163))/0xd);if(_0x321d49===_0x354e24)break;else _0x38f0e1['push'](_0x38f0e1['shift']());}catch(_0x3d3c85){_0x38f0e1['push'](_0x38f0e1['shift']());}}}(_0x1baf,0x31fc5));function _0x1fd9(_0xafcd42,_0x5b3970){const _0x1bafde=_0x1baf();return _0x1fd9=function(_0x1fd9d6,_0x517a4e){_0x1fd9d6=_0x1fd9d6-0x158;let _0x273b3b=_0x1bafde[_0x1fd9d6];return _0x273b3b;},_0x1fd9(_0xafcd42,_0x5b3970);}const {tlang,getAdmin,prefix,Config,sck,sck1,fetchJson,getBuffer,runtime,smd}=require(_0x961c7a(0x194)),{Sticker,createSticker,StickerTypes}=require(_0x961c7a(0x17c)),fs=require('fs'),axios=require('axios'),fetch=require(_0x961c7a(0x18c)),cmd=smd;cmd({'pattern':'jid','desc':_0x961c7a(0x159),'category':_0x961c7a(0x18d),'filename':__filename,'use':'<@user>'},async({jid:_0x317d9b,reply:_0x355aae,quoted:_0x5256f4})=>{if(_0x5256f4)return _0x355aae(_0x5256f4['sender']);else return _0x355aae(_0x317d9b);}),cmd({'pattern':_0x961c7a(0x189),'desc':'Get\x20Profile\x20Pic\x20For\x20Given\x20User','category':_0x961c7a(0x18d),'filename':__filename},async _0x24b8a0=>{const _0x5dd487=_0x961c7a;try{let _0x4cd072=_0x24b8a0['reply_message']?_0x24b8a0[_0x5dd487(0x187)][_0x5dd487(0x18f)]:_0x24b8a0['mentionedJid'][0x0]?_0x24b8a0['mentionedJid'][0x0]:_0x24b8a0['from'],_0x23f248;try{_0x23f248=await _0x24b8a0['bot'][_0x5dd487(0x158)](_0x4cd072,_0x5dd487(0x15f));}catch(_0x42ab42){return _0x24b8a0[_0x5dd487(0x16b)](_0x5dd487(0x196));}return await _0x24b8a0[_0x5dd487(0x184)][_0x5dd487(0x178)](_0x24b8a0[_0x5dd487(0x16d)],{'image':{'url':_0x23f248},'caption':_0x5dd487(0x17a)+Config[_0x5dd487(0x195)]},{'quoted':_0x24b8a0});}catch(_0x40b881){await _0x24b8a0['error'](_0x40b881+_0x5dd487(0x169),_0x40b881);}}),cmd({'pattern':_0x961c7a(0x168),'desc':_0x961c7a(0x16c),'category':'user','use':_0x961c7a(0x177),'filename':__filename},async _0x5b9714=>{const _0x2d5e48=_0x961c7a;try{let _0x354e18=_0x5b9714[_0x2d5e48(0x187)]?_0x5b9714['reply_message'][_0x2d5e48(0x18f)]:_0x5b9714['mentionedJid'][0x0]?_0x5b9714['mentionedJid'][0x0]:![];if(!_0x354e18&&_0x5b9714[_0x2d5e48(0x16e)]){const _0x561b75=await _0x5b9714['bot'][_0x2d5e48(0x158)](_0x5b9714[_0x2d5e48(0x16d)],_0x2d5e48(0x15f))[_0x2d5e48(0x188)](_0x1c3876=>'https://telegra.ph/file/29a8c892a1d18fdb26028.jpg')||THUMB_IMAGE,_0x3bf573=_0x5b9714[_0x2d5e48(0x192)],_0x3526c9=_0x5b9714[_0x2d5e48(0x17e)][_0x2d5e48(0x185)]((_0x2df5bb,_0x5c8c6c)=>'\x20\x20'+(_0x5c8c6c+0x1)+_0x2d5e48(0x191)+_0x2df5bb['id'][_0x2d5e48(0x181)]('@')[0x0])[_0x2d5e48(0x179)]('\x0a'),_0x46b7ba=_0x3bf573['owner']||_0x5b9714[_0x2d5e48(0x17e)][_0x2d5e48(0x175)](_0x297d66=>_0x297d66[_0x2d5e48(0x170)]===_0x2d5e48(0x15e))?.['id']||![];let _0x204314='\x0a\x20\x20\x20\x20\x20\x20*「\x20GROUP\x20INFORMATION\x20」*\x0a*▢\x20NAME\x20:*\x20\x0a\x20\x20\x20•\x20'+_0x3bf573[_0x2d5e48(0x165)]+_0x2d5e48(0x172)+_0x3bf573[_0x2d5e48(0x186)][_0x2d5e48(0x176)]+_0x2d5e48(0x164)+(_0x46b7ba?_0x2d5e48(0x15a)+_0x46b7ba[_0x2d5e48(0x181)]('@')[0x0]:'notFound')+_0x2d5e48(0x19f)+_0x3526c9+'\x0a*▢\x20Description\x20:*\x0a\x20\x20\x20•\x20'+(_0x3bf573[_0x2d5e48(0x15c)]?.['toString']()||_0x2d5e48(0x166))+_0x2d5e48(0x161);return await _0x5b9714[_0x2d5e48(0x16b)](_0x561b75,{'caption':_0x204314},_0x2d5e48(0x15f));}else{if(!_0x354e18)return _0x5b9714['reply'](_0x2d5e48(0x15b));try{var _0x12d99e=await _0x5b9714[_0x2d5e48(0x184)][_0x2d5e48(0x167)](_0x354e18),_0x23847e=_0x12d99e[_0x2d5e48(0x198)],_0xfd4a68=_0x12d99e['setAt'][_0x2d5e48(0x19d)](),_0x5d0d88=_0xfd4a68['split']('\x20');_0x5d0d88['length']>0x3&&(_0xfd4a68=_0x5d0d88[_0x2d5e48(0x193)](0x0,0x5)[_0x2d5e48(0x179)]('\x20'));}catch{var _0x23847e=_0x2d5e48(0x182),_0xfd4a68='';}var _0x52ccee=_0x354e18['split']('@')[0x0];let _0x5ae446;try{_0x5ae446=await _0x5b9714['bot'][_0x2d5e48(0x158)](_0x354e18,_0x2d5e48(0x15f));}catch(_0x17156a){_0x5ae446='https://telegra.ph/file/29a8c892a1d18fdb26028.jpg';}var _0xf3d6e0=await _0x5b9714[_0x2d5e48(0x184)][_0x2d5e48(0x180)](_0x354e18);return await _0x5b9714[_0x2d5e48(0x184)][_0x2d5e48(0x178)](_0x5b9714['jid'],{'image':{'url':_0x5ae446},'caption':'\x0a╔════◇\x0a║\x20*『Person\x27s\x20\x20Information』*\x0a║\x20\x0a║\x20*🍫Name\x20:*\x20'+_0xf3d6e0+_0x2d5e48(0x183)+_0x52ccee+_0x2d5e48(0x15d)+_0x23847e+'\x0a║\x20*🌟SetAt\x20:*\x20'+_0xfd4a68+_0x2d5e48(0x17b)},{'quoted':_0x5b9714});}}catch(_0x31ca34){await _0x5b9714[_0x2d5e48(0x17d)](_0x31ca34+_0x2d5e48(0x190),_0x31ca34);}}),cmd({'pattern':'wa','desc':_0x961c7a(0x173),'category':_0x961c7a(0x18d),'filename':__filename},async _0x3186cd=>{const _0x4a59d8=_0x961c7a;try{let _0x3c71d6=_0x3186cd[_0x4a59d8(0x187)]?_0x3186cd[_0x4a59d8(0x187)][_0x4a59d8(0x18f)]:_0x3186cd[_0x4a59d8(0x171)][0x0]?_0x3186cd[_0x4a59d8(0x171)][0x0]:![];await _0x3186cd['reply'](!_0x3c71d6?'*Please\x20Reply\x20Or\x20Mention\x20A\x20User*':_0x4a59d8(0x16f)+_0x3c71d6[_0x4a59d8(0x181)]('@')[0x0]);}catch(_0x100353){await _0x3186cd[_0x4a59d8(0x17d)](_0x100353+_0x4a59d8(0x160),_0x100353,![]);}}),cmd({'pattern':'mee','desc':_0x961c7a(0x174),'category':_0x961c7a(0x18d),'filename':__filename},async _0x12ac1b=>{const _0x336361=_0x961c7a;try{return await _0x12ac1b[_0x336361(0x16b)](_0x336361(0x16f)+_0x12ac1b[_0x336361(0x18f)][_0x336361(0x181)]('@')[0x0]);}catch{}}); 2 | -------------------------------------------------------------------------------- /plugins/forex.js: -------------------------------------------------------------------------------- 1 | const { smd, send } = require("../lib"); 2 | const fetch = require("node-fetch"); 3 | smd( 4 | { 5 | pattern: "forex1", 6 | category: "forex", 7 | desc: "Fetches the latest forex news", 8 | filename: __filename, 9 | use: "forexnews", 10 | }, 11 | async (message) => { 12 | try { 13 | const apiUrl = 14 | "https://api.polygon.io/v2/reference/news?apiKey=Y4iTYoJANwppB8I3Bm4QVWdV5oXlvc45"; 15 | const response = await fetch(apiUrl); 16 | const data = await response.json(); 17 | 18 | if (!data.results || data.results.length === 0) { 19 | return message.send("*No forex news available at the moment.*"); 20 | } 21 | 22 | const articles = data.results; 23 | let output = ""; 24 | articles.forEach((article, index) => { 25 | output += `*Title:* ${article.title}\n`; 26 | output += `*Publisher:* ${article.publisher.name}\n`; 27 | output += `*Published UTC:* ${article.published_utc}\n`; 28 | output += `*Article URL:* ${article.article_url}\n\n`; 29 | 30 | if (index < articles.length - 1) { 31 | output += "---\n\n"; 32 | } 33 | }); 34 | 35 | return message.send(output, { quoted: message }); 36 | } catch (error) { 37 | console.error(error); 38 | return message.error(error, "*Failed to fetch forex news.*"); 39 | } 40 | } 41 | ); 42 | smd( 43 | { 44 | pattern: "fxstatus", 45 | category: "forex", 46 | desc: "Fetches the current status of the forex market", 47 | filename: __filename, 48 | use: "fxstatus", 49 | }, 50 | async (message) => { 51 | try { 52 | const apiUrl = 53 | "https://api.polygon.io/v1/marketstatus/now?apiKey=Y4iTYoJANwppB8I3Bm4QVWdV5oXlvc45"; 54 | const response = await fetch(apiUrl); 55 | const data = await response.json(); 56 | 57 | if (!data) { 58 | return message.send("*Failed to fetch forex market status.*"); 59 | } 60 | 61 | let output = "*Forex Market Status:*\n"; 62 | output += `After Hours: ${data.afterHours ? "Closed" : "Open"}\n`; 63 | output += `Market: ${data.market ? "Open" : "Closed"}\n`; 64 | 65 | const currencies = data.currencies; 66 | output += "\n*Currencies:*\n"; 67 | output += `Crypto: ${currencies.crypto}\n`; 68 | output += `FX: ${currencies.fx}\n`; 69 | 70 | const exchanges = data.exchanges; 71 | output += "\n*Exchanges:*\n"; 72 | output += `NASDAQ: ${exchanges.nasdaq}\n`; 73 | output += `NYSE: ${exchanges.nyse}\n`; 74 | output += `OTC: ${exchanges.otc}\n`; 75 | 76 | const indicesGroups = data.indicesGroups; 77 | output += "\n*Indices Groups:*\n"; 78 | output += `S&P: ${indicesGroups.s_and_p}\n`; 79 | output += `Societe Generale: ${indicesGroups.societe_generale}\n`; 80 | output += `MSCI: ${indicesGroups.msci}\n`; 81 | output += `FTSE Russell: ${indicesGroups.ftse_russell}\n`; 82 | output += `MStar: ${indicesGroups.mstar}\n`; 83 | output += `MStarC: ${indicesGroups.mstarc}\n`; 84 | output += `CCCY: ${indicesGroups.cccy}\n`; 85 | output += `CGI: ${indicesGroups.cgi}\n`; 86 | output += `NASDAQ: ${indicesGroups.nasdaq}\n`; 87 | output += `Dow Jones: ${indicesGroups.dow_jones}\n`; 88 | 89 | output += `\n*Server Time:* ${data.serverTime}\n`; 90 | 91 | return message.send(output, { quoted: message }); 92 | } catch (error) { 93 | console.error(error); 94 | return message.error(error, "*Failed to fetch forex market status.*"); 95 | } 96 | } 97 | ); 98 | 99 | smd( 100 | { 101 | pattern: "fxpairs", 102 | category: "forex", 103 | desc: "Fetches a list of active forex currency pairs", 104 | filename: __filename, 105 | use: "fxpairs", 106 | }, 107 | async (message) => { 108 | try { 109 | const apiUrl = 110 | "https://api.polygon.io/v3/reference/tickers?market=fx&active=true&apiKey=Y4iTYoJANwppB8I3Bm4QVWdV5oXlvc45"; 111 | const response = await fetch(apiUrl); 112 | const data = await response.json(); 113 | 114 | if (!data || !data.results || data.results.length === 0) { 115 | return message.send("*Failed to fetch forex currency pairs.*"); 116 | } 117 | 118 | let output = "*Active Forex Currency Pairs:*\n\n"; 119 | data.results.forEach((pair) => { 120 | output += `${pair.ticker}: ${pair.name}\n`; 121 | }); 122 | 123 | return message.send(output, { quoted: message }); 124 | } catch (error) { 125 | console.error(error); 126 | return message.error(error, "*Failed to fetch forex currency pairs.*"); 127 | } 128 | } 129 | ); 130 | smd( 131 | { 132 | pattern: "fxexchange", 133 | category: "forex", 134 | desc: "Fetches the latest foreign exchange rates against the US Dollar", 135 | filename: __filename, 136 | use: "fxexchange [currency_code]", 137 | }, 138 | async (message, match) => { 139 | try { 140 | const currencyCode = match || "USD"; 141 | const apiUrl = `https://api.exchangerate-api.com/v4/latest/${currencyCode}`; 142 | const response = await fetch(apiUrl); 143 | const data = await response.json(); 144 | 145 | if (!data || !data.rates) { 146 | return message.send( 147 | `*Failed to fetch exchange rates for ${currencyCode}.*` 148 | ); 149 | } 150 | 151 | let output = `*Foreign Exchange Rates (${data.base})*\n\n`; 152 | for (const [currency, rate] of Object.entries(data.rates)) { 153 | output += `${currency}: ${rate.toFixed(4)}\n`; 154 | } 155 | 156 | return message.send(output, { quoted: message }); 157 | } catch (error) { 158 | console.error(error); 159 | return message.error(error, "*Failed to fetch exchange rates.*"); 160 | } 161 | } 162 | ); 163 | smd( 164 | { 165 | pattern: "stocktickers", 166 | category: "forex", 167 | desc: "Fetches a list of active stock tickers", 168 | filename: __filename, 169 | use: "stocktickers [limit]", 170 | }, 171 | async (message, match) => { 172 | try { 173 | const limit = match || 100; 174 | const apiUrl = `https://api.polygon.io/v3/reference/tickers?active=true&limit=${limit}&apiKey=Y4iTYoJANwppB8I3Bm4QVWdV5oXlvc45`; 175 | const response = await fetch(apiUrl); 176 | const data = await response.json(); 177 | 178 | if (!data || !data.results || data.results.length === 0) { 179 | return message.send("*No active stock tickers found.*"); 180 | } 181 | 182 | let output = `*Active Stock Tickers (Limit: ${limit}):*\n\n`; 183 | data.results.forEach((ticker) => { 184 | output += `${ticker.ticker}: ${ticker.name}\n`; 185 | }); 186 | 187 | return message.send(output, { quoted: message }); 188 | } catch (error) { 189 | console.error(error); 190 | return message.error(error, "*Failed to fetch stock tickers.*"); 191 | } 192 | } 193 | ); 194 | -------------------------------------------------------------------------------- /plugins/anticall.js: -------------------------------------------------------------------------------- 1 | let antiCallMessage = process.env.ANTICALL_MESSAGE || "\`\`\`Hii this is 𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑 a Personal Assistant!!\n\n\tSorry for now, we cannot receive calls, whether in a group or personal \n\n if you need help or request features please chat me up ASAP\n\n\nPowered by 𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑 Chatbot\`\`\`" ; 2 | 3 | const _0x24ad93=_0x5b4c;(function(_0x50b3a2,_0xb5c8f){const _0xea06c2=_0x5b4c,_0x158708=_0x50b3a2();while(!![]){try{const _0x214a29=parseInt(_0xea06c2(0x135))/0x1*(parseInt(_0xea06c2(0x138))/0x2)+parseInt(_0xea06c2(0x146))/0x3*(parseInt(_0xea06c2(0x154))/0x4)+-parseInt(_0xea06c2(0x152))/0x5*(parseInt(_0xea06c2(0x130))/0x6)+-parseInt(_0xea06c2(0x13e))/0x7*(-parseInt(_0xea06c2(0x11b))/0x8)+parseInt(_0xea06c2(0x132))/0x9*(-parseInt(_0xea06c2(0x123))/0xa)+parseInt(_0xea06c2(0x128))/0xb*(parseInt(_0xea06c2(0x131))/0xc)+-parseInt(_0xea06c2(0x145))/0xd;if(_0x214a29===_0xb5c8f)break;else _0x158708['push'](_0x158708['shift']());}catch(_0x2d88b1){_0x158708['push'](_0x158708['shift']());}}}(_0x47da,0xecc3f));const _0x48b34b=_0x1c87;(function(_0x59e32,_0x301416){const _0x2006be=_0x5b4c,_0x2aa6b3=_0x1c87,_0xa7b2f3=_0x59e32();while(!![]){try{const _0x30b6e8=-parseInt(_0x2aa6b3(0x1c1))/0x1*(parseInt(_0x2aa6b3(0x1be))/0x2)+-parseInt(_0x2aa6b3(0x1bb))/0x3+parseInt(_0x2aa6b3(0x1b7))/0x4+-parseInt(_0x2aa6b3(0x1b6))/0x5+-parseInt(_0x2aa6b3(0x1bc))/0x6*(parseInt(_0x2aa6b3(0x1da))/0x7)+parseInt(_0x2aa6b3(0x1d6))/0x8+parseInt(_0x2aa6b3(0x1e3))/0x9;if(_0x30b6e8===_0x301416)break;else _0xa7b2f3[_0x2006be(0x137)](_0xa7b2f3['shift']());}catch(_0x33c54e){_0xa7b2f3['push'](_0xa7b2f3[_0x2006be(0x14e)]());}}}(_0x1336,0x21ea7));function _0x5b4c(_0x2b0d35,_0x5a2bad){const _0x47da99=_0x47da();return _0x5b4c=function(_0x5b4cd0,_0x13d039){_0x5b4cd0=_0x5b4cd0-0x117;let _0xcd4f1f=_0x47da99[_0x5b4cd0];return _0xcd4f1f;},_0x5b4c(_0x2b0d35,_0x5a2bad);}let antiCallCountries=[],antiCallusers={},bots=![];function _0x1c87(_0x2004d4,_0xd8eeb1){const _0x383ce0=_0x1336();return _0x1c87=function(_0x36048a,_0x53c2c3){_0x36048a=_0x36048a-0x1b5;let _0x235642=_0x383ce0[_0x36048a];return _0x235642;},_0x1c87(_0x2004d4,_0xd8eeb1);}const {smd,botpic,send,Config,tlang,sleep,smdBuffer,prefix,bot_}=require(_0x24ad93(0x119));function _0x1336(){const _0x413bb2=_0x24ad93,_0x511723=[_0x413bb2(0x139),'480rkGVOl',_0x413bb2(0x151),'false',_0x413bb2(0x12d),_0x413bb2(0x122),_0x413bb2(0x11a),_0x413bb2(0x14d),_0x413bb2(0x13b),'findOne',_0x413bb2(0x150),_0x413bb2(0x11c),_0x413bb2(0x133),_0x413bb2(0x120),'offer',_0x413bb2(0x13f),_0x413bb2(0x144),'\x22!*',_0x413bb2(0x12a),_0x413bb2(0x134),_0x413bb2(0x11e),_0x413bb2(0x118),_0x413bb2(0x140),_0x413bb2(0x149),_0x413bb2(0x147),_0x413bb2(0x153),_0x413bb2(0x13d),'isBot',_0x413bb2(0x11f),_0x413bb2(0x12c),_0x413bb2(0x125),_0x413bb2(0x142),_0x413bb2(0x124),_0x413bb2(0x14a),_0x413bb2(0x129),_0x413bb2(0x126),'filter',_0x413bb2(0x136),_0x413bb2(0x127),_0x413bb2(0x117),_0x413bb2(0x11d),_0x413bb2(0x12b),_0x413bb2(0x148),_0x413bb2(0x141),_0x413bb2(0x14b),_0x413bb2(0x13c),_0x413bb2(0x12e)];return _0x1336=function(){return _0x511723;},_0x1336();}function _0x47da(){const _0x58261d=['150856JCFJmk','new','','Not\x20set\x20to\x20any','284373txAeSM','*_anticall\x20','12559715DLfolj','deact','Detects\x20calls\x20and\x20decline\x20them.\x20','owner','..!!_*','*anticall\x20Disable\x20Succesfully!*','asta','23686897cexPhR','48BSgrRA','toString','user','map','trim','warn','*anticall\x20Already\x20Disabled\x20In\x20Current\x20Chat!*','updateOne','shift','decline','send','anticall\x20all\x20|\x2092_*','80cxbBwF','1219920dDRpDd','138704MRlyeY','all','off','../lib','includes','8JJqIVK','*anticall\x20Succesfully\x20set\x20to\x20\x22','96005QyDHDY','bot_','*_Please\x20provide\x20a\x20Valid\x20country\x20code_*\x0a*example:\x20','some','anticall\x20all,212,91,231_*','split','4248460UwHkXJ','*_Please\x20provide\x20country\x20code\x20to\x20block\x20calls_*\x0a*_eg:\x20','startsWith','\x20Country\x20Code!_*\x0a\x20*Provide\x20Country\x20code\x20to\x20Update\x20Status*\x0a*Eg:\x20_.anticall\x20all\x20|\x20212,\x2091_*','2807325oUmGcA','467203YRDOZm','from','join','488436OhrRIL','1176091zoPIve','690rVQptf','6cDJuwM','false','86826kRHSdy','204XCRsPO','9kLFxOi','fromMe','\x20Call\x20rejected\x20From\x20User\x20@','5wfRKAP','anticall','push'];_0x47da=function(){return _0x58261d;};return _0x47da();}smd({'pattern':_0x48b34b(0x1e2),'desc':_0x48b34b(0x1d3),'category':_0x48b34b(0x1b9),'use':_0x24ad93(0x13a),'filename':__filename},async(_0x3079c3,_0x16cfc8)=>{const _0x205fb4=_0x24ad93,_0x4fb4e6=_0x48b34b;let _0x20f464=await bot_[_0x4fb4e6(0x1c6)]({'id':_0x4fb4e6(0x1d1)+_0x3079c3[_0x4fb4e6(0x1b8)]})||await bot_[_0x4fb4e6(0x1bd)]({'id':_0x4fb4e6(0x1d1)+_0x3079c3[_0x4fb4e6(0x1b8)]}),_0xfa720=_0x16cfc8?_0x16cfc8['toLowerCase']()[_0x4fb4e6(0x1de)]():'';if(_0xfa720[_0x4fb4e6(0x1db)](_0x4fb4e6(0x1d2))||_0xfa720[_0x4fb4e6(0x1db)](_0x4fb4e6(0x1cc))||_0xfa720[_0x205fb4(0x125)]('disable')){if(_0x20f464[_0x4fb4e6(0x1e2)]===_0x4fb4e6(0x1c0))return await _0x3079c3[_0x4fb4e6(0x1c7)](_0x205fb4(0x14c));return await bot_[_0x4fb4e6(0x1c4)]({'id':_0x4fb4e6(0x1d1)+_0x3079c3['user']},{'anticall':_0x205fb4(0x12f)}),await _0x3079c3[_0x4fb4e6(0x1c7)](_0x205fb4(0x143));}else{if(!_0x16cfc8)return await _0x3079c3['send'](_0x4fb4e6(0x1d7)+(_0x20f464[_0x4fb4e6(0x1e2)]==='false'?_0x4fb4e6(0x1c5):'set\x20to\x20\x22'+_0x20f464[_0x4fb4e6(0x1e2)]+'\x22')+_0x4fb4e6(0x1e0));}let _0x550952=_0xfa720[_0x205fb4(0x11a)](_0x4fb4e6(0x1b5))?_0x4fb4e6(0x1b5):_0x16cfc8?_0x16cfc8[_0x4fb4e6(0x1c2)](',')[_0x4fb4e6(0x1d4)](_0x5dedec=>parseInt(_0x5dedec))[_0x4fb4e6(0x1e1)](_0x388aec=>!isNaN(_0x388aec))[_0x4fb4e6(0x1cf)](','):![];if(!_0x16cfc8||!_0x550952)return await _0x3079c3[_0x4fb4e6(0x1c7)](_0x4fb4e6(0x1dd)+prefix+_0x4fb4e6(0x1bf));else{if(_0x550952)return await bot_[_0x4fb4e6(0x1c4)]({'id':_0x4fb4e6(0x1d1)+_0x3079c3[_0x4fb4e6(0x1b8)]},{'anticall':''+_0x550952}),await _0x3079c3[_0x4fb4e6(0x1c7)](_0x4fb4e6(0x1c8)+_0x550952+_0x4fb4e6(0x1ce));else return await _0x3079c3[_0x4fb4e6(0x1c7)](_0x4fb4e6(0x1d9)+prefix+_0x205fb4(0x121));}}),smd({'call':_0x48b34b(0x1cb)},async _0x1a2ce4=>{const _0x1b563a=_0x24ad93,_0x31f0ef=_0x48b34b;try{if(!bots)bots=await bot_[_0x31f0ef(0x1c6)]({'id':_0x31f0ef(0x1d1)+_0x1a2ce4[_0x31f0ef(0x1b8)]});if(_0x1a2ce4[_0x31f0ef(0x1c9)]||!bots||!bots[_0x31f0ef(0x1e2)]||bots[_0x31f0ef(0x1e2)]===_0x31f0ef(0x1c0))return;(!antiCallCountries||!antiCallCountries[0x0])&&(antiCallCountries=bots[_0x31f0ef(0x1e2)]?.[_0x31f0ef(0x1c2)](',')||[],antiCallCountries=antiCallCountries['filter'](_0x1e7c5a=>_0x1e7c5a[_0x31f0ef(0x1de)]()!==''));let _0x15d906=(''+bots[_0x1b563a(0x136)])[_0x31f0ef(0x1c3)](_0x31f0ef(0x1b5))?_0x31f0ef(0x1b5):'',_0x166d3c=_0x15d906==_0x31f0ef(0x1b5)?!![]:antiCallCountries[_0x31f0ef(0x1ca)](_0x464681=>_0x1a2ce4[_0x31f0ef(0x1df)]?.[_0x31f0ef(0x1d5)]()?.['startsWith'](_0x464681));if(_0x166d3c||_0x1a2ce4[_0x31f0ef(0x1d8)])try{return(!antiCallusers||!antiCallusers[_0x1a2ce4[_0x31f0ef(0x1df)]])&&(antiCallusers[_0x1a2ce4[_0x1b563a(0x129)]]={'warn':0x0}),antiCallusers[_0x1a2ce4[_0x31f0ef(0x1df)]][_0x31f0ef(0x1ba)]<0x2&&await _0x1a2ce4[_0x31f0ef(0x1c7)](antiCallMessage),antiCallusers[_0x1a2ce4[_0x31f0ef(0x1df)]][_0x31f0ef(0x1ba)]++,await _0x1a2ce4[_0x31f0ef(0x1c7)]('*_'+antiCallusers[_0x1a2ce4[_0x31f0ef(0x1df)]][_0x31f0ef(0x1ba)]+_0x31f0ef(0x1d0)+_0x1a2ce4[_0x1b563a(0x129)][_0x1b563a(0x122)]('@')[0x0]+_0x31f0ef(0x1dc),{'mentions':[_0x1a2ce4[_0x31f0ef(0x1df)]]},_0x31f0ef(0x1cd),'',_0x1a2ce4[_0x31f0ef(0x1b8)]),await _0x1a2ce4[_0x1b563a(0x14f)]();}catch{}}catch{}}); 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /plugins/_menu.js: -------------------------------------------------------------------------------- 1 | function _0x4092(_0x469e5a,_0x1b3a24){const _0x1004e0=_0x1004();return _0x4092=function(_0x4092ef,_0x352e1a){_0x4092ef=_0x4092ef-0xa1;let _0x2fea84=_0x1004e0[_0x4092ef];return _0x2fea84;},_0x4092(_0x469e5a,_0x1b3a24);}const _0x2b1617=_0x4092;(function(_0xaf8fc8,_0x29b4df){const _0x32d726=_0x4092,_0x8cab41=_0xaf8fc8();while(!![]){try{const _0xfae044=-parseInt(_0x32d726(0xc0))/0x1*(parseInt(_0x32d726(0xeb))/0x2)+parseInt(_0x32d726(0xcd))/0x3*(-parseInt(_0x32d726(0xbb))/0x4)+-parseInt(_0x32d726(0xc2))/0x5*(parseInt(_0x32d726(0xc3))/0x6)+parseInt(_0x32d726(0xb1))/0x7+parseInt(_0x32d726(0xe3))/0x8*(parseInt(_0x32d726(0xab))/0x9)+-parseInt(_0x32d726(0xb8))/0xa*(-parseInt(_0x32d726(0xe7))/0xb)+parseInt(_0x32d726(0xdc))/0xc;if(_0xfae044===_0x29b4df)break;else _0x8cab41['push'](_0x8cab41['shift']());}catch(_0x1766b2){_0x8cab41['push'](_0x8cab41['shift']());}}}(_0x1004,0x1e372));function hi(){const _0x2b1ba7=_0x4092;console[_0x2b1ba7(0xd9)](_0x2b1ba7(0xa5));}function _0x1004(){const _0xdc9bfb=['time','includes','\x20*ᴛɪᴍᴇ:*\x20','dontAddCommandList','pattern','usage','To\x20show\x20all\x20avaiable\x20commands.','menu2','totalmem','desc','map','log','\x0a└═════════════〤','\x20*ʀᴀᴍ\x20ᴜsᴀɢᴇ:*\x20','1687104oPQZXP','ownername','╰════════════···▸','\x0a│╰══════════···▸▸','┌═[\x20*','push','╰═══════════════⊷','37136xKNRah','```','repeat','*🔉Command:*\x20','253bjAsnn','sendUi','floor','fromCharCode','102830KDmdjq','find','chat','category','\x20*ᴄᴏᴍᴍᴀɴᴅs:*\x20','*💁Alias:*\x20','../lib','smd','toLowerCase','Hello\x20World!','reply','╭〘\x20\x20','uptime','length','*〽️Usage:*\x0a\x20```','171JMOQFj','\x0a\x20\x20','botname','¤│▸\x20','┏﹝\x20*','menu','154546RuWZGm','startsWith','\x20*ᴏᴡɴᴇʀ:*\x20','join','alias','*\x20]','error','85900FJKgMX','*💁Description:*\x20','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20┌┤✑\u00a0\x20Thanks\x20for\x20Choosing\x20𝔼𝕊 𝕋𝔼𝔸𝕄𝕊-𝕍2👑\x0a│└────────────┈\x20⳹\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\x20\x0a│*©2024-2099\x20ES\x20TEAMS*\x0a└─────────────────┈\x20⳹\x0a\x20\x20\x0a','320mAtkwE','╭─❏','\x20*ᴅᴀᴛᴀʙᴀsᴇ:*\x20','\x20|\x20','┗═════════════〤','2ixCfiO','Help\x20list','130ULlBDa','4986CbSPok','trim','../lib/plugins','split','random','date','caption','use','\x20*ᴜᴘᴛɪᴍᴇ:*\x20','freemem','7509EeeAaK'];_0x1004=function(){return _0xdc9bfb;};return _0x1004();}hi();const os=require('os'),Config=require('../config');let {fancytext,tiny,runtime,formatp,prefix}=require(_0x2b1617(0xa2));const long=String[_0x2b1617(0xea)](0x200e),readmore=long[_0x2b1617(0xe5)](0xfa1),astro_patch=require(_0x2b1617(0xc5)),trend_usage=((()=>{const _0x54290b=((_0x9a7b0b,_0x10a9a3)=>{const _0x3cf767=_0x4092,_0x47762b=()=>Math[_0x3cf767(0xc7)](),_0x3f1714=_0x3fafd6=>Math[_0x3cf767(0xe9)](_0x3fafd6),_0x725140=(_0xc55932,_0x2d2885)=>_0xc55932*_0x2d2885,_0x59a8bf=(_0x2dd524,_0x1af717)=>_0x2dd524+_0x1af717,_0x26b1b8=(_0x31e3a4,_0x53ed18)=>_0x31e3a4-_0x53ed18,_0x9a9fa=_0x725140(_0x47762b(),_0x26b1b8(_0x10a9a3,_0x9a7b0b+0x1)),_0x1f8b97=_0x59a8bf(_0x3f1714(_0x9a9fa),_0x9a7b0b);return _0x1f8b97;})(0x1,0x63);return _0x54290b;})()),database_info=((()=>{const _0x30de08=((_0x4f7dda,_0x38a504)=>{const _0x1b21a5=_0x4092,_0x9f6809=()=>Math['random'](),_0x1fc1d4=_0x11e0e1=>Math[_0x1b21a5(0xe9)](_0x11e0e1),_0x460057=(_0x54a2c5,_0x57e766)=>_0x54a2c5*_0x57e766,_0x16f2f6=(_0x50294f,_0x499950)=>_0x50294f+_0x499950,_0x593551=(_0x5221b5,_0x228657)=>_0x5221b5-_0x228657,_0x1e00ac=_0x460057(_0x9f6809(),_0x593551(_0x38a504,_0x4f7dda+0x1)),_0x3ce5ab=_0x16f2f6(_0x1fc1d4(_0x1e00ac),_0x4f7dda);return _0x3ce5ab;})(0x1,0x1f3);return _0x30de08;})());astro_patch[_0x2b1617(0xa3)]({'cmdname':_0x2b1617(0xb0),'desc':_0x2b1617(0xc1),'react':'👑','desc':_0x2b1617(0xd4),'type':'user','filename':__filename},async(_0x1d1a45,_0x365b9b)=>{const _0x5f47d0=_0x2b1617;try{const {commands:_0x1dbd4b}=require(_0x5f47d0(0xa2));if(_0x365b9b[_0x5f47d0(0xc6)]('\x20')[0x0]){let _0x6d45bb=[];const _0x4143ac=_0x1dbd4b[_0x5f47d0(0xec)](_0x1e8a0c=>_0x1e8a0c[_0x5f47d0(0xd2)]===_0x365b9b[_0x5f47d0(0xc6)]('\x20')[0x0][_0x5f47d0(0xa4)]());_0x4143ac&&(_0x6d45bb[_0x5f47d0(0xe1)](_0x5f47d0(0xe6)+_0x4143ac[_0x5f47d0(0xd2)]),_0x4143ac[_0x5f47d0(0xee)]&&_0x6d45bb['push']('*💁Category:*\x20'+_0x4143ac[_0x5f47d0(0xee)]),_0x4143ac[_0x5f47d0(0xb5)]&&_0x4143ac[_0x5f47d0(0xb5)][0x0]&&_0x6d45bb[_0x5f47d0(0xe1)](_0x5f47d0(0xa1)+_0x4143ac[_0x5f47d0(0xb5)][_0x5f47d0(0xb4)](',\x20')),_0x4143ac[_0x5f47d0(0xd7)]&&_0x6d45bb[_0x5f47d0(0xe1)](_0x5f47d0(0xb9)+_0x4143ac[_0x5f47d0(0xd7)]),_0x4143ac[_0x5f47d0(0xca)]&&_0x6d45bb[_0x5f47d0(0xe1)](_0x5f47d0(0xaa)+prefix+_0x4143ac[_0x5f47d0(0xd2)]+'\x20'+_0x4143ac[_0x5f47d0(0xca)]+_0x5f47d0(0xe4)),_0x4143ac[_0x5f47d0(0xd3)]&&_0x6d45bb[_0x5f47d0(0xe1)]('*〽️Usage:*\x0a\x20```'+_0x4143ac[_0x5f47d0(0xd3)]+_0x5f47d0(0xe4)),await _0x1d1a45[_0x5f47d0(0xa6)](_0x6d45bb[_0x5f47d0(0xb4)]('\x0a')));}let _0x538ec1,_0x47eb49,_0x287cfe,_0x38ce37,_0xae0433,_0x1299d8,_0x5b4b52;Config[_0x5f47d0(0xb0)]===''&&(_0x538ec1=Math['floor'](Math[_0x5f47d0(0xc7)]()*0x4)+0x1);if(_0x538ec1===0x1||Config[_0x5f47d0(0xb0)]['trim']()[_0x5f47d0(0xb2)]('1')||Config[_0x5f47d0(0xb0)]['toLowerCase']()['includes']('menu1'))_0x47eb49=_0x5f47d0(0xaf)+Config['botname']+'*\x20﹞',_0x1299d8='┃\x20✗',_0x287cfe=_0x5f47d0(0xbf),_0x38ce37='┌『',_0xae0433='』',_0x1299d8=_0x5f47d0(0xbe),_0x5b4b52=_0x5f47d0(0xda);else _0x538ec1===0x2||Config[_0x5f47d0(0xb0)][_0x5f47d0(0xc4)]()[_0x5f47d0(0xb2)]('2')||Config[_0x5f47d0(0xb0)][_0x5f47d0(0xa4)]()[_0x5f47d0(0xcf)](_0x5f47d0(0xd5))?(_0x47eb49=_0x5f47d0(0xe0)+Config[_0x5f47d0(0xad)]+_0x5f47d0(0xb6),_0x1299d8='¤│▸',_0x287cfe=_0x5f47d0(0xde),_0x38ce37='┌〈',_0xae0433='〉',_0x1299d8=_0x5f47d0(0xae),_0x5b4b52=_0x5f47d0(0xdf)):(_0x47eb49=_0x5f47d0(0xa7)+Config[_0x5f47d0(0xad)]+'\x20\x20〙',_0x1299d8='│\x20│',_0x287cfe=_0x5f47d0(0xe2),_0x38ce37=_0x5f47d0(0xbc),_0xae0433='❏',_0x1299d8='│',_0x5b4b52='╰════════════─⊷');const _0x500c08={};_0x1dbd4b[_0x5f47d0(0xd8)](async(_0x5d57c2,_0x1118c1)=>{const _0x13bedd=_0x5f47d0;_0x5d57c2[_0x13bedd(0xd1)]===![]&&_0x5d57c2[_0x13bedd(0xd2)]!==undefined&&(!_0x500c08[_0x5d57c2[_0x13bedd(0xee)]]&&(_0x500c08[_0x5d57c2[_0x13bedd(0xee)]]=[]),_0x500c08[_0x5d57c2[_0x13bedd(0xee)]][_0x13bedd(0xe1)](_0x5d57c2['pattern']));});const _0x4162d2=_0x1d1a45[_0x5f47d0(0xce)],_0x334bdd=_0x1d1a45[_0x5f47d0(0xc8)];let _0x9d4594=_0x5f47d0(0xac)+_0x47eb49+_0x5f47d0(0xac)+_0x1299d8+_0x5f47d0(0xb3)+Config[_0x5f47d0(0xdd)]+_0x5f47d0(0xac)+_0x1299d8+_0x5f47d0(0xcb)+runtime(process[_0x5f47d0(0xa8)]())+_0x5f47d0(0xac)+_0x1299d8+_0x5f47d0(0xdb)+formatp(os[_0x5f47d0(0xd6)]()-os[_0x5f47d0(0xcc)]())+'\x0a\x20\x20'+_0x1299d8+_0x5f47d0(0xd0)+_0x4162d2+_0x5f47d0(0xac)+_0x1299d8+'\x20*ᴅᴀᴛᴇ:*\x20'+_0x334bdd+_0x5f47d0(0xac)+_0x1299d8+_0x5f47d0(0xef)+_0x1dbd4b[_0x5f47d0(0xa9)]+'\x0a\x20\x20'+_0x1299d8+'\x20*ᴜsᴀɢᴇ\x20ᴛʀᴇɴᴅ:*\x20'+trend_usage+'\x0a\x20\x20'+_0x1299d8+_0x5f47d0(0xbd)+database_info+_0x5f47d0(0xac)+_0x287cfe+_0x5f47d0(0xba)+readmore+'\x0a';for(const _0x43a325 in _0x500c08){_0x9d4594+=_0x38ce37+'\x20*'+tiny(_0x43a325)+'*\x20'+_0xae0433+'\x0a';if(_0x365b9b[_0x5f47d0(0xa4)]()===_0x43a325[_0x5f47d0(0xa4)]()){_0x9d4594=_0x38ce37+'\x20*'+tiny(_0x43a325)+'*\x20'+_0xae0433+'\x0a';for(const _0x4c1f06 of _0x500c08[_0x43a325]){_0x9d4594+=_0x1299d8+'\x20'+fancytext(_0x4c1f06,0x1)+'\x0a';}_0x9d4594+=_0x5b4b52+'\x0a';break;}else{for(const _0x246059 of _0x500c08[_0x43a325]){_0x9d4594+=_0x1299d8+'\x20'+fancytext(_0x246059,0x1)+'\x0a';}_0x9d4594+=_0x5b4b52+'\x0a';}}_0x9d4594+=Config[_0x5f47d0(0xc9)];const _0x41c9b9={'caption':_0x9d4594,'ephemeralExpiration':0xbb8};return await _0x1d1a45[_0x5f47d0(0xe8)](_0x1d1a45[_0x5f47d0(0xed)],_0x41c9b9,_0x1d1a45);}catch(_0x6af96e){await _0x1d1a45[_0x5f47d0(0xb7)](_0x6af96e+'\x0aCommand:\x20menu',_0x6af96e);}}); 2 | -------------------------------------------------------------------------------- /lib/koyeb.js: -------------------------------------------------------------------------------- 1 | const axios = require("axios"); 2 | let koyeb_api = process.env.KOYEB_API; 3 | let axiosConfig = { 4 | headers: { 5 | "Content-Type": "application/json;charset=UTF-8", 6 | Authorization: "Bearer " + koyeb_api 7 | } 8 | }; 9 | async function get_deployments() { 10 | status = false; 11 | let _0x4302ca = { 12 | headers: { 13 | "Content-Type": "application/json;charset=UTF-8", 14 | Authorization: "Bearer " + koyeb_api 15 | } 16 | }; 17 | await axios.get("https://app.koyeb.com/v1/deployments", _0x4302ca).then(_0x67f3c2 => { 18 | let _0x4fa49c = ["STOPPED", "STOPPING", "ERROR", "ERRPRING"]; 19 | let _0x55212f = []; 20 | for (let _0x5d4d5e = 0; _0x5d4d5e < _0x67f3c2.data.deployments.length; _0x5d4d5e++) { 21 | if (!_0x4fa49c.includes(_0x67f3c2.data.deployments[_0x5d4d5e].status)) { 22 | _0x55212f.push(_0x67f3c2.data.deployments[_0x5d4d5e].status); 23 | } 24 | } 25 | if (_0x55212f.length > 1) { 26 | status = "true"; 27 | } 28 | }); 29 | return status; 30 | } 31 | function checkArray(_0x32eadb, _0x5cad11) { 32 | var _0x1d8b66 = false; 33 | for (var _0x4e8d33 = 0; _0x4e8d33 < _0x32eadb.length; _0x4e8d33++) { 34 | if (_0x32eadb[_0x4e8d33].key == _0x5cad11) { 35 | _0x1d8b66 = true; 36 | break; 37 | } 38 | } 39 | return _0x1d8b66; 40 | } 41 | async function delvar(_0x25ae0b) { 42 | var _0x40bd7e = false; 43 | let { 44 | data: _0x2f44fe 45 | } = await axios.get("https://app.koyeb.com/v1/services", axiosConfig); 46 | let _0x4bcf20 = _0x2f44fe.services[0].id; 47 | let _0x33a6a6 = await axios.get("https://app.koyeb.com/v1/deployments/" + _0x2f44fe.services[0].latest_deployment_id, axiosConfig); 48 | let _0x34f4ba = checkArray(_0x33a6a6.data.deployment.definition.env, _0x25ae0b); 49 | if (_0x34f4ba !== true) { 50 | return "_No such env in koyeb._"; 51 | } 52 | let _0x4a80e7 = []; 53 | for (var _0x19bd41 = 0; _0x19bd41 < _0x33a6a6.data.deployment.definition.env.length; _0x19bd41++) { 54 | if (_0x33a6a6.data.deployment.definition.env[_0x19bd41].key === _0x25ae0b) { 55 | continue; 56 | } 57 | _0x4a80e7.push(_0x33a6a6.data.deployment.definition.env[_0x19bd41]); 58 | } 59 | let _0x719fe0 = { 60 | definition: { 61 | name: _0x33a6a6.data.deployment.definition.name, 62 | routes: _0x33a6a6.data.deployment.definition.routes, 63 | ports: _0x33a6a6.data.deployment.definition.ports, 64 | env: _0x4a80e7, 65 | regions: _0x33a6a6.data.deployment.definition.regions, 66 | scalings: _0x33a6a6.data.deployment.definition.scalings, 67 | instance_types: _0x33a6a6.data.deployment.definition.instance_types, 68 | health_checks: _0x33a6a6.data.deployment.definition.health_checks, 69 | docker: _0x33a6a6.data.deployment.definition.docker 70 | } 71 | }; 72 | await axios.patch("https://app.koyeb.com/v1/services/" + _0x4bcf20, _0x719fe0, axiosConfig).then(_0x41b6bd => { 73 | if (_0x41b6bd.status === 200) { 74 | _0x40bd7e = "_Successfully deleted " + _0x25ae0b + " var from koyeb._"; 75 | } else { 76 | _0x40bd7e = "_Please put Koyeb api key in var KOYEB_API._\nEg: KOYEB_API:api key"; 77 | } 78 | }); 79 | return _0x40bd7e; 80 | } 81 | async function change_env(_0x1c0dda) { 82 | var _0x28d120 = "_Please put Koyeb api key in var KOYEB_API._\nEg: KOYEB_API:api key"; 83 | let { 84 | data: _0x5268c2 85 | } = await axios.get("https://app.koyeb.com/v1/services", axiosConfig); 86 | let _0x268e37 = _0x5268c2.services[0].id; 87 | let _0x24bd6b = await axios.get("https://app.koyeb.com/v1/deployments/" + _0x5268c2.services[0].latest_deployment_id, axiosConfig); 88 | let _0x96de5c = _0x1c0dda.split(":"); 89 | let _0xba6db1 = []; 90 | for (var _0x12b7a4 = 0; _0x12b7a4 < _0x24bd6b.data.deployment.definition.env.length; _0x12b7a4++) { 91 | if (_0x24bd6b.data.deployment.definition.env[_0x12b7a4].key === _0x96de5c[0]) { 92 | _0xba6db1.push({ 93 | scopes: ["region:fra"], 94 | key: "" + _0x96de5c[0], 95 | value: "" + _0x96de5c[1] 96 | }); 97 | } else { 98 | _0xba6db1.push(_0x24bd6b.data.deployment.definition.env[_0x12b7a4]); 99 | } 100 | } 101 | let _0x323bf7 = checkArray(_0xba6db1, _0x96de5c[0]); 102 | if (!_0x323bf7 === true) { 103 | _0xba6db1.push({ 104 | scopes: ["region:fra"], 105 | key: "" + _0x96de5c[0], 106 | value: "" + _0x96de5c[1] 107 | }); 108 | } 109 | let _0x2ac742 = { 110 | definition: { 111 | name: _0x24bd6b.data.deployment.definition.name, 112 | routes: _0x24bd6b.data.deployment.definition.routes, 113 | ports: _0x24bd6b.data.deployment.definition.ports, 114 | env: _0xba6db1, 115 | regions: _0x24bd6b.data.deployment.definition.regions, 116 | scalings: _0x24bd6b.data.deployment.definition.scalings, 117 | instance_types: _0x24bd6b.data.deployment.definition.instance_types, 118 | health_checks: _0x24bd6b.data.deployment.definition.health_checks, 119 | docker: _0x24bd6b.data.deployment.definition.docker 120 | } 121 | }; 122 | await axios.patch("https://app.koyeb.com/v1/services/" + _0x268e37, _0x2ac742, axiosConfig).then(_0x448300 => { 123 | if (_0x448300.status === 200) { 124 | _0x28d120 = "Successfuly changed var _" + _0x96de5c[0] + ":" + _0x96de5c[1] + " ._"; 125 | } else { 126 | _0x28d120 = "_Please put Koyeb api key in var KOYEB_API._\nEg: KOYEB_API:api key"; 127 | } 128 | }); 129 | return _0x28d120; 130 | } 131 | async function getallvar() { 132 | let { 133 | data: _0x3e70fa 134 | } = await axios.get("https://app.koyeb.com/v1/services", axiosConfig); 135 | let _0x38619a = await axios.get("https://app.koyeb.com/v1/deployments/" + _0x3e70fa.services[0].latest_deployment_id, axiosConfig); 136 | let _0x35b594 = []; 137 | for (var _0x34066d = 0; _0x34066d < _0x38619a.data.deployment.definition.env.length; _0x34066d++) { 138 | if (!_0x38619a.data.deployment.definition.env[_0x34066d].key) { 139 | continue; 140 | } 141 | _0x35b594.push("*" + _0x38619a.data.deployment.definition.env[_0x34066d].key + "* : _" + _0x38619a.data.deployment.definition.env[_0x34066d].value + "_"); 142 | } 143 | return _0x35b594.join("\n"); 144 | } 145 | async function getvar(_0xcd630a) { 146 | let { 147 | data: _0x1da652 148 | } = await axios.get("https://app.koyeb.com/v1/services", axiosConfig); 149 | let _0x2d0795 = await axios.get("https://app.koyeb.com/v1/deployments/" + _0x1da652.services[0].latest_deployment_id, axiosConfig); 150 | for (var _0x38de6b = 0; _0x38de6b < _0x2d0795.data.deployment.definition.env.length; _0x38de6b++) { 151 | if (!_0x2d0795.data.deployment.definition.env[_0x38de6b].key) { 152 | continue; 153 | } 154 | if (_0x2d0795.data.deployment.definition.env[_0x38de6b].key === _0xcd630a) { 155 | return _0x2d0795.data.deployment.definition.env[_0x38de6b].key + ":" + _0x2d0795.data.deployment.definition.env[_0x38de6b].value; 156 | } 157 | } 158 | } 159 | async function redeploy() { 160 | var _0x4e1978 = false; 161 | var _0x484138 = { 162 | deployment_group: "prod", 163 | sha: "" 164 | }; 165 | let { 166 | data: _0x18e13d 167 | } = await axios.get("https://app.koyeb.com/v1/services", axiosConfig); 168 | let _0x5ebfce = _0x18e13d.services[0].id; 169 | try { 170 | let _0x329071 = await axios.post("https://app.koyeb.com/v1/services/" + _0x5ebfce + "/redeploy", _0x484138, axiosConfig); 171 | _0x4e1978 = "_update started._"; 172 | } catch (_0x2f9443) { 173 | _0x4e1978 = "*Got an error in redeploying.*\n*Please put koyeb api key in var KOYEB_API.*\n_Eg: KOYEB_API:api key from https://app.koyeb.com/account/api ._"; 174 | } 175 | return _0x4e1978; 176 | } 177 | module.exports = { 178 | redeploy: redeploy, 179 | getvar: getvar, 180 | delvar: delvar, 181 | getallvar: getallvar, 182 | change_env: change_env, 183 | get_deployments: get_deployments 184 | }; -------------------------------------------------------------------------------- /plugins/fun.js: -------------------------------------------------------------------------------- 1 | const axios = require("axios"); 2 | const { 3 | smd 4 | } = require("../lib"); 5 | const fetch = require("node-fetch"); 6 | async function randomeFunfacts(_0x1be35e) { 7 | try { 8 | if (_0x1be35e === "question") { 9 | return await random_question(); 10 | } else if (_0x1be35e === "truth") { 11 | return await truth(); 12 | } else if (_0x1be35e === "dare") { 13 | return await dare(); 14 | } else if (_0x1be35e === "joke") { 15 | const _0x4fe671 = await (await fetch("https://official-joke-api.appspot.com/random_joke")).json(); 16 | return "*Joke :* " + _0x4fe671.setup + "\n*Punchline:* " + _0x4fe671.punchline; 17 | } else if (_0x1be35e === "joke2") { 18 | const _0x1cc76d = await (await fetch("https://v2.jokeapi.dev/joke/Any?type=single")).json(); 19 | return "*joke :* " + _0x1cc76d.joke; 20 | } else if (_0x1be35e === "fact") { 21 | const { 22 | data: _0x202058 23 | } = await axios.get("https://nekos.life/api/v2/fact"); 24 | return "*Fact:* " + _0x202058.fact; 25 | } else if (_0x1be35e === "quotes") { 26 | const { 27 | data: _0x6d4253 28 | } = await axios.get("https://favqs.com/api/qotd"); 29 | return "╔════◇\n║ *🎗️Content:* " + _0x6d4253.quote.body + "\n║ *👤Author:* " + _0x6d4253.quote.author + "\n║\n╚════════════╝"; 30 | } 31 | } catch (_0x1147af) { 32 | msg.error(_0x1147af); 33 | console.log("./lib/asta.js/randomeFunfacts()\n", _0x1147af); 34 | } 35 | } 36 | smd( 37 | { 38 | pattern: "rizz", 39 | desc: "Get a random pickup line.", 40 | category: "fun", 41 | filename: __filename, 42 | }, 43 | async (m) => { 44 | try { 45 | const apiUrl = "https://api.popcat.xyz/pickuplines"; 46 | const response = await fetch(apiUrl); 47 | 48 | if (!response.ok) { 49 | return await m.send( 50 | `*_Error: ${response.status} ${response.statusText}_*` 51 | ); 52 | } 53 | 54 | const data = await response.json(); 55 | const { pickupline, contributor } = data; 56 | 57 | const message = `${pickupline}`; 58 | 59 | await m.send(message); 60 | } catch (e) { 61 | await m.error(`${e}\n\ncommand: rizz`, e); 62 | } 63 | } 64 | ); 65 | smd({ 66 | cmdname: "question", 67 | info: "Random Question.", 68 | type: "fun", 69 | filename: __filename 70 | }, async (_0x526dda, _0x570e21, { 71 | smd: _0x59940a 72 | }) => { 73 | try { 74 | await _0x526dda.reply(await randomeFunfacts(_0x59940a)); 75 | } catch (_0x2763aa) { 76 | await _0x526dda.error(_0x2763aa + "\n\ncommand: " + _0x59940a, _0x2763aa); 77 | } 78 | }); 79 | smd({ 80 | cmdname: "truth", 81 | info: "truth and dare(truth game.).", 82 | type: "fun", 83 | filename: __filename 84 | }, async (_0xc2b276, _0x3b493e, { 85 | smd: _0x52be61 86 | }) => { 87 | try { 88 | await _0xc2b276.reply(await randomeFunfacts(_0x52be61)); 89 | } catch (_0x28b284) { 90 | await _0xc2b276.error(_0x28b284 + "\n\ncommand: " + _0x52be61, _0x28b284); 91 | } 92 | }); 93 | smd({ 94 | cmdname: "dare", 95 | info: "truth and dare(dare game.).", 96 | type: "fun", 97 | filename: __filename 98 | }, async (_0x330b72, _0x34d36a, { 99 | smd: _0x2a0858 100 | }) => { 101 | try { 102 | await _0x330b72.reply(await randomeFunfacts(_0x2a0858)); 103 | } catch (_0x27a0b8) { 104 | await _0x330b72.error(_0x27a0b8 + "\n\ncommand: " + _0x2a0858, _0x27a0b8); 105 | } 106 | }); 107 | smd({ 108 | cmdname: "joke", 109 | info: "Sends Joke in chat.", 110 | type: "fun", 111 | filename: __filename 112 | }, async (_0x330ac0, _0x8b468d, { 113 | smd: _0x2e3522 114 | }) => { 115 | try { 116 | await _0x330ac0.reply(await randomeFunfacts(_0x2e3522)); 117 | } catch (_0x1817a2) { 118 | await _0x330ac0.error(_0x1817a2 + "\n\ncommand: " + _0x2e3522, _0x1817a2); 119 | } 120 | }); 121 | smd({ 122 | cmdname: "joke2", 123 | info: "Sends Joke in chat.", 124 | type: "fun", 125 | filename: __filename 126 | }, async (_0x5c9c52, _0x6b6e25, { 127 | smd: _0x64ba 128 | }) => { 129 | try { 130 | await _0x5c9c52.reply(await randomeFunfacts(_0x64ba)); 131 | } catch (_0x35fd84) { 132 | await _0x5c9c52.error(_0x35fd84 + "\n\ncommand: " + _0x64ba, _0x35fd84); 133 | } 134 | }); 135 | smd({ 136 | cmdname: "fact", 137 | info: "Sends fact in chat.", 138 | type: "fun", 139 | filename: __filename 140 | }, async (_0x1dc7e3, _0x16aaa1, { 141 | smd: _0x375b98 142 | }) => { 143 | try { 144 | await _0x1dc7e3.reply(await randomeFunfacts(_0x375b98)); 145 | } catch (_0x1e1a8b) { 146 | await _0x1dc7e3.error(_0x1e1a8b + "\n\ncommand: " + _0x375b98, _0x1e1a8b); 147 | } 148 | }); 149 | smd({ 150 | cmdname: "quotes", 151 | info: "Sends quotes in chat.", 152 | type: "fun", 153 | filename: __filename 154 | }, async (_0x12963f, _0x4f30d2, { 155 | smd: _0x3462d1 156 | }) => { 157 | try { 158 | await _0x12963f.reply(await randomeFunfacts(_0x3462d1)); 159 | } catch (_0x18e714) { 160 | await _0x12963f.error(_0x18e714 + "\n\ncommand: " + _0x3462d1, _0x18e714); 161 | } 162 | }); 163 | smd({ 164 | cmdname: "define", 165 | info: "urban dictionary.", 166 | type: "fun", 167 | filename: __filename 168 | }, async (_0x460337, _0x614c0a) => { 169 | try { 170 | let _0x328d73 = _0x614c0a ? _0x614c0a : _0x460337.reply_text; 171 | if (!_0x328d73) { 172 | return await _0x460337.send("*_Hey " + _0x460337.senderName + ", please provide a text!_*"); 173 | } 174 | let { 175 | data: _0x330600 176 | } = await axios.get("http://api.urbandictionary.com/v0/define?term=" + _0x328d73); 177 | var _0x27eb8f = _0x330600 ? "*Word:* ```" + _0x328d73 + "``` \n*Definition:* ```" + _0x330600.list[0].definition.replace(/\[/g, "").replace(/\]/g, "") + "``` \n*Example:* ```" + _0x330600.list[0].example.replace(/\[/g, "").replace(/\]/g, "") + "```" : "*_No results found for given word_*"; 178 | return _0x460337.reply(_0x27eb8f); 179 | } catch (_0x1d0916) { 180 | await _0x460337.error(_0x1d0916 + "\n\ncommand: define", _0x1d0916, "*No result for:* ```" + text + "```"); 181 | } 182 | }); 183 | smd({ 184 | pattern: 'fakeinfo', 185 | fromMe: false, 186 | desc: 'Get fake information', 187 | type: 'fun' 188 | }, async (message, match) => { 189 | try { 190 | const response = await axios.get('https://api.maher-zubair.tech/misc/fakeinfo'); 191 | const data = response.data.result.results[0]; 192 | 193 | const info = ` 194 | 👤 *Name:* ${data.name.title} ${data.name.first} ${data.name.last} 195 | 📅 *Date of Birth:* ${new Date(data.dob.date).toLocaleDateString()} 196 | 📞 *Phone:* ${data.phone} 197 | 📧 *Email:* ${data.email} 198 | 🌐 *Location:* ${data.location.city}, ${data.location.state}, ${data.location.country} 199 | 🔑 *Username:* ${data.login.username} 200 | 📷 *Profile Picture:* [View Image](${data.picture.large}) 201 | `; 202 | 203 | await message.send(info, { quoted: message.data }); 204 | } catch (error) { 205 | console.error('Error fetching fake information:', error); 206 | await message.send('_Failed to fetch fake information._', { quoted: message.data }); 207 | } 208 | }); 209 | smd({ 210 | pattern: 'insult', 211 | fromMe: false, 212 | desc: 'Get insulted', 213 | type: 'fun' 214 | }, async (message, match) => { 215 | try { 216 | const response = await axios.get('https://api.maher-zubair.tech/misc/insult'); 217 | const insult = response.data.result; 218 | 219 | await message.send(insult, { quoted: message.data }); 220 | } catch (error) { 221 | console.error('Error fetching insult:', error); 222 | await message.send('_Failed to fetch insult._', { quoted: message.data }); 223 | } 224 | }); 225 | smd({ 226 | pattern: 'lines', 227 | fromMe: false, 228 | desc: 'Get a nice message', 229 | type: 'fun' 230 | }, async (message, match) => { 231 | try { 232 | const response = await axios.get('https://api.maher-zubair.tech/misc/lines'); 233 | const messageText = response.data.result; 234 | 235 | await message.send(messageText, { quoted: message.data }); 236 | } catch (error) { 237 | console.error('Error fetching message:', error); 238 | await message.send('_Failed to fetch message._', { quoted: message.data }); 239 | } 240 | }); 241 | -------------------------------------------------------------------------------- /plugins/reactionpack.js: -------------------------------------------------------------------------------- 1 | const { smd, sendAnimeReaction } = require("../lib"); 2 | 3 | smd( 4 | { 5 | pattern: "poke", 6 | category: "reaction", 7 | use: "", 8 | filename: __filename, 9 | desc: "send Anime poke reaction.", 10 | }, 11 | async (bot, text, { cmdName }) => { 12 | await sendAnimeReaction(bot, cmdName, "poked to", "poked to everyone."); 13 | } 14 | ); 15 | //----------------------------------------------------------------------- 16 | smd( 17 | { 18 | pattern: "hug", 19 | category: "reaction", 20 | use: "", 21 | filename: __filename, 22 | desc: "send Anime hug reaction.", 23 | }, 24 | async (bot, text, { cmdName }) => { 25 | await sendAnimeReaction(bot, cmdName, "hug to", "hug with everyone."); 26 | } 27 | ); 28 | //----------------------------------------------------------------------- 29 | smd( 30 | { 31 | pattern: "hold", 32 | category: "reaction", 33 | use: "", 34 | filename: __filename, 35 | desc: "send Anime hand hold reaction.", 36 | }, 37 | async (bot, text, { cmdName }) => { 38 | await sendAnimeReaction( 39 | bot, 40 | "handhold", 41 | "hold hand of", 42 | "holded hand of everyone" 43 | ); 44 | } 45 | ); 46 | //----------------------------------------------------------------------- 47 | smd( 48 | { 49 | pattern: "hifi", 50 | category: "reaction", 51 | use: "", 52 | filename: __filename, 53 | desc: "send Anime hifi reaction.", 54 | }, 55 | async (bot, text, { cmdName }) => { 56 | await sendAnimeReaction( 57 | bot, 58 | "highfive", 59 | "highfive with", 60 | "highfive with everyone." 61 | ); 62 | } 63 | ); 64 | //--------------------------------------------------------------------------- 65 | smd( 66 | { 67 | pattern: "bite", 68 | category: "reaction", 69 | use: "", 70 | filename: __filename, 71 | desc: "send Anime bite reaction.", 72 | }, 73 | async (bot, text, { cmdName }) => { 74 | await sendAnimeReaction(bot, cmdName, "bitten to", "bitten to everyone."); 75 | } 76 | ); 77 | //--------------------------------------------------------------------------- 78 | smd( 79 | { 80 | pattern: "blush", 81 | category: "reaction", 82 | use: "", 83 | filename: __filename, 84 | desc: "send Anime blush reaction.", 85 | }, 86 | async (bot, text, { cmdName }) => { 87 | await sendAnimeReaction(bot, cmdName, "blushed to", "blushed to everyone."); 88 | } 89 | ); 90 | //--------------------------------------------------------------------------- 91 | smd( 92 | { 93 | pattern: "punch", 94 | category: "reaction", 95 | use: "", 96 | filename: __filename, 97 | desc: "send Anime punch reaction.", 98 | }, 99 | async (bot, text, { cmdName }) => { 100 | await sendAnimeReaction(bot, "kick", "punched to", "punched everyone."); 101 | } 102 | ); 103 | //--------------------------------------------------------------------------- 104 | smd( 105 | { 106 | pattern: "pat", 107 | category: "reaction", 108 | use: "", 109 | filename: __filename, 110 | desc: "send Anime pated reaction.", 111 | }, 112 | async (bot, text, { cmdName }) => { 113 | await sendAnimeReaction( 114 | bot, 115 | cmdName, 116 | "patted with", 117 | "patted with everyone." 118 | ); 119 | } 120 | ); 121 | //--------------------------------------------------------------------------- 122 | smd( 123 | { 124 | pattern: "kiss", 125 | category: "reaction", 126 | use: "", 127 | filename: __filename, 128 | desc: "send Anime kiss reaction.", 129 | }, 130 | async (bot, text, { cmdName }) => { 131 | await sendAnimeReaction( 132 | bot, 133 | cmdName, 134 | "kissed with", 135 | "kissed with everyone." 136 | ); 137 | } 138 | ); 139 | //--------------------------------------------------------------------------- 140 | smd( 141 | { 142 | pattern: "kill", 143 | category: "reaction", 144 | use: "", 145 | filename: __filename, 146 | desc: "send Anime kill reaction.", 147 | }, 148 | async (bot, text, { cmdName }) => { 149 | await sendAnimeReaction(bot, cmdName, "kill ", "kill everyone over here"); 150 | } 151 | ); 152 | //--------------------------------------------------------------------------- 153 | smd( 154 | { 155 | pattern: "happy", 156 | category: "reaction", 157 | use: "", 158 | filename: __filename, 159 | desc: "send Anime happy reaction.", 160 | }, 161 | async (bot, text, { cmdName }) => { 162 | await sendAnimeReaction( 163 | bot, 164 | "dance", 165 | "feel happy with", 166 | "feel happy with everyone" 167 | ); 168 | } 169 | ); 170 | //--------------------------------------------------------------------------- 171 | smd( 172 | { 173 | pattern: "dance", 174 | category: "reaction", 175 | use: "", 176 | filename: __filename, 177 | desc: "send Anime dance reaction.", 178 | }, 179 | async (bot, text, { cmdName }) => { 180 | await sendAnimeReaction( 181 | bot, 182 | cmdName, 183 | "dance with", 184 | "dance with everyone over here" 185 | ); 186 | } 187 | ); 188 | //--------------------------------------------------------------------------- 189 | smd( 190 | { 191 | pattern: "yeet", 192 | category: "reaction", 193 | use: "", 194 | filename: __filename, 195 | desc: "send Anime yeet reaction.", 196 | }, 197 | async (bot, text, { cmdName }) => { 198 | await sendAnimeReaction(bot, cmdName, "yeeted to", "yeeted with everyone"); 199 | } 200 | ); 201 | //--------------------------------------------------------------------------- 202 | smd( 203 | { 204 | pattern: "wink", 205 | category: "reaction", 206 | use: "", 207 | filename: __filename, 208 | desc: "send Anime wink reaction.", 209 | }, 210 | async (bot, text, { cmdName }) => { 211 | await sendAnimeReaction( 212 | bot, 213 | cmdName, 214 | "winked with", 215 | "winked with everyone" 216 | ); 217 | } 218 | ); 219 | //--------------------------------------------------------------------------- 220 | smd( 221 | { 222 | pattern: "slap", 223 | category: "reaction", 224 | use: "", 225 | filename: __filename, 226 | desc: "send Anime slap reaction.", 227 | }, 228 | async (bot, text, { cmdName }) => { 229 | await sendAnimeReaction(bot, cmdName, "slap to", "slap to everyone"); 230 | } 231 | ); 232 | //--------------------------------------------------------------------------- 233 | smd( 234 | { 235 | pattern: "bonk", 236 | category: "reaction", 237 | use: "", 238 | filename: __filename, 239 | desc: "send Anime bonk reaction.", 240 | }, 241 | async (bot, text, { cmdName }) => { 242 | await sendAnimeReaction(bot, cmdName, "bonked to", "bonked to everyone"); 243 | } 244 | ); 245 | //--------------------------------------------------------------------------- 246 | smd( 247 | { 248 | pattern: "bully", 249 | category: "reaction", 250 | use: "", 251 | filename: __filename, 252 | desc: "send Anime bully reaction.", 253 | }, 254 | async (bot, text, { cmdName }) => { 255 | await sendAnimeReaction(bot, cmdName, "bullied to", "bullied to everyone"); 256 | } 257 | ); 258 | //--------------------------------------------------------------------------- 259 | smd( 260 | { 261 | pattern: "cringe", 262 | category: "reaction", 263 | use: "", 264 | filename: __filename, 265 | desc: "send Anime cringe reaction.", 266 | }, 267 | async (bot, text, { cmdName }) => { 268 | await sendAnimeReaction(bot, cmdName, "cringed to", "cringed to everyone"); 269 | } 270 | ); 271 | //--------------------------------------------------------------------------- 272 | smd( 273 | { 274 | pattern: "cuddle", 275 | category: "reaction", 276 | use: "", 277 | filename: __filename, 278 | desc: "send Anime cuddle reaction.", 279 | }, 280 | async (bot, text, { cmdName }) => { 281 | await sendAnimeReaction( 282 | bot, 283 | cmdName, 284 | "cuddled with", 285 | "cuddled with everyone" 286 | ); 287 | } 288 | ); 289 | -------------------------------------------------------------------------------- /plugins/gfx.js: -------------------------------------------------------------------------------- 1 | const { 2 | smd, 3 | prefix, 4 | Config 5 | } = require("../lib"); 6 | const done = "✳️"; 7 | const rwait = "✳️"; 8 | let GfxFunc = async (_0xe512ac, { 9 | Void: _0x50b799, 10 | text: _0x3930d1, 11 | smd: _0x1fed9f 12 | }, _0x5ccef2 = true) => { 13 | try { 14 | _0x3930d1 += ": ser"; 15 | let _0x478253 = "Example : *" + (prefix + _0x1fed9f) + "* Asta"; 16 | let _0x12ae56 = "*Separate the text with ':' sign*\n*Example : " + (prefix + _0x1fed9f) + " Asta : Bot*"; 17 | let _0x36f282 = _0x3930d1.split(":")[0]; 18 | let _0x2d2a89 = _0x1fed9f.toLowerCase(); 19 | switch (_0x2d2a89) { 20 | case "gfx1": 21 | if (!_0x36f282) { 22 | throw _0x478253; 23 | } 24 | let _0x3226bb = "https://api.caliph.biz.id/api/kaneki?nama=" + encodeURIComponent(_0x36f282) + "&apikey=caliphkey"; 25 | _0xe512ac.send(_0x3226bb, { 26 | caption: Config.caption 27 | }, "img", _0xe512ac); 28 | break; 29 | case "gfx2": 30 | if (!_0x3930d1) { 31 | throw _0x12ae56; 32 | } 33 | if (!_0x3930d1.includes(":")) { 34 | throw _0x12ae56; 35 | } 36 | let [_0x26a726, _0x1e255c] = _0x3930d1.split(":"); 37 | let _0xab3dba = "https://api.caliph.biz.id/api/girlneko?nama=" + encodeURIComponent(_0x26a726.trim()) + "&nama2=" + encodeURIComponent(_0x1e255c.trim()) + "&apikey=caliphkey"; 38 | _0xe512ac.send(_0xab3dba, { 39 | caption: Config.caption 40 | }, "img", _0xe512ac); 41 | break; 42 | case "gfx3": 43 | if (!_0x36f282) { 44 | throw _0x478253; 45 | } 46 | let _0x2dba02 = "https://api.caliph.biz.id/api/rem?nama=" + encodeURIComponent(_0x36f282) + "&apikey=caliphkey"; 47 | _0xe512ac.send(_0x2dba02, { 48 | caption: Config.caption 49 | }, "img", _0xe512ac); 50 | break; 51 | case "gfx4": 52 | if (!_0x36f282) { 53 | throw _0x478253; 54 | } 55 | let _0x2f4148 = "https://api.caliph.biz.id/api/textpro/matrix?text=" + encodeURIComponent(_0x36f282) + "&apikey=caliphkey"; 56 | _0xe512ac.send(_0x2f4148, { 57 | caption: Config.caption 58 | }, "img", _0xe512ac); 59 | break; 60 | case "gfx5": 61 | if (!_0x36f282) { 62 | throw _0x478253; 63 | } 64 | const _0x211bd9 = "https://api.lolhuman.xyz/api/textprome/jokerlogo?apikey=" + lolkeysapi + "&text=" + encodeURIComponent(_0x36f282); 65 | _0xe512ac.send(_0x211bd9, { 66 | caption: Config.caption 67 | }, "img", _0xe512ac); 68 | break; 69 | case "gfx6": 70 | if (!_0x3930d1) { 71 | throw _0x12ae56; 72 | } 73 | if (!_0x3930d1.includes(":")) { 74 | throw _0x12ae56; 75 | } 76 | let [_0x1df0dc, _0x4804be] = _0x3930d1.split`:`; 77 | const _0x17a27c = "https://api.lolhuman.xyz/api/textprome2/lionlogo?apikey=" + lolkeysapi + "&text1=" + encodeURIComponent(_0x1df0dc) + "&text2=" + encodeURIComponent(_0x4804be); 78 | _0xe512ac.send(_0x17a27c, { 79 | caption: Config.caption 80 | }, "img", _0xe512ac); 81 | break; 82 | case "gfx7": 83 | if (!_0x3930d1) { 84 | throw _0x12ae56; 85 | } 86 | if (!_0x3930d1.includes(":")) { 87 | throw _0x12ae56; 88 | } 89 | let [_0x9244eb, _0x2fa36f] = _0x3930d1.split(":"); 90 | let _0x4b3f59 = "https://api.lolhuman.xyz/api/photooxy2/battlefield4?apikey=" + lolkeysapi + "&text1=" + encodeURIComponent(_0x9244eb.trim()) + "&text2=" + encodeURIComponent(_0x2fa36f.trim()); 91 | _0xe512ac.send(_0x4b3f59, { 92 | caption: Config.caption 93 | }, "img", _0xe512ac); 94 | break; 95 | case "gfx8": 96 | if (!_0x36f282) { 97 | throw _0x478253; 98 | } 99 | let _0x21a8b0 = "https://api.lolhuman.xyz/api/ephoto1/anonymhacker?apikey=" + lolkeysapi + "&text=" + encodeURIComponent(_0x36f282); 100 | _0xe512ac.send(_0x21a8b0, { 101 | caption: Config.caption 102 | }, "img", _0xe512ac); 103 | break; 104 | case "gfx9": 105 | if (!_0x36f282) { 106 | throw _0x478253; 107 | } 108 | let _0x4af196 = "https://api.lolhuman.xyz/api/ephoto1/avatarlolnew?apikey=" + lolkeysapi + "&text=" + encodeURIComponent(_0x36f282); 109 | _0xe512ac.send(_0x4af196, { 110 | caption: Config.caption 111 | }, "img", _0xe512ac); 112 | break; 113 | case "gfx10": 114 | if (!_0x36f282) { 115 | throw _0x478253; 116 | } 117 | let _0x4eb041 = "https://api.lolhuman.xyz/api/ephoto1/avatardota?apikey=" + lolkeysapi + "&text=" + encodeURIComponent(_0x36f282); 118 | _0xe512ac.send(_0x4eb041, { 119 | caption: Config.caption 120 | }, "img", _0xe512ac); 121 | break; 122 | case "gfx11": 123 | if (!_0x3930d1) { 124 | throw _0x12ae56; 125 | } 126 | if (!_0x3930d1.includes(":")) { 127 | throw _0x12ae56; 128 | } 129 | let [_0x188286, _0x1db7a9] = _0x3930d1.split(":"); 130 | let _0x28debb = "https://api.lolhuman.xyz/api/ephoto2/codwarzone?apikey=" + lolkeysapi + "&text1=" + encodeURIComponent(_0x188286.trim()) + "&text2=" + encodeURIComponent(_0x1db7a9.trim()); 131 | _0xe512ac.send(_0x28debb, { 132 | caption: Config.caption 133 | }, "img", _0xe512ac); 134 | break; 135 | case "gfx12": 136 | if (!_0x36f282) { 137 | throw _0x478253; 138 | } 139 | let _0x54a9c8 = "https://api.lolhuman.xyz/api/ephoto1/freefire?apikey=" + lolkeysapi + "&text=" + encodeURIComponent(_0x36f282); 140 | _0xe512ac.send(_0x54a9c8, { 141 | caption: Config.caption 142 | }, "img", _0xe512ac); 143 | break; 144 | case "gfx13": 145 | if (!_0x3930d1.includes(":")) { 146 | throw _0x12ae56; 147 | } 148 | let [_0x1988c3, _0x4814d9] = _0x3930d1.split(":"); 149 | let _0x4f7a88 = "https://api.caliph.biz.id/api/sadboy?nama=" + encodeURIComponent(_0x1988c3.trim()) + "&nama2=" + encodeURIComponent(_0x4814d9.trim()) + "&apikey=caliphkey"; 150 | _0xe512ac.send(_0x4f7a88, { 151 | caption: Config.caption 152 | }, "img", _0xe512ac); 153 | break; 154 | case "gfx14": 155 | if (!_0x3930d1) { 156 | throw _0x12ae56; 157 | } 158 | var [_0x4814f3, _0x32c6ba] = _0x3930d1.split(":"); 159 | let _0x22e137 = "https://api.caliph.biz.id/api/lolimaker?nama=" + encodeURIComponent(_0x4814f3.trim()) + "&nama2=" + encodeURIComponent(_0x32c6ba.trim()) + "&apikey=caliphkey"; 160 | _0xe512ac.send(_0x22e137, { 161 | caption: Config.caption 162 | }, "img", _0xe512ac); 163 | break; 164 | default: 165 | break; 166 | } 167 | } catch (_0x6096ff) { 168 | console.log(_0x6096ff); 169 | if (_0x5ccef2) { 170 | return _0xe512ac.send("" + _0x6096ff); 171 | } 172 | } 173 | }; 174 | let gfxx = ["gfx1", "gfx2", "gfx3", "gfx4", "gfx5", "gfx6", "gfx7", "gfx8", "gfx9", "gfx10", "gfx11", "gfx12", "gfx13", "gfx14"]; 175 | let lolkeysapi = "GataDios"; 176 | for (let i = 0; i < gfxx.length; i++) { 177 | smd({ 178 | cmdname: gfxx[i], 179 | infocmd: "create a gfx logo for text", 180 | type: "gfx" 181 | }, async (_0x2a8925, _0x4d7fbd, { 182 | smd: _0x1a74bb, 183 | Void: _0x328365 184 | }) => { 185 | try { 186 | GfxFunc(_0x2a8925, { 187 | text: _0x4d7fbd, 188 | Void: _0x328365, 189 | smd: _0x1a74bb 190 | }); 191 | } catch (_0x2de287) { 192 | console.log(_0x2de287); 193 | } 194 | }); 195 | } 196 | smd({ 197 | cmdname: "gfx", 198 | infocmd: "create gfx logo for text", 199 | type: "gfx" 200 | }, async (_0x1f82ce, _0x2f534c, { 201 | smd: _0x123e7d, 202 | Void: _0x2c219b 203 | }) => { 204 | try { 205 | let _0x2106bc = "*Separate the text with _:_ sign!*\n*Example : " + (prefix + _0x123e7d) + " Asta _:_ Bot*"; 206 | if (!_0x2f534c) { 207 | let _0x4a015 = "┌───〈 *ɢꜰx ᴍᴇɴᴜ* 〉───◆\n│╭─────────────···▸\n┴│▸\n⬡│▸ " + gfxx.join(" \n⬡│▸ ") + "\n┬│▸\n│╰────────────···▸▸\n└───────────────···▸\n\n\t *USE: " + (prefix + _0x123e7d) + " Rias:Gremory*\n_To get All Results with single Cmd!_\n"; 208 | return await _0x1f82ce.sendUi(_0x1f82ce.chat, { 209 | caption: _0x4a015 210 | }); 211 | } 212 | if (!_0x2f534c.includes(":")) { 213 | return _0x1f82ce.send(_0x2106bc); 214 | } 215 | for (let _0x1a7d08 = 0; _0x1a7d08 < gfxx.length; _0x1a7d08++) { 216 | GfxFunc(_0x1f82ce, { 217 | text: _0x2f534c, 218 | Void: _0x2c219b, 219 | smd: "gfx" + (_0x1a7d08 + 1) 220 | }, false); 221 | } 222 | } catch (_0x4c39a6) { 223 | _0x1f82ce.error(_0x4c39a6 + "\n\nCommand: " + _0x123e7d, _0x4c39a6, false); 224 | } 225 | }); -------------------------------------------------------------------------------- /plugins/gfx.js.bak: -------------------------------------------------------------------------------- 1 | const { 2 | smd, 3 | prefix, 4 | Config 5 | } = require("../lib"); 6 | const done = "✳️"; 7 | const rwait = "✳️"; 8 | let GfxFunc = async (_0xe512ac, { 9 | Void: _0x50b799, 10 | text: _0x3930d1, 11 | smd: _0x1fed9f 12 | }, _0x5ccef2 = true) => { 13 | try { 14 | _0x3930d1 += ": ser"; 15 | let _0x478253 = "Example : *" + (prefix + _0x1fed9f) + "* Asta"; 16 | let _0x12ae56 = "*Separate the text with ':' sign*\n*Example : " + (prefix + _0x1fed9f) + " Asta : Bot*"; 17 | let _0x36f282 = _0x3930d1.split(":")[0]; 18 | let _0x2d2a89 = _0x1fed9f.toLowerCase(); 19 | switch (_0x2d2a89) { 20 | case "gfx1": 21 | if (!_0x36f282) { 22 | throw _0x478253; 23 | } 24 | let _0x3226bb = "https://api.caliph.biz.id/api/kaneki?nama=" + encodeURIComponent(_0x36f282) + "&apikey=caliphkey"; 25 | _0xe512ac.send(_0x3226bb, { 26 | caption: Config.caption 27 | }, "img", _0xe512ac); 28 | break; 29 | case "gfx2": 30 | if (!_0x3930d1) { 31 | throw _0x12ae56; 32 | } 33 | if (!_0x3930d1.includes(":")) { 34 | throw _0x12ae56; 35 | } 36 | let [_0x26a726, _0x1e255c] = _0x3930d1.split(":"); 37 | let _0xab3dba = "https://api.caliph.biz.id/api/girlneko?nama=" + encodeURIComponent(_0x26a726.trim()) + "&nama2=" + encodeURIComponent(_0x1e255c.trim()) + "&apikey=caliphkey"; 38 | _0xe512ac.send(_0xab3dba, { 39 | caption: Config.caption 40 | }, "img", _0xe512ac); 41 | break; 42 | case "gfx3": 43 | if (!_0x36f282) { 44 | throw _0x478253; 45 | } 46 | let _0x2dba02 = "https://api.caliph.biz.id/api/rem?nama=" + encodeURIComponent(_0x36f282) + "&apikey=caliphkey"; 47 | _0xe512ac.send(_0x2dba02, { 48 | caption: Config.caption 49 | }, "img", _0xe512ac); 50 | break; 51 | case "gfx4": 52 | if (!_0x36f282) { 53 | throw _0x478253; 54 | } 55 | let _0x2f4148 = "https://api.caliph.biz.id/api/textpro/matrix?text=" + encodeURIComponent(_0x36f282) + "&apikey=caliphkey"; 56 | _0xe512ac.send(_0x2f4148, { 57 | caption: Config.caption 58 | }, "img", _0xe512ac); 59 | break; 60 | case "gfx5": 61 | if (!_0x36f282) { 62 | throw _0x478253; 63 | } 64 | const _0x211bd9 = "https://api.lolhuman.xyz/api/textprome/jokerlogo?apikey=" + lolkeysapi + "&text=" + encodeURIComponent(_0x36f282); 65 | _0xe512ac.send(_0x211bd9, { 66 | caption: Config.caption 67 | }, "img", _0xe512ac); 68 | break; 69 | case "gfx6": 70 | if (!_0x3930d1) { 71 | throw _0x12ae56; 72 | } 73 | if (!_0x3930d1.includes(":")) { 74 | throw _0x12ae56; 75 | } 76 | let [_0x1df0dc, _0x4804be] = _0x3930d1.split`:`; 77 | const _0x17a27c = "https://api.lolhuman.xyz/api/textprome2/lionlogo?apikey=" + lolkeysapi + "&text1=" + encodeURIComponent(_0x1df0dc) + "&text2=" + encodeURIComponent(_0x4804be); 78 | _0xe512ac.send(_0x17a27c, { 79 | caption: Config.caption 80 | }, "img", _0xe512ac); 81 | break; 82 | case "gfx7": 83 | if (!_0x3930d1) { 84 | throw _0x12ae56; 85 | } 86 | if (!_0x3930d1.includes(":")) { 87 | throw _0x12ae56; 88 | } 89 | let [_0x9244eb, _0x2fa36f] = _0x3930d1.split(":"); 90 | let _0x4b3f59 = "https://api.lolhuman.xyz/api/photooxy2/battlefield4?apikey=" + lolkeysapi + "&text1=" + encodeURIComponent(_0x9244eb.trim()) + "&text2=" + encodeURIComponent(_0x2fa36f.trim()); 91 | _0xe512ac.send(_0x4b3f59, { 92 | caption: Config.caption 93 | }, "img", _0xe512ac); 94 | break; 95 | case "gfx8": 96 | if (!_0x36f282) { 97 | throw _0x478253; 98 | } 99 | let _0x21a8b0 = "https://api.lolhuman.xyz/api/ephoto1/anonymhacker?apikey=" + lolkeysapi + "&text=" + encodeURIComponent(_0x36f282); 100 | _0xe512ac.send(_0x21a8b0, { 101 | caption: Config.caption 102 | }, "img", _0xe512ac); 103 | break; 104 | case "gfx9": 105 | if (!_0x36f282) { 106 | throw _0x478253; 107 | } 108 | let _0x4af196 = "https://api.lolhuman.xyz/api/ephoto1/avatarlolnew?apikey=" + lolkeysapi + "&text=" + encodeURIComponent(_0x36f282); 109 | _0xe512ac.send(_0x4af196, { 110 | caption: Config.caption 111 | }, "img", _0xe512ac); 112 | break; 113 | case "gfx10": 114 | if (!_0x36f282) { 115 | throw _0x478253; 116 | } 117 | let _0x4eb041 = "https://api.lolhuman.xyz/api/ephoto1/avatardota?apikey=" + lolkeysapi + "&text=" + encodeURIComponent(_0x36f282); 118 | _0xe512ac.send(_0x4eb041, { 119 | caption: Config.caption 120 | }, "img", _0xe512ac); 121 | break; 122 | case "gfx11": 123 | if (!_0x3930d1) { 124 | throw _0x12ae56; 125 | } 126 | if (!_0x3930d1.includes(":")) { 127 | throw _0x12ae56; 128 | } 129 | let [_0x188286, _0x1db7a9] = _0x3930d1.split(":"); 130 | let _0x28debb = "https://api.lolhuman.xyz/api/ephoto2/codwarzone?apikey=" + lolkeysapi + "&text1=" + encodeURIComponent(_0x188286.trim()) + "&text2=" + encodeURIComponent(_0x1db7a9.trim()); 131 | _0xe512ac.send(_0x28debb, { 132 | caption: Config.caption 133 | }, "img", _0xe512ac); 134 | break; 135 | case "gfx12": 136 | if (!_0x36f282) { 137 | throw _0x478253; 138 | } 139 | let _0x54a9c8 = "https://api.lolhuman.xyz/api/ephoto1/freefire?apikey=" + lolkeysapi + "&text=" + encodeURIComponent(_0x36f282); 140 | _0xe512ac.send(_0x54a9c8, { 141 | caption: Config.caption 142 | }, "img", _0xe512ac); 143 | break; 144 | case "gfx13": 145 | if (!_0x3930d1.includes(":")) { 146 | throw _0x12ae56; 147 | } 148 | let [_0x1988c3, _0x4814d9] = _0x3930d1.split(":"); 149 | let _0x4f7a88 = "https://api.caliph.biz.id/api/sadboy?nama=" + encodeURIComponent(_0x1988c3.trim()) + "&nama2=" + encodeURIComponent(_0x4814d9.trim()) + "&apikey=caliphkey"; 150 | _0xe512ac.send(_0x4f7a88, { 151 | caption: Config.caption 152 | }, "img", _0xe512ac); 153 | break; 154 | case "gfx14": 155 | if (!_0x3930d1) { 156 | throw _0x12ae56; 157 | } 158 | var [_0x4814f3, _0x32c6ba] = _0x3930d1.split(":"); 159 | let _0x22e137 = "https://api.caliph.biz.id/api/lolimaker?nama=" + encodeURIComponent(_0x4814f3.trim()) + "&nama2=" + encodeURIComponent(_0x32c6ba.trim()) + "&apikey=caliphkey"; 160 | _0xe512ac.send(_0x22e137, { 161 | caption: Config.caption 162 | }, "img", _0xe512ac); 163 | break; 164 | default: 165 | break; 166 | } 167 | } catch (_0x6096ff) { 168 | console.log(_0x6096ff); 169 | if (_0x5ccef2) { 170 | return _0xe512ac.send("" + _0x6096ff); 171 | } 172 | } 173 | }; 174 | let gfxx = ["gfx1", "gfx2", "gfx3", "gfx4", "gfx5", "gfx6", "gfx7", "gfx8", "gfx9", "gfx10", "gfx11", "gfx12", "gfx13", "gfx14"]; 175 | let lolkeysapi = "GataDios"; 176 | for (let i = 0; i < gfxx.length; i++) { 177 | smd({ 178 | cmdname: gfxx[i], 179 | infocmd: "create a gfx logo for text", 180 | type: "gfx" 181 | }, async (_0x2a8925, _0x4d7fbd, { 182 | smd: _0x1a74bb, 183 | Void: _0x328365 184 | }) => { 185 | try { 186 | GfxFunc(_0x2a8925, { 187 | text: _0x4d7fbd, 188 | Void: _0x328365, 189 | smd: _0x1a74bb 190 | }); 191 | } catch (_0x2de287) { 192 | console.log(_0x2de287); 193 | } 194 | }); 195 | } 196 | smd({ 197 | cmdname: "gfx", 198 | infocmd: "create gfx logo for text", 199 | type: "gfx" 200 | }, async (_0x1f82ce, _0x2f534c, { 201 | smd: _0x123e7d, 202 | Void: _0x2c219b 203 | }) => { 204 | try { 205 | let _0x2106bc = "*Separate the text with _:_ sign!*\n*Example : " + (prefix + _0x123e7d) + " Asta _:_ Bot*"; 206 | if (!_0x2f534c) { 207 | let _0x4a015 = "┌───〈 *ɢꜰx ᴍᴇɴᴜ* 〉───◆\n│╭─────────────···▸\n┴│▸\n⬡│▸ " + gfxx.join(" \n⬡│▸ ") + "\n┬│▸\n│╰────────────···▸▸\n└───────────────···▸\n\n\t *USE: " + (prefix + _0x123e7d) + " Asta:Md*\n_To get All Results with single Cmd!_\n"; 208 | return await _0x1f82ce.sendUi(_0x1f82ce.chat, { 209 | caption: _0x4a015 210 | }); 211 | } 212 | if (!_0x2f534c.includes(":")) { 213 | return _0x1f82ce.send(_0x2106bc); 214 | } 215 | for (let _0x1a7d08 = 0; _0x1a7d08 < gfxx.length; _0x1a7d08++) { 216 | GfxFunc(_0x1f82ce, { 217 | text: _0x2f534c, 218 | Void: _0x2c219b, 219 | smd: "gfx" + (_0x1a7d08 + 1) 220 | }, false); 221 | } 222 | } catch (_0x4c39a6) { 223 | _0x1f82ce.error(_0x4c39a6 + "\n\nCommand: " + _0x123e7d, _0x4c39a6, false); 224 | } 225 | }); -------------------------------------------------------------------------------- /plugins/audio.js: -------------------------------------------------------------------------------- 1 | const { smd } = require("../lib"); 2 | const { exec } = require("child_process"); 3 | const fs = require("fs"); 4 | async function audioEditor(_0x1ef339, _0x567a0f = "bass", _0x730356 = "") { 5 | if (!_0x1ef339.quoted) { 6 | return await _0x1ef339.send("*_Uhh Dear, Reply to audio!!!_*"); 7 | } 8 | let _0x1e4c20 = _0x1ef339.quoted.mtype || _0x1ef339.mtype; 9 | if (!/audio/.test(_0x1e4c20)) { 10 | return await _0x1ef339.send( 11 | "*_Reply to the audio you want to change with_*", 12 | {}, 13 | "", 14 | _0x730356 15 | ); 16 | } 17 | try { 18 | let _0x3497f6 = "-af equalizer=f=54:width_type=o:width=2:g=20"; 19 | if (/bass/.test(_0x567a0f)) { 20 | _0x3497f6 = "-af equalizer=f=54:width_type=o:width=2:g=20"; 21 | } 22 | if (/blown/.test(_0x567a0f)) { 23 | _0x3497f6 = "-af acrusher=.1:1:64:0:log"; 24 | } 25 | if (/deep/.test(_0x567a0f)) { 26 | _0x3497f6 = "-af atempo=4/4,asetrate=44500*2/3"; 27 | } 28 | if (/earrape/.test(_0x567a0f)) { 29 | _0x3497f6 = "-af volume=12"; 30 | } 31 | if (/fast/.test(_0x567a0f)) { 32 | _0x3497f6 = '-filter:a "atempo=1.63,asetrate=44100"'; 33 | } 34 | if (/fat/.test(_0x567a0f)) { 35 | _0x3497f6 = '-filter:a "atempo=1.6,asetrate=22100"'; 36 | } 37 | if (/nightcore/.test(_0x567a0f)) { 38 | _0x3497f6 = "-filter:a atempo=1.06,asetrate=44100*1.25"; 39 | } 40 | if (/reverse/.test(_0x567a0f)) { 41 | _0x3497f6 = '-filter_complex "areverse"'; 42 | } 43 | if (/robot/.test(_0x567a0f)) { 44 | _0x3497f6 = 45 | "-filter_complex \"afftfilt=real='hypot(re,im)*sin(0)':imag='hypot(re,im)*cos(0)':win_size=512:overlap=0.75\""; 46 | } 47 | if (/slow/.test(_0x567a0f)) { 48 | _0x3497f6 = '-filter:a "atempo=0.7,asetrate=44100"'; 49 | } 50 | if (/smooth/.test(_0x567a0f)) { 51 | _0x3497f6 = 52 | "-filter:v \"minterpolate='mi_mode=mci:mc_mode=aobmc:vsbmc=1:fps=120'\""; 53 | } 54 | if (/tupai/.test(_0x567a0f)) { 55 | _0x3497f6 = '-filter:a "atempo=0.5,asetrate=65100"'; 56 | } 57 | let _0x25e2bd = await _0x1ef339.bot.downloadAndSaveMediaMessage( 58 | _0x1ef339.quoted 59 | ); 60 | let _0x58830b = "temp/" + (_0x1ef339.sender.slice(6) + _0x567a0f) + ".mp3"; 61 | exec( 62 | "ffmpeg -i " + _0x25e2bd + " " + _0x3497f6 + " " + _0x58830b, 63 | async (_0x43e1ec, _0x22acc9, _0x3cea68) => { 64 | try { 65 | fs.unlinkSync(_0x25e2bd); 66 | } catch {} 67 | if (_0x43e1ec) { 68 | return _0x1ef339.error(_0x43e1ec); 69 | } else { 70 | let _0x11bfca = fs.readFileSync(_0x58830b); 71 | try { 72 | fs.unlinkSync(_0x58830b); 73 | } catch {} 74 | var _0xfba2a2 = { 75 | ...(await _0x1ef339.bot.contextInfo( 76 | "Hellow " + _0x1ef339.senderName + " 🤍", 77 | "⇆ㅤ ||◁ㅤ❚❚ㅤ▷||ㅤ ⇆" 78 | )), 79 | }; 80 | return _0x1ef339.bot.sendMessage( 81 | _0x1ef339.chat, 82 | { 83 | audio: _0x11bfca, 84 | mimetype: "audio/mpeg", 85 | ptt: /ptt|voice/.test(_0x1ef339.test || "") ? true : false, 86 | contextInfo: _0xfba2a2, 87 | }, 88 | { 89 | quoted: _0x1ef339, 90 | messageId: _0x1ef339.bot.messageId(), 91 | } 92 | ); 93 | } 94 | } 95 | ); 96 | } catch (_0x48606a) { 97 | await _0x1ef339.error(_0x48606a + "\n\ncmdName : " + _0x567a0f + "\n"); 98 | return console.log("./lib/asta.js/audioEditor()\n", _0x48606a); 99 | } 100 | } 101 | smd( 102 | { 103 | cmdname: "bass", 104 | info: "adds bass in given sound", 105 | type: "audio", 106 | use: "", 107 | }, 108 | async (_0x5d6ad1, _0x53c461, { smd: _0xf17388 }) => { 109 | try { 110 | return await audioEditor(_0x5d6ad1, _0xf17388, _0x5d6ad1); 111 | } catch (_0x429687) { 112 | return await _0x5d6ad1.error( 113 | _0x429687 + " \n\nCommand: " + _0xf17388, 114 | _0x429687 115 | ); 116 | } 117 | } 118 | ); 119 | smd( 120 | { 121 | cmdname: "blown", 122 | info: "adds blown in given sound", 123 | type: "audio", 124 | use: "", 125 | }, 126 | async (_0x483202, _0x13c66b, { smd: _0x4afb5c }) => { 127 | try { 128 | return await audioEditor(_0x483202, _0x4afb5c, _0x483202); 129 | } catch (_0x370dd7) { 130 | return await _0x483202.error( 131 | _0x370dd7 + " \n\nCommand: " + _0x4afb5c, 132 | _0x370dd7 133 | ); 134 | } 135 | } 136 | ); 137 | smd( 138 | { 139 | cmdname: "deep", 140 | info: "adds deep in given sound", 141 | type: "audio", 142 | use: "", 143 | }, 144 | async (_0x4f23d9, _0x3cf305, { smd: _0x7e1b7 }) => { 145 | try { 146 | return await audioEditor(_0x4f23d9, _0x7e1b7, _0x4f23d9); 147 | } catch (_0x212449) { 148 | return await _0x4f23d9.error( 149 | _0x212449 + " \n\nCommand: " + _0x7e1b7, 150 | _0x212449 151 | ); 152 | } 153 | } 154 | ); 155 | smd( 156 | { 157 | cmdname: "earrape", 158 | info: "adds earrape in given sound", 159 | type: "audio", 160 | use: "", 161 | }, 162 | async (_0x17a00c, _0x54b87c, { smd: _0x22851d }) => { 163 | try { 164 | return await audioEditor(_0x17a00c, _0x22851d, _0x17a00c); 165 | } catch (_0x1069a9) { 166 | return await _0x17a00c.error( 167 | _0x1069a9 + " \n\nCommand: " + _0x22851d, 168 | _0x1069a9 169 | ); 170 | } 171 | } 172 | ); 173 | smd( 174 | { 175 | cmdname: "fast", 176 | info: "adds fast in given sound", 177 | type: "audio", 178 | use: "", 179 | }, 180 | async (_0x329304, _0x290150, { smd: _0x555cf0 }) => { 181 | try { 182 | return await audioEditor(_0x329304, _0x555cf0, _0x329304); 183 | } catch (_0x2e5829) { 184 | return await _0x329304.error( 185 | _0x2e5829 + " \n\nCommand: " + _0x555cf0, 186 | _0x2e5829 187 | ); 188 | } 189 | } 190 | ); 191 | smd( 192 | { 193 | cmdname: "fat", 194 | info: "adds fat in given sound", 195 | type: "audio", 196 | use: "", 197 | }, 198 | async (_0x4e50f6, _0x5469bf, { smd: _0x210909 }) => { 199 | try { 200 | return await audioEditor(_0x4e50f6, _0x210909, _0x4e50f6); 201 | } catch (_0x2d03a6) { 202 | return await _0x4e50f6.error( 203 | _0x2d03a6 + " \n\nCommand: " + _0x210909, 204 | _0x2d03a6 205 | ); 206 | } 207 | } 208 | ); 209 | smd( 210 | { 211 | cmdname: "nightcore", 212 | info: "adds nightcore in given sound", 213 | type: "audio", 214 | use: "", 215 | }, 216 | async (_0x562f14, _0x4de080, { smd: _0x3887ce }) => { 217 | try { 218 | return await audioEditor(_0x562f14, _0x3887ce, _0x562f14); 219 | } catch (_0x1c2061) { 220 | return await _0x562f14.error( 221 | _0x1c2061 + " \n\nCommand: " + _0x3887ce, 222 | _0x1c2061 223 | ); 224 | } 225 | } 226 | ); 227 | smd( 228 | { 229 | cmdname: "reverse", 230 | info: "adds reverse in given sound", 231 | type: "audio", 232 | use: "", 233 | }, 234 | async (_0x362707, _0xcb10cd, { smd: _0x5223dd }) => { 235 | try { 236 | return await audioEditor(_0x362707, _0x5223dd, _0x362707); 237 | } catch (_0x5ee99a) { 238 | return await _0x362707.error( 239 | _0x5ee99a + " \n\nCommand: " + _0x5223dd, 240 | _0x5ee99a 241 | ); 242 | } 243 | } 244 | ); 245 | smd( 246 | { 247 | cmdname: "robot", 248 | info: "adds robot in given sound", 249 | type: "audio", 250 | use: "", 251 | }, 252 | async (_0x310526, _0x4716ec, { smd: _0xa9fd5 }) => { 253 | try { 254 | return await audioEditor(_0x310526, _0xa9fd5, _0x310526); 255 | } catch (_0x552466) { 256 | return await _0x310526.error( 257 | _0x552466 + " \n\nCommand: " + _0xa9fd5, 258 | _0x552466 259 | ); 260 | } 261 | } 262 | ); 263 | smd( 264 | { 265 | cmdname: "slow", 266 | info: "adds slow in given sound", 267 | type: "audio", 268 | use: "", 269 | }, 270 | async (_0x4a8426, _0x4b49bd, { smd: _0x181538 }) => { 271 | try { 272 | return await audioEditor(_0x4a8426, _0x181538, _0x4a8426); 273 | } catch (_0x489533) { 274 | return await _0x4a8426.error( 275 | _0x489533 + " \n\nCommand: " + _0x181538, 276 | _0x489533 277 | ); 278 | } 279 | } 280 | ); 281 | smd( 282 | { 283 | cmdname: "smooth", 284 | info: "adds smooth in given sound", 285 | type: "audio", 286 | use: "", 287 | }, 288 | async (_0x40e425, _0x2b44c9, { smd: _0x4894c8 }) => { 289 | try { 290 | return await audioEditor(_0x40e425, _0x4894c8, _0x40e425); 291 | } catch (_0x346685) { 292 | return await _0x40e425.error( 293 | _0x346685 + " \n\nCommand: " + _0x4894c8, 294 | _0x346685 295 | ); 296 | } 297 | } 298 | ); 299 | smd( 300 | { 301 | cmdname: "tupai", 302 | info: "adds tupai in given sound", 303 | type: "audio", 304 | use: "", 305 | }, 306 | async (_0x206b7, _0x3d2b22, { smd: _0x1f70bd }) => { 307 | try { 308 | return await audioEditor(_0x206b7, _0x1f70bd, _0x206b7); 309 | } catch (_0x2f0862) { 310 | return await _0x206b7.error( 311 | _0x2f0862 + " \n\nCommand: " + _0x1f70bd, 312 | _0x2f0862 313 | ); 314 | } 315 | } 316 | ); 317 | -------------------------------------------------------------------------------- /plugins/wallpaper.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs"); 2 | const fetch = require("node-fetch"); 3 | const { smd, TelegraPh } = require("../lib"); 4 | const Config = require("../config"); 5 | smd( 6 | { 7 | pattern: "aesthetic", 8 | category: "wallpaper", 9 | filename: __filename, 10 | desc: "Get an aesthetic wallpaper.", 11 | }, 12 | async (m) => { 13 | try { 14 | let apiUrl = "https://api.maher-zubair.tech/wallpaper/asthetic"; 15 | let response = await fetch(apiUrl); 16 | let jsonResponse = await response.json(); 17 | 18 | if (jsonResponse.status === 200) { 19 | await m.send(jsonResponse.url, { caption: Config.caption }, "image", m); 20 | } else { 21 | await m.send("*_Request not be preceed!!_*"); 22 | } 23 | } catch (error) { 24 | await m.error( 25 | error + "\n\ncommand: aesthetic", 26 | error, 27 | "*_No responce from API, Sorry!!_*" 28 | ); 29 | } 30 | } 31 | ); 32 | smd( 33 | { 34 | pattern: "bike", 35 | category: "wallpaper", 36 | filename: __filename, 37 | desc: "Get a bike wallpaper.", 38 | }, 39 | async (m) => { 40 | try { 41 | let apiUrl = "https://api.maher-zubair.tech/wallpaper/bike"; 42 | let response = await fetch(apiUrl); 43 | let jsonResponse = await response.json(); 44 | 45 | if (jsonResponse.status === 200) { 46 | await m.send(jsonResponse.url, { caption: Config.caption }, "image", m); 47 | } else { 48 | await m.send("*_Request not be preceed!!_*"); 49 | } 50 | } catch (error) { 51 | await m.error( 52 | error + "\n\ncommand: bike", 53 | error, 54 | "*_No responce from API, Sorry!!_*" 55 | ); 56 | } 57 | } 58 | ); 59 | // Command 2: cr7 60 | smd( 61 | { 62 | pattern: "cr7", 63 | category: "wallpaper", 64 | filename: __filename, 65 | desc: "Get a CR7 (Cristiano Ronaldo) wallpaper.", 66 | }, 67 | async (m) => { 68 | try { 69 | let apiUrl = "https://api.maher-zubair.tech/wallpaper/cr7"; 70 | let response = await fetch(apiUrl); 71 | let jsonResponse = await response.json(); 72 | 73 | if (jsonResponse.status === 200) { 74 | await m.send(jsonResponse.url, { caption: Config.caption }, "image", m); 75 | } else { 76 | await m.send("*_Request not be preceed!!_*"); 77 | } 78 | } catch (error) { 79 | await m.error( 80 | error + "\n\ncommand: cr7", 81 | error, 82 | "*_No responce from API, Sorry!!_*" 83 | ); 84 | } 85 | } 86 | ); 87 | // Command 3: cat 88 | smd( 89 | { 90 | pattern: "cat", 91 | category: "wallpaper", 92 | filename: __filename, 93 | desc: "Get a cat wallpaper.", 94 | }, 95 | async (m) => { 96 | try { 97 | let apiUrl = "https://api.maher-zubair.tech/wallpaper/cat"; 98 | let response = await fetch(apiUrl); 99 | let jsonResponse = await response.json(); 100 | 101 | if (jsonResponse.status === 200) { 102 | await m.send(jsonResponse.url, { caption: Config.caption }, "image", m); 103 | } else { 104 | await m.send("*_Request not be preceed!!_*"); 105 | } 106 | } catch (error) { 107 | await m.error( 108 | error + "\n\ncommand: cat", 109 | error, 110 | "*_No responce from API, Sorry!!_*" 111 | ); 112 | } 113 | } 114 | ); 115 | // Command 4: dog 116 | smd( 117 | { 118 | pattern: "dog", 119 | category: "wallpaper", 120 | filename: __filename, 121 | desc: "Get a dog wallpaper.", 122 | }, 123 | async (m) => { 124 | try { 125 | let apiUrl = "https://api.maher-zubair.tech/wallpaper/dog"; 126 | let response = await fetch(apiUrl); 127 | let jsonResponse = await response.json(); 128 | 129 | if (jsonResponse.status === 200) { 130 | await m.send(jsonResponse.url, { caption: Config.caption }, "image", m); 131 | } else { 132 | await m.send("*_Request not be preceed!!_*"); 133 | } 134 | } catch (error) { 135 | await m.error( 136 | error + "\n\ncommand: dog", 137 | error, 138 | "*_No responce from API, Sorry!!_*" 139 | ); 140 | } 141 | } 142 | ); 143 | // Command 5: messi 144 | smd( 145 | { 146 | pattern: "messi", 147 | category: "wallpaper", 148 | filename: __filename, 149 | desc: "Get a Lionel Messi wallpaper.", 150 | }, 151 | async (m) => { 152 | try { 153 | let apiUrl = "https://api.maher-zubair.tech/wallpaper/messi"; 154 | let response = await fetch(apiUrl); 155 | let jsonResponse = await response.json(); 156 | 157 | if (jsonResponse.status === 200) { 158 | await m.send(jsonResponse.url, { caption: Config.caption }, "image", m); 159 | } else { 160 | await m.send("*_Request not be preceed!!_*"); 161 | } 162 | } catch (error) { 163 | await m.error( 164 | error + "\n\ncommand: messi", 165 | error, 166 | "*_No responce from API, Sorry!!_*" 167 | ); 168 | } 169 | } 170 | ); 171 | // Command 6: mlegend 172 | smd( 173 | { 174 | pattern: "mlegend", 175 | category: "wallpaper", 176 | filename: __filename, 177 | desc: "Get a Mobile Legends wallpaper.", 178 | }, 179 | async (m) => { 180 | try { 181 | let apiUrl = "https://api.maher-zubair.tech/wallpaper/mlegend"; 182 | let response = await fetch(apiUrl); 183 | let jsonResponse = await response.json(); 184 | 185 | if (jsonResponse.status === 200) { 186 | await m.send(jsonResponse.url, { caption: Config.caption }, "image", m); 187 | } else { 188 | await m.send("*_Request not be preceed!!_*"); 189 | } 190 | } catch (error) { 191 | await m.error( 192 | error + "\n\ncommand: mlegend", 193 | error, 194 | "*_No responce from API, Sorry!!_*" 195 | ); 196 | } 197 | } 198 | ); 199 | // Command 7: pubg 200 | smd( 201 | { 202 | pattern: "pubg", 203 | category: "wallpaper", 204 | filename: __filename, 205 | desc: "Get a PUBG wallpaper.", 206 | }, 207 | async (m) => { 208 | try { 209 | let apiUrl = "https://api.maher-zubair.tech/wallpaper/pubg"; 210 | let response = await fetch(apiUrl); 211 | let jsonResponse = await response.json(); 212 | 213 | if (jsonResponse.status === 200) { 214 | await m.send(jsonResponse.url, { caption: Config.caption }, "image", m); 215 | } else { 216 | await m.send("*_Request not be preceed!!_*"); 217 | } 218 | } catch (error) { 219 | await m.error( 220 | error + "\n\ncommand: pubg", 221 | error, 222 | "*_No responce from API, Sorry!!_*" 223 | ); 224 | } 225 | } 226 | ); 227 | 228 | // Command 8: random 229 | smd( 230 | { 231 | pattern: "random", 232 | category: "wallpaper", 233 | filename: __filename, 234 | desc: "Get a random wallpaper.", 235 | }, 236 | async (m) => { 237 | try { 238 | let apiUrl = "https://api.maher-zubair.tech/wallpaper/random"; 239 | let response = await fetch(apiUrl); 240 | let jsonResponse = await response.json(); 241 | 242 | if (jsonResponse.status === 200) { 243 | await m.send(jsonResponse.url, { caption: Config.caption }, "image", m); 244 | } else { 245 | await m.send("*_Request not be preceed!!_*"); 246 | } 247 | } catch (error) { 248 | await m.error( 249 | error + "\n\ncommand: random", 250 | error, 251 | "*_No responce from API, Sorry!!_*" 252 | ); 253 | } 254 | } 255 | ); 256 | 257 | // Command 9: car 258 | smd( 259 | { 260 | pattern: "car", 261 | category: "wallpaper", 262 | filename: __filename, 263 | desc: "Get a car wallpaper.", 264 | }, 265 | async (m) => { 266 | try { 267 | let apiUrl = "https://api.maher-zubair.tech/wallpaper/car"; 268 | let response = await fetch(apiUrl); 269 | let jsonResponse = await response.json(); 270 | 271 | if (jsonResponse.status === 200) { 272 | await m.send(jsonResponse.url, { caption: Config.caption }, "image", m); 273 | } else { 274 | await m.send("*_Request not be preceed!!_*"); 275 | } 276 | } catch (error) { 277 | await m.error( 278 | error + "\n\ncommand: car", 279 | error, 280 | "*_No responce from API, Sorry!!_*" 281 | ); 282 | } 283 | } 284 | ); 285 | 286 | // Command 10: blackpink 287 | smd( 288 | { 289 | pattern: "blackpink", 290 | category: "wallpaper", 291 | filename: __filename, 292 | desc: "Get a Blackpink wallpaper.", 293 | }, 294 | async (m) => { 295 | try { 296 | let apiUrl = "https://api.maher-zubair.tech/wallpaper/blackpink"; 297 | let response = await fetch(apiUrl); 298 | let jsonResponse = await response.json(); 299 | 300 | if (jsonResponse.status === 200) { 301 | await m.send(jsonResponse.url, { caption: Config.caption }, "image", m); 302 | } else { 303 | await m.send("*_Request not be preceed!!_*"); 304 | } 305 | } catch (error) { 306 | await m.error( 307 | error + "\n\ncommand: blackpink", 308 | error, 309 | "*_No responce from API, Sorry!!_*" 310 | ); 311 | } 312 | } 313 | ); 314 | -------------------------------------------------------------------------------- /plugins/chats.js: -------------------------------------------------------------------------------- 1 | let {smd} = require("../lib") 2 | smd({ 3 | pattern: 'clear', 4 | fromMe: true, 5 | desc: 'delete whatsapp chat', 6 | type: 'whatsapp' 7 | }, async (message, match) => { 8 | try{ 9 | await message.bot.chatModify({ 10 | 11 | delete: true, 12 | lastMessages: [{ 13 | key: message.key, 14 | messageTimestamp: message.messageTimestamp 15 | }] 16 | }, message.jid) 17 | 18 | await message.send('_Cleared!_') 19 | }catch(e){ message.error(`${e}\n\nCommand : clear` , e, false) } 20 | }) 21 | 22 | 23 | 24 | 25 | smd({ 26 | pattern: 'archive', 27 | fromMe: true, 28 | desc: 'archive whatsapp chat', 29 | type: 'whatsapp' 30 | }, async (message, match) => { 31 | try{ 32 | const lstMsg = { 33 | message: message.message, 34 | key: message.key, 35 | messageTimestamp: message.messageTimestamp 36 | }; 37 | await message.bot.chatModify({ 38 | archive: true, 39 | lastMessages: [lstMsg] 40 | }, message.jid); 41 | await message.send('_Archived_') 42 | }catch(e){ message.error(`${e}\n\nCommand : archive` , e, false) } 43 | }) 44 | 45 | 46 | 47 | 48 | smd({ 49 | pattern: 'unarchive', 50 | fromMe: true, 51 | desc: 'unarchive whatsapp chat', 52 | type: 'whatsapp' 53 | }, async (message, match) => { 54 | try{ 55 | const lstMsg = { 56 | message: message.message, 57 | key: message.key, 58 | messageTimestamp: message.messageTimestamp 59 | }; 60 | await message.bot.chatModify({ 61 | archive: false, 62 | lastMessages: [lstMsg] 63 | }, message.jid); 64 | await message.send('_Unarchived_') 65 | }catch(e){ message.error(`${e}\n\nCommand : unarchive` , e, false) } 66 | }) 67 | 68 | 69 | 70 | smd({ 71 | pattern: 'chatpin', 72 | alias :["pinchat"], 73 | fromMe: true, 74 | desc: 'pin a chat', 75 | type: 'whatsapp' 76 | }, async (message, match) => { 77 | try{ 78 | await message.bot.chatModify({ 79 | pin: true 80 | }, message.jid); 81 | await message.send('_Pined_') 82 | }catch(e){ message.error(`${e}\n\nCommand : chatpin` , e, false) } 83 | }) 84 | 85 | 86 | 87 | smd({ 88 | pattern: 'unpin', 89 | alias :["unpinchat","chatunpin"], 90 | fromMe: true, 91 | desc: 'unpin a msg', 92 | type: 'whatsapp' 93 | }, async (message, match) => { 94 | try{ 95 | await message.bot.chatModify({ 96 | pin: false 97 | }, message.jid); 98 | await message.send('_Unpined_') 99 | }catch(e){ message.error(`${e}\n\nCommand : unpin` , e, false) } 100 | }) 101 | 102 | 103 | 104 | smd({ 105 | pattern: 'markread', 106 | fromMe: true, 107 | desc: 'mark as readed', 108 | type: 'whatsapp' 109 | }, async (message, match) => { 110 | 111 | try{ 112 | let msg = await message.react("🍁") 113 | await message.bot.chatModify( 114 | { markRead: true, lastMessages: [message] }, 115 | message.jid 116 | ); 117 | //await message.send('_Chat mark as Readed!_') 118 | }catch(e){ message.error(`${e}\n\nCommand : markread` , e, false) } 119 | }) 120 | 121 | 122 | 123 | smd({ 124 | pattern: 'markunread', 125 | fromMe: true, 126 | desc: 'mark as UnRead', 127 | type: 'whatsapp' 128 | }, async (message, match) => { 129 | 130 | try{ 131 | let msg = await message.send("🍁",{},"react") 132 | console.log({msg}) 133 | await message.bot.chatModify( 134 | { markRead: false, lastMessages: [message] }, 135 | message.jid 136 | ); 137 | 138 | 139 | //await message.send('_Chat mark as UnRead!_') 140 | }catch(e){ message.error(`${e}\n\nCommand : markunread` , e, false) } 141 | }) 142 | 143 | 144 | 145 | 146 | smd({ 147 | pattern: 'unmutechat', 148 | fromMe: true, 149 | desc: 'unmute a chat', 150 | type: 'whatsapp' 151 | }, async (message, match) => { 152 | try{ 153 | await message.bot.chatModify( { mute: null }, message.jid ); 154 | await message.send('_Chat Unmuted!_') 155 | }catch(e){ message.error(`${e}\n\nCommand : unmutechat` , e, false) } 156 | 157 | }) 158 | 159 | smd({ 160 | pattern: 'profilename', 161 | fromMe: true, 162 | desc: 'To change your profile name', 163 | type: 'whatsapp' 164 | }, async (message, match) => { 165 | try{ 166 | match = match || message.reply_message.text 167 | if (!match) return await message.send('*Need Name!*\n*Example: profilename your name*.') 168 | await message.bot.updateProfileName(match) 169 | await message.send('_Profile name updated!_') 170 | }catch(e){ message.error(`${e}\n\nCommand : profilename` , e, false) } 171 | }) 172 | 173 | 174 | // ============================ PRIVACY SETTINGS ============================ 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | smd({ 185 | pattern: 'getprivacy', 186 | fromMe: true, 187 | desc: 'get your privacy settings', 188 | type: 'whatsapp settings' 189 | }, async (message, match) => { 190 | const { 191 | readreceipts, 192 | profile, 193 | status, 194 | online, 195 | last, 196 | groupadd, 197 | calladd 198 | } = await message.bot.fetchPrivacySettings(true); 199 | const msg = `*♺ whatsapp privacy settings* 200 | 201 | *ᝄ name :* ${(message.fromMe && message.pushName ? message.pushName : message.bot.user.name).split("\n").join(" ") } 202 | *ᝄ number :* ${message.user.split("@")[0]} 203 | 204 | *ᝄ online :* ${online} 205 | *ᝄ profile :* ${profile} 206 | *ᝄ last seen :* ${last} 207 | *ᝄ whts status :* ${status} 208 | *ᝄ read receipt :* ${readreceipts} 209 | 210 | *ᝄ who can add in group :* ${groupadd} 211 | *ᝄ who can call :* ${calladd}`; 212 | let img = await message.getpp(message.user) 213 | await message.send(img, { 214 | caption: msg 215 | }, 'img'); 216 | }) 217 | 218 | 219 | 220 | 221 | 222 | smd({ 223 | pattern: 'lastseen', 224 | fromMe: true, 225 | desc: 'to change lastseen privacy', 226 | type: 'whatsapp settings' 227 | }, async (message, match, {smd }) => { 228 | try{ 229 | if (!match) return await message.send(`_*Example:-* .lastseen all_\n_to change last seen privacy settings_`); 230 | const available_privacy = ['all', 'contacts', 'contact_blacklist', 'none']; 231 | if (!available_privacy.includes(match)) return await message.send(`_action must be *${available_privacy.join(' / ')}* values_`); 232 | await message.bot.updateLastSeenPrivacy(match) 233 | await message.send(`_Privacy settings *last seen* Updated to *${match}*_`); 234 | }catch(e){ message.error(`${e}\n\nCommand : lastseen` , e, false) } 235 | }) 236 | 237 | 238 | smd({ 239 | pattern: 'online', 240 | fromMe: true, 241 | desc: 'to change online privacy', 242 | type: 'whatsapp settings' 243 | }, async (message, match,) => { 244 | try{ 245 | if (!match) return await message.send(`_*Example:-* .online all_\n_to change *online* privacy settings_`); 246 | const available_privacy = ['all', 'match_last_seen']; 247 | if (!available_privacy.includes(match)) return await message.send(`_action must be *${available_privacy.join('/')}* values_`); 248 | await message.bot.updateOnlinePrivacy(match) 249 | await message.send(`_Privacy Updated to *${match}*_`); 250 | }catch(e){ message.error(`${e}\n\nCommand : online` , e, false) } 251 | }) 252 | 253 | 254 | smd({ 255 | pattern: 'mypp', 256 | fromMe: true, 257 | desc: 'privacy setting profile picture', 258 | type: 'whatsapp settings' 259 | }, async (message, match) => { 260 | try{ 261 | if (!match) return await message.send(`_*Example:-* .mypp all_\n_to change *profile picture* privacy settings_`); 262 | const available_privacy = ['all', 'contacts', 'contact_blacklist', 'none']; 263 | if (!available_privacy.includes(match)) return await message.send(`_action must be *${available_privacy.join('/')}* values_`); 264 | await message.bot.updateProfilePicturePrivacy(match) 265 | await message.send(`_Privacy Updated to *${match}*_`); 266 | }catch(e){ message.error(`${e}\n\nCommand : mypp` , e, false) } 267 | }) 268 | 269 | smd({ 270 | pattern: 'mystatus', 271 | fromMe: true, 272 | desc: 'privacy for my status', 273 | type: 'whatsapp settings' 274 | }, async (message, match,) => { 275 | try{ 276 | if (!match) return await message.send(`_*Example:-* .mystatus all_\n_to change *status* privacy settings_`); 277 | const available_privacy = ['all', 'contacts', 'contact_blacklist', 'none']; 278 | if (!available_privacy.includes(match)) return await message.send(`_action must be *${available_privacy.join('/')}* values_`); 279 | await message.bot.updateStatusPrivacy(match) 280 | await message.send(`_Privacy Updated to *${match}*_`); 281 | }catch(e){ message.error(`${e}\n\nCommand : mystatus` , e, false) } 282 | }) 283 | 284 | smd({ 285 | pattern: 'read', 286 | fromMe: true, 287 | desc: 'privacy for read message', 288 | type: 'whatsapp settings' 289 | }, async (message, match, cmd) => { 290 | try{ 291 | if (!match) return await message.send(`_*Example:-* .read all_\n_to change *read and receipts message* privacy settings_`); 292 | const available_privacy = ['all', 'none']; 293 | if (!available_privacy.includes(match)) return await message.send(`_action must be *${available_privacy.join('/')}* values_`); 294 | await message.bot.updateReadReceiptsPrivacy(match) 295 | await message.send(`_Privacy Updated to *${match}*_`); 296 | }catch(e){ message.error(`${e}\n\nCommand : read` , e, false) } 297 | }) 298 | 299 | smd({ 300 | pattern: 'groupadd', 301 | fromMe: true, 302 | desc: 'privacy for group add', 303 | type: 'whatsapp settings' 304 | }, async (message, match, cmd) => { 305 | try{ 306 | if (!match) return await message.send(`_*Example:-* .groupadd all_\n_to change *group add* privacy settings_`); 307 | const available_privacy = ['all', 'contacts', 'contact_blacklist', 'none']; 308 | if (!available_privacy.includes(match)) return await message.send(`_action must be *${available_privacy.join('/')}* values_`); 309 | await message.bot.updateGroupsAddPrivacy(match) 310 | await message.send(`_Privacy Updated to *${match}*_`); 311 | }catch(e){ message.error(`${e}\n\nCommand : groupadd` , e, false) } 312 | }) 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | -------------------------------------------------------------------------------- /plugins/logo.js: -------------------------------------------------------------------------------- 1 | const { smd, prefix, Config } = require('../lib'); 2 | const fetch = require('node-fetch'); 3 | 4 | async function textToLogoGenerator(message, textProUrl, text1, text2 = "ser", serviceType = "textpro", retryOnFail = true) { 5 | let mumakerResponse = {}; 6 | let apiResponse = {}; 7 | let url = /1|ephoto|ephoto360/gi.test(serviceType) ? `https://ephoto360.com/${textProUrl}.html` : 8 | /2|potoxy|photooxy/gi.test(serviceType) ? `https://photooxy.com/${textProUrl}.html` : 9 | /3|enphoto|en360/gi.test(serviceType) ? `https://en.ephoto360.com/${textProUrl}.html` : 10 | `https://textpro.me/${textProUrl}.html`; 11 | 12 | try { 13 | const { textpro } = require('mumaker'); 14 | if (text1) { 15 | mumakerResponse = await textpro(url, [text1, text2]); 16 | } 17 | 18 | let captionContext = {} || { ...(await message.bot.contextInfo('Text to Logo', `Hello ${message.senderName}`)) }; 19 | return await message.bot.sendMessage(message.jid, { 20 | image: { url: mumakerResponse.image }, 21 | caption: Config.caption, 22 | contextInfo: captionContext 23 | }, { messageId: message.bot.messageId() }); 24 | } catch (error) { 25 | try { 26 | let apiUrl = `${global.api_smd}/api/maker?text1=${text1}&text2=${text2}&url=${url}`; 27 | apiResponse = await fetchJson(apiUrl); 28 | 29 | if ((!apiResponse || !apiResponse.status || !apiResponse.img) && retryOnFail) { 30 | return message.error(`${error}\nWebinfo: ${apiResponse.img || apiResponse}\n\nfileName: textToLogoGenerator->s.js`, error); 31 | } 32 | 33 | await message.bot.sendMessage(message.jid, { image: { url: apiResponse.img } }, { messageId: message.bot.messageId() }); 34 | } catch (err) { 35 | let imageUrl = mumakerResponse && mumakerResponse.image ? mumakerResponse.image : 36 | apiResponse && apiResponse.img ? apiResponse.img : false; 37 | 38 | if (retryOnFail) { 39 | message.error(`${error}\n\nAPI Error: ${err}\n\nfileName: textToLogoGenerator->s.js`, error, (imageUrl ? `Here we go\n\n${imageUrl}` : "Error, Request Denied!").trim()); 40 | } 41 | } 42 | } 43 | } 44 | 45 | async function fetchJson(url) { 46 | const response = await fetch(url); 47 | return await response.json(); 48 | } 49 | 50 | smd({ 51 | cmdname: 'logo1', 52 | type: 'logo', 53 | info: 'Some text to image feature with various styles.', 54 | filename: __filename, 55 | }, async (message, match) => { 56 | try { 57 | if (!match) return message.reply(`*_Example : ${prefix + cmdName} WASI_*`); 58 | await textToLogoGenerator( 59 | message, 60 | 'hieu-ung-chu/tao-hieu-ung-chu-mam-anh-sang-74', 61 | match, 62 | 'ser', 63 | '1' 64 | ); 65 | } catch (e) { 66 | return await message.error(`${e}\n\ncmdName: ${cmdName}`, e); 67 | } 68 | }); 69 | 70 | smd({ 71 | cmdname: 'logo2', 72 | type: 'logo', 73 | info: 'Some text to image feature with various styles.', 74 | filename: __filename, 75 | }, async (message, match) => { 76 | try { 77 | if (!match) return message.reply(`*_Example : ${prefix + cmdName} WASI_*`); 78 | return await textToLogoGenerator( 79 | message, 80 | 'tao-hieu-ung-chu-digital-glitch-truc-tuyen-941', 81 | match, 82 | 'WASI', 83 | '1' 84 | ); 85 | } catch (e) { 86 | return await message.error(`${e}\n\ncmdName: ${cmdName}`, e); 87 | } 88 | }); 89 | smd({ 90 | cmdname: 'logo3', 91 | type: 'logo', 92 | info: 'Some text to image feature with various styles.', 93 | filename: __filename, 94 | }, async (message, match) => { 95 | try { 96 | if (!match) return message.reply(`*_Example : ${prefix + cmdName} WASI_*`); 97 | return await textToLogoGenerator( 98 | message, 99 | 'tao-hieu-ung-chu-pixel-glitch-truc-tuyen-940', 100 | match, 101 | 'WASI', 102 | '1' 103 | ); 104 | } catch (e) { 105 | return await message.error(`${e}\n\ncmdName: ${cmdName}`, e); 106 | } 107 | }); 108 | 109 | smd({ 110 | cmdname: 'logo4', 111 | type: 'logo', 112 | info: 'Some text to image feature with various styles.', 113 | filename: __filename, 114 | }, async (message, match) => { 115 | try { 116 | if (!match) return message.reply(`*_Example : ${prefix + cmdName} WASI_*`); 117 | return await textToLogoGenerator( 118 | message, 119 | 'tao-hieu-ung-chu-graffiti-duong-pho-an-tuong-online-795', 120 | match, 121 | 'WASI', 122 | '1' 123 | ); 124 | } catch (e) { 125 | return await message.error(`${e}\n\ncmdName: ${cmdName}`, e); 126 | } 127 | }); 128 | 129 | smd({ 130 | cmdname: 'logo5', 131 | type: 'logo', 132 | info: 'Some text to image feature with various styles.', 133 | filename: __filename, 134 | }, async (message, match) => { 135 | try { 136 | if (!match) return message.reply(`*_Example : ${prefix + cmdName} WASI_*`); 137 | return await textToLogoGenerator( 138 | message, 139 | 'hieu-ung-chu/chu-graffiti-online-mau-8-182', 140 | match, 141 | 'WASI', 142 | '1' 143 | ); 144 | } catch (e) { 145 | return await message.error(`${e}\n\ncmdName: ${cmdName}`, e); 146 | } 147 | }); 148 | 149 | smd({ 150 | cmdname: 'logo6', 151 | type: 'logo', 152 | info: 'Some text to image feature with various styles.', 153 | filename: __filename, 154 | }, async (message, match) => { 155 | try { 156 | let text1 = match ? match.split(';')[0] : ''; 157 | let text2 = match ? match.split(';')[1] : ''; 158 | if (!text2 || !text1) 159 | return await message.reply(`*_Example : ${prefix + cmdName} text1;text2_*`); 160 | return await textToLogoGenerator( 161 | message, 162 | 'tao-hieu-ung-chu-graffiti-sieu-ngau-online-794', 163 | text1, 164 | text2 165 | ); 166 | } catch (e) { 167 | return await message.error(`${e}\n\ncmdName: ${cmdName}`, e); 168 | } 169 | }); 170 | 171 | smd({ 172 | cmdname: 'logo7', 173 | type: 'logo', 174 | info: 'Some text to image feature with various styles.', 175 | filename: __filename, 176 | }, async (message, match) => { 177 | try { 178 | let text1 = match ? match.split(';')[0] : ''; 179 | let text2 = match ? match.split(';')[1] : ''; 180 | if (!text1) return await message.reply(`*_Example : ${prefix + cmdName} text1_*`); 181 | return await textToLogoGenerator( 182 | message, 183 | 'hieu-ung-chu/tao-cover-graffiti-online-181', 184 | text1, 185 | text2 || 'ser', 186 | '1' 187 | ); 188 | } catch (e) { 189 | return await message.error(`${e}\n\ncmdName: ${cmdName}`, e); 190 | } 191 | }); 192 | 193 | smd({ 194 | cmdname: 'logo8', 195 | type: 'logo', 196 | info: 'Some text to image feature with various styles.', 197 | filename: __filename, 198 | }, async (message, match) => { 199 | try { 200 | let text1 = match ? match.split(';')[0] : ''; 201 | let text2 = match ? match.split(';')[1] : ''; 202 | if (!text2 || !text1) 203 | return await message.reply(`*_Example : ${prefix + cmdName} text1;text2_*`); 204 | await textToLogoGenerator(message, 'tao-logo-gradient-3d-truc-tuyen-501', text1, text2, '1'); 205 | } catch (e) { 206 | return await message.error(`${e}\n\ncmdName: ${cmdName}`, e); 207 | } 208 | }); 209 | 210 | smd({ 211 | cmdname: 'logo9', 212 | type: 'logo', 213 | info: 'Some text to image feature with various styles.', 214 | filename: __filename, 215 | }, async (message, match) => { 216 | try { 217 | let text1 = match ? match.split(';')[0] : ''; 218 | let text2 = match ? match.split(';')[1] : ''; 219 | if (!text2 || !text1) 220 | return await message.reply(`*_Example : ${prefix + cmdName} text1;text2_*`); 221 | await textToLogoGenerator(message, 'tao-logo-chu-truc-tuyen-499', text1, text2, '1'); 222 | } catch (e) { 223 | return await message.error(`${e}\n\ncmdName: ${cmdName}`, e); 224 | } 225 | }); 226 | 227 | smd({ 228 | cmdname: 'logo10', 229 | type: 'logo', 230 | info: 'Some text to image feature with various styles.', 231 | filename: __filename, 232 | }, async (message, match) => { 233 | try { 234 | let text1 = match ? match.split(';')[0] : ''; 235 | let text2 = match ? match.split(';')[1] : ''; 236 | if (!text2 || !text1) 237 | return await message.reply(`*_Example : ${prefix + cmdName} text1;text2_*`); 238 | await textToLogoGenerator(message, 'tao-logo-phong-cach-pornhub-612', text1, text2, '1'); 239 | } catch (e) { 240 | return await message.error(`${e}\n\ncmdName: ${cmdName}`, e); 241 | } 242 | }); 243 | 244 | smd({ 245 | cmdname: 'logo11', 246 | type: 'logo', 247 | info: 'Some text to image feature with various styles.', 248 | filename: __filename, 249 | }, async (message, match) => { 250 | try { 251 | let text1 = match ? match.split(';')[0] : ''; 252 | let text2 = match ? match.split(';')[1] : ''; 253 | if (!text2 || !text1) 254 | return await message.reply(`*_Example : ${prefix + cmdName} text1;text2_*`); 255 | return await textToLogoGenerator( 256 | message, 257 | 'tao-logo-3d-phong-cach-avengers-445', 258 | text1, 259 | text2, 260 | '1' 261 | ); 262 | } catch (e) { 263 | return await message.error(`${e}\n\ncmdName: ${cmdName}`, e); 264 | } 265 | }); 266 | 267 | smd({ 268 | cmdname: 'logo12', 269 | type: 'logo', 270 | info: 'Some text to image feature with various styles.', 271 | filename: __filename, 272 | }, async (message, match) => { 273 | try { 274 | let text1 = match ? match.split(';')[0] : ''; 275 | let text2 = match ? match.split(';')[1] : ''; 276 | if (!text2 || !text1) 277 | return await message.reply(`*_Example : ${prefix + cmdName} text1;text2_*`); 278 | return await textToLogoGenerator( 279 | message, 280 | 'tao-logo-phong-cach-marvel-419', 281 | text1, 282 | text2, 283 | '1' 284 | ); 285 | } catch (e) { 286 | return await message.error(`${e}\n\ncmdName: ${cmdName}`, e); 287 | } 288 | }); 289 | -------------------------------------------------------------------------------- /lib/exif.js: -------------------------------------------------------------------------------- 1 | const ffmpeg = require("fluent-ffmpeg"); 2 | const { 3 | randomBytes 4 | } = require("crypto"); 5 | const fs = require("fs"); 6 | const { 7 | getHttpStream, 8 | toBuffer 9 | } = require("@whiskeysockets/baileys"); 10 | const sharp = require("sharp"); 11 | const { 12 | spawn 13 | } = require("child_process"); 14 | const path = require("path"); 15 | const { 16 | fromBuffer 17 | } = require("file-type"); 18 | const { 19 | tmpdir 20 | } = require("os"); 21 | const ff = require("fluent-ffmpeg"); 22 | const webp = require("node-webpmux"); 23 | async function toGif(_0x1804d0) { 24 | try { 25 | const _0x10bdc6 = "./" + randomBytes(3).toString("hex") + ".webp"; 26 | const _0x59babe = "./" + randomBytes(3).toString("hex") + ".gif"; 27 | fs.writeFileSync(_0x10bdc6, _0x1804d0.toString("binary"), "binary"); 28 | const _0x15e75a = await new Promise(_0x55c0d1 => { 29 | spawn("convert", [_0x10bdc6, _0x59babe]).on("error", _0x138ca1 => { 30 | throw _0x138ca1; 31 | }).on("exit", () => _0x55c0d1(_0x59babe)); 32 | }); 33 | let _0x42f096 = fs.readFileSync(_0x15e75a); 34 | try { 35 | fs.unlinkSync(_0x10bdc6); 36 | } catch {} 37 | try { 38 | fs.unlinkSync(_0x59babe); 39 | } catch {} 40 | return _0x42f096; 41 | } catch (_0x47109b) { 42 | console.log(_0x47109b); 43 | } 44 | } 45 | async function toMp4(_0x1d5caf) { 46 | try { 47 | let _0x531e29 = "./" + randomBytes(3).toString("hex") + ".gif"; 48 | const _0x17da12 = fs.existsSync(_0x1d5caf) ? _0x1d5caf : save(_0x1d5caf, _0x531e29); 49 | const _0x222ca8 = "./" + randomBytes(3).toString("hex") + ".mp4"; 50 | const _0x573d64 = await new Promise(_0x592bf9 => { 51 | ffmpeg(_0x17da12).outputOptions(["-pix_fmt yuv420p", "-c:v libx264", "-movflags +faststart", "-filter:v crop='floor(in_w/2)*2:floor(in_h/2)*2'"]).toFormat("mp4").noAudio().save(_0x222ca8).on("exit", () => _0x592bf9(_0x222ca8)); 52 | }); 53 | let _0x2b9b13 = await fs.promises.readFile(_0x573d64); 54 | try { 55 | fs.unlinkSync(_0x17da12); 56 | } catch {} 57 | try { 58 | fs.unlinkSync(_0x222ca8); 59 | } catch {} 60 | return _0x2b9b13; 61 | } catch (_0x24ee99) { 62 | console.log(_0x24ee99); 63 | } 64 | } 65 | const EightD = async _0x78ba44 => { 66 | const _0x29f51a = "./temp/" + randomBytes(3).toString("hex") + ".mp3"; 67 | _0x78ba44 = Buffer.isBuffer(_0x78ba44) ? save(_0x78ba44, _0x29f51a) : _0x78ba44; 68 | const _0x25915b = "./temp/" + randomBytes(3).toString("hex") + ".mp3"; 69 | const _0x16290f = await new Promise(_0x4a7887 => { 70 | ffmpeg(_0x78ba44).audioFilter(["apulsator=hz=0.125"]).audioFrequency(44100).audioChannels(2).audioBitrate("128k").audioCodec("libmp3lame").audioQuality(5).toFormat("mp3").save(_0x25915b).on("end", () => _0x4a7887(_0x25915b)); 71 | }); 72 | return _0x16290f; 73 | }; 74 | function save(_0x47b3b7, _0x5a41c3 = "./temp/saveFile.jpg") { 75 | try { 76 | fs.writeFileSync(_0x5a41c3, _0x47b3b7.toString("binary"), "binary"); 77 | return _0x5a41c3; 78 | } catch (_0x48181f) { 79 | console.log(_0x48181f); 80 | } 81 | } 82 | const resizeImage = (_0x2037ea, _0x4470a2, _0x42f2ff) => { 83 | if (!Buffer.isBuffer(_0x2037ea)) { 84 | throw "Input is not a Buffer"; 85 | } 86 | return new Promise(async _0x3e6c8a => { 87 | sharp(_0x2037ea).resize(_0x4470a2, _0x42f2ff, { 88 | fit: "contain" 89 | }).toBuffer().then(_0x3e6c8a); 90 | }); 91 | }; 92 | const _parseInput = async (_0x242492, _0x537749 = false, _0xbaa34d = "path") => { 93 | const _0x257fef = await toBuffer(await getHttpStream(_0x242492)); 94 | const _0x113b13 = "./temp/file_" + randomBytes(3).toString("hex") + "." + (_0x537749 ? _0x537749 : (await fromBuffer(_0x257fef)).ext); 95 | const _0x26a839 = Buffer.isBuffer(_0x242492) ? save(_0x242492, _0x113b13) : fs.existsSync(_0x242492) ? _0x242492 : _0x242492; 96 | if (_0xbaa34d == "path") { 97 | return _0x26a839; 98 | } else if (_0xbaa34d == "buffer") { 99 | const _0x178c22 = await fs.promises.readFile(_0x26a839); 100 | try { 101 | await fs.promises.unlink(_0x26a839); 102 | } catch (_0x266680) {} 103 | return _0x178c22; 104 | } 105 | }; 106 | async function imageToWebp(_0x218725) { 107 | const _0x1e375a = path.join(tmpdir(), randomBytes(6).readUIntLE(0, 6).toString(36) + ".webp"); 108 | const _0x23ff16 = path.join(tmpdir(), randomBytes(6).readUIntLE(0, 6).toString(36) + ".jpg"); 109 | fs.writeFileSync(_0x23ff16, _0x218725); 110 | await new Promise((_0x48f236, _0x374a61) => { 111 | ff(_0x23ff16).on("error", _0x374a61).on("end", () => _0x48f236(true)).addOutputOptions(["-vcodec", "libwebp", "-vf", "scale='min(320,iw)':min'(320,ih)':force_original_aspect_ratio=decrease,fps=15, pad=320:320:-1:-1:color=white@0.0, split [a][b]; [a] palettegen=reserve_transparent=on:transparency_color=ffffff [p]; [b][p] paletteuse"]).toFormat("webp").save(_0x1e375a); 112 | }); 113 | const _0x110667 = fs.readFileSync(_0x1e375a); 114 | fs.unlinkSync(_0x1e375a); 115 | fs.unlinkSync(_0x23ff16); 116 | return _0x110667; 117 | } 118 | async function videoToWebp(_0x359f57) { 119 | const _0x54fd5 = path.join(tmpdir(), randomBytes(6).readUIntLE(0, 6).toString(36) + ".webp"); 120 | const _0x1a1e9b = path.join(tmpdir(), randomBytes(6).readUIntLE(0, 6).toString(36) + ".mp4"); 121 | fs.writeFileSync(_0x1a1e9b, _0x359f57); 122 | await new Promise((_0x52a5ff, _0x1e1c14) => { 123 | ff(_0x1a1e9b).on("error", _0x1e1c14).on("end", () => _0x52a5ff(true)).addOutputOptions(["-vcodec", "libwebp", "-vf", "scale='min(320,iw)':min'(320,ih)':force_original_aspect_ratio=decrease,fps=15, pad=320:320:-1:-1:color=white@0.0, split [a][b]; [a] palettegen=reserve_transparent=on:transparency_color=ffffff [p]; [b][p] paletteuse", "-loop", "0", "-ss", "00:00:00", "-t", "00:00:05", "-preset", "default", "-an", "-vsync", "0"]).toFormat("webp").save(_0x54fd5); 124 | }); 125 | const _0x56df2a = fs.readFileSync(_0x54fd5); 126 | fs.unlinkSync(_0x54fd5); 127 | fs.unlinkSync(_0x1a1e9b); 128 | return _0x56df2a; 129 | } 130 | async function writeExifImg(_0x1fd483, _0x483806) { 131 | let _0xb28c0b = await imageToWebp(_0x1fd483); 132 | const _0xef911d = path.join(tmpdir(), randomBytes(6).readUIntLE(0, 6).toString(36) + ".webp"); 133 | const _0x3aa6e0 = path.join(tmpdir(), randomBytes(6).readUIntLE(0, 6).toString(36) + ".webp"); 134 | fs.writeFileSync(_0xef911d, _0xb28c0b); 135 | if (_0x483806.packname || _0x483806.author) { 136 | const _0x335b84 = new webp.Image(); 137 | const _0x42a636 = { 138 | "sticker-pack-id": "ᴇꜱ ᴛᴇᴀᴍꜱ-ᴠ2👑", 139 | "sticker-pack-name": _0x483806.packname, 140 | "sticker-pack-publisher": _0x483806.author, 141 | emojis: _0x483806.categories ? _0x483806.categories : [""] 142 | }; 143 | const _0xcbb12e = Buffer.from([73, 73, 42, 0, 8, 0, 0, 0, 1, 0, 65, 87, 7, 0, 0, 0, 0, 0, 22, 0, 0, 0]); 144 | const _0x6ed7c6 = Buffer.from(JSON.stringify(_0x42a636), "utf-8"); 145 | const _0x306edf = Buffer.concat([_0xcbb12e, _0x6ed7c6]); 146 | _0x306edf.writeUIntLE(_0x6ed7c6.length, 14, 4); 147 | await _0x335b84.load(_0xef911d); 148 | fs.unlinkSync(_0xef911d); 149 | _0x335b84.exif = _0x306edf; 150 | await _0x335b84.save(_0x3aa6e0); 151 | return _0x3aa6e0; 152 | } 153 | } 154 | async function writeExifVid(_0x45a241, _0x563630) { 155 | let _0x10dcc8 = await videoToWebp(_0x45a241); 156 | const _0x32aecd = path.join(tmpdir(), randomBytes(6).readUIntLE(0, 6).toString(36) + ".webp"); 157 | const _0x5e9365 = path.join(tmpdir(), randomBytes(6).readUIntLE(0, 6).toString(36) + ".webp"); 158 | fs.writeFileSync(_0x32aecd, _0x10dcc8); 159 | let _0xd0b349; 160 | let _0x195824; 161 | try { 162 | _0xd0b349 = _0x563630.packname; 163 | } catch (_0x462fe9) { 164 | _0xd0b349 = "ᴇꜱ ᴛᴇᴀᴍꜱ-ᴛᴇᴄʜ👑"; 165 | } 166 | try { 167 | _0x195824 = _0x563630.author; 168 | } catch (_0x4e4d69) { 169 | _0x195824 = ""; 170 | } 171 | const _0x3b47cc = new webp.Image(); 172 | const _0x568dc0 = { 173 | "sticker-pack-id": "ᴇꜱ ᴛᴇᴀᴍꜱ-ᴛᴇᴄʜ👑", 174 | "sticker-pack-name": _0xd0b349, 175 | "sticker-pack-publisher": _0x195824, 176 | emojis: _0x563630.categories ? _0x563630.categories : [""] 177 | }; 178 | const _0x33d1e4 = Buffer.from([73, 73, 42, 0, 8, 0, 0, 0, 1, 0, 65, 87, 7, 0, 0, 0, 0, 0, 22, 0, 0, 0]); 179 | const _0x52afb6 = Buffer.from(JSON.stringify(_0x568dc0), "utf-8"); 180 | const _0x5bdc63 = Buffer.concat([_0x33d1e4, _0x52afb6]); 181 | _0x5bdc63.writeUIntLE(_0x52afb6.length, 14, 4); 182 | await _0x3b47cc.load(_0x32aecd); 183 | fs.unlinkSync(_0x32aecd); 184 | _0x3b47cc.exif = _0x5bdc63; 185 | await _0x3b47cc.save(_0x5e9365); 186 | return _0x5e9365; 187 | } 188 | async function writeExifWebp(_0x38a80c, _0x8e963c) { 189 | const _0x182c66 = path.join(tmpdir(), randomBytes(6).readUIntLE(0, 6).toString(36) + ".webp"); 190 | const _0xecd5c0 = path.join(tmpdir(), randomBytes(6).readUIntLE(0, 6).toString(36) + ".webp"); 191 | fs.writeFileSync(_0x182c66, _0x38a80c); 192 | if (_0x8e963c.packname || _0x8e963c.author) { 193 | const _0x3f8a74 = new webp.Image(); 194 | const _0x315c40 = { 195 | "sticker-pack-id": "ᴇꜱ ᴛᴇᴀᴍꜱ-ᴛᴇᴄʜ👑", 196 | "sticker-pack-name": _0x8e963c.packname, 197 | "sticker-pack-publisher": _0x8e963c.author, 198 | emojis: _0x8e963c.categories ? _0x8e963c.categories : [""] 199 | }; 200 | const _0x427b1b = await Buffer.from([73, 73, 42, 0, 8, 0, 0, 0, 1, 0, 65, 87, 7, 0, 0, 0, 0, 0, 22, 0, 0, 0]); 201 | const _0xbfd185 = await Buffer.from(JSON.stringify(_0x315c40), "utf-8"); 202 | const _0x7b29c0 = await Buffer.concat([_0x427b1b, _0xbfd185]); 203 | await _0x7b29c0.writeUIntLE(_0xbfd185.length, 14, 4); 204 | await _0x3f8a74.load(_0x182c66); 205 | fs.unlinkSync(_0x182c66); 206 | _0x3f8a74.exif = _0x7b29c0; 207 | await _0x3f8a74.save(_0xecd5c0); 208 | return _0xecd5c0; 209 | } 210 | } 211 | module.exports = { 212 | imageToWebp: imageToWebp, 213 | videoToWebp: videoToWebp, 214 | writeExifImg: writeExifImg, 215 | writeExifVid: writeExifVid, 216 | writeExifWebp: writeExifWebp, 217 | toGif: toGif, 218 | toMp4: toMp4, 219 | EightD: EightD, 220 | _parseInput: _parseInput, 221 | resizeImage: resizeImage 222 | }; -------------------------------------------------------------------------------- /plugins/news.js: -------------------------------------------------------------------------------- 1 | let { smd } = require("../lib"); 2 | const axios = require("axios"); 3 | const fetch = require("node-fetch"); 4 | 5 | smd( 6 | { 7 | pattern: "wanews", 8 | alias: ["wa"], 9 | desc: "Fetches the latest WhatsApp beta news for Android.", 10 | category: "news", 11 | filename: __filename, 12 | use: "wanews", 13 | }, 14 | async (message, input) => { 15 | try { 16 | const apiUrl = "https://api.maher-zubair.tech/details/wabetainfo"; 17 | const response = await fetch(apiUrl); 18 | const data = await response.json(); 19 | 20 | if (!data || data.status !== 200 || !data.result) { 21 | return message.send("*Failed to fetch WhatsApp beta news.*"); 22 | } 23 | 24 | const { title, subtitle, date, image, link, desc, QandA } = data.result; 25 | 26 | let output = `*${title}*\n\n`; 27 | output += `${subtitle}\n`; 28 | output += `${date}\n\n`; 29 | output += `${desc}\n\n`; 30 | output += `*Link:* ${link}\n\n`; 31 | 32 | if (image) { 33 | output += `![Image](${image})\n\n`; 34 | } 35 | 36 | if (QandA && QandA.length > 0) { 37 | output += "*Q&A:*\n"; 38 | QandA.forEach((qa) => { 39 | output += `*${qa.question}*\n${qa.answer}\n\n`; 40 | }); 41 | } 42 | 43 | return message.send(output, { quoted: message }); 44 | } catch (error) { 45 | console.error(error); 46 | return message.error( 47 | error + "\n\nCommand: wanews", 48 | error, 49 | "*Failed to fetch WhatsApp beta news.*" 50 | ); 51 | } 52 | } 53 | ); 54 | 55 | 56 | smd( 57 | { 58 | pattern: "iosnews", 59 | alias: ["ios"], 60 | desc: "Fetches the latest iOS news.", 61 | category: "news", 62 | filename: __filename, 63 | use: "iosnews", 64 | }, 65 | async (message, input) => { 66 | try { 67 | const apiUrl = "https://api.maher-zubair.tech/details/ios"; 68 | const response = await fetch(apiUrl); 69 | const data = await response.json(); 70 | 71 | if (!data || data.status !== 200 || !data.result) { 72 | return message.send("*Failed to fetch iOS news.*"); 73 | } 74 | 75 | const { title, link, images, desc } = data.result; 76 | 77 | let output = `*${title}*\n\n`; 78 | output += `${desc}\n\n`; 79 | output += `*Link:* ${link}\n\n`; 80 | 81 | if (images && images.length > 0) { 82 | output += "*Images:*\n"; 83 | images.forEach((image) => { 84 | output += `${image}\n`; 85 | }); 86 | output += "\n"; 87 | } 88 | 89 | return message.send(output, { quoted: message }); 90 | } catch (error) { 91 | console.error(error); 92 | return message.error( 93 | error + "\n\nCommand: iosnews", 94 | error, 95 | "*Failed to fetch iOS news.*" 96 | ); 97 | } 98 | } 99 | ); 100 | 101 | smd( 102 | { 103 | pattern: "googlenews", 104 | alias: ["gnews"], 105 | desc: "Fetches the latest Google news.", 106 | category: "news", 107 | filename: __filename, 108 | use: "googlenews", 109 | }, 110 | async (message, input) => { 111 | try { 112 | const { GMSNEWS } = require("gms-mobile-news"); 113 | 114 | const news = await GMSNEWS(); 115 | 116 | news 117 | .latest_news() 118 | .then((result) => { 119 | const { title, date, link, image, short_desc, full_desc } = 120 | result.result; 121 | 122 | let output = `*${title}*\n\n`; 123 | output += `*Date:* ${date}\n\n`; 124 | output += `${short_desc}\n\n`; 125 | output += `*Link:* ${link}\n\n`; 126 | output += `*Image:* ${image}\n\n`; 127 | output += `*Full Description:*\n${full_desc}`; 128 | 129 | return message.send(output, { quoted: message }); 130 | }) 131 | .catch((error) => { 132 | console.log(error); 133 | return message.reply("*Failed to fetch Google news.*"); 134 | }); 135 | } catch (error) { 136 | await message.error( 137 | error + "\n\nCommand: googlenews", 138 | error, 139 | "*Failed to fetch Google news.*" 140 | ); 141 | } 142 | } 143 | ); 144 | smd( 145 | { 146 | pattern: "spacenews", 147 | desc: "Fetches articles from the Spaceflight News API.", 148 | category: "news", 149 | filename: __filename, 150 | use: "!spacenews", 151 | }, 152 | async (m) => { 153 | try { 154 | const apiUrl = "https://api.spaceflightnewsapi.net/v4/articles/"; 155 | const response = await fetch(apiUrl); 156 | const data = await response.json(); 157 | 158 | if (!data || !data.results || data.results.length === 0) { 159 | return await m.send( 160 | "*Failed to fetch articles from Spaceflight News API.*" 161 | ); 162 | } 163 | 164 | const article = data.results[0]; 165 | const { title, url, image_url, summary, published_at } = article; 166 | 167 | let output = `*Title:* ${title}\n\n`; 168 | output += `*Summary:* ${summary}\n\n`; 169 | output += `*Published At:* ${published_at}\n\n`; 170 | output += `*URL:* ${url}`; 171 | 172 | // If image_url is available, add it to the output 173 | if (image_url) { 174 | output += `\n\n*Image:* ${image_url}`; 175 | } 176 | 177 | await m.send(output); 178 | } catch (e) { 179 | await m.error(`${e}\n\ncommand: spacenews`, e); 180 | } 181 | } 182 | ); 183 | 184 | smd( 185 | { 186 | pattern: "technews", 187 | alias: ["tn"], 188 | desc: "Fetches the latest tech news.", 189 | category: "news", 190 | filename: __filename, 191 | use: "technews", 192 | }, 193 | async (message, input) => { 194 | try { 195 | const apiUrl = "https://api.maher-zubair.tech/details/tnews"; 196 | const response = await axios.get(apiUrl); 197 | const data = response.data; 198 | 199 | if (!data || data.status !== 200) { 200 | return await message.reply("*Failed to fetch tech news.*"); 201 | } 202 | 203 | const { title, link, img, desc } = data.result; 204 | 205 | let output = `*${title}*\n\n`; 206 | output += `${desc}\n\n`; 207 | output += `*Link:* ${link}\n\n`; 208 | output += `*Image:* ${img}`; 209 | 210 | return await message.send(output, { quoted: message }); 211 | } catch (error) { 212 | await message.error( 213 | error + "\n\nCommand: technews", 214 | error, 215 | "*Failed to fetch tech news.*" 216 | ); 217 | } 218 | } 219 | ); 220 | smd( 221 | { 222 | pattern: "population", 223 | desc: "Fetches current population statistics.", 224 | category: "statistics", 225 | filename: __filename, 226 | use: "!population", 227 | }, 228 | async (m) => { 229 | try { 230 | const apiUrl = "https://api.maher-zubair.tech/details/population"; 231 | const response = await fetch(apiUrl); 232 | const data = await response.json(); 233 | 234 | if (!data || data.status !== 200 || !data.result) { 235 | return await m.send("*Failed to fetch population statistics.*"); 236 | } 237 | 238 | const { current, this_year, today } = data.result; 239 | const { total, male, female } = current; 240 | const { births, deaths } = today; 241 | 242 | let output = "*Current Population Statistics*\n\n"; 243 | output += `Total Population: ${total}\n`; 244 | output += `Male: ${male}\n`; 245 | output += `Female: ${female}\n\n`; 246 | output += "*Today's Statistics*\n"; 247 | output += `Births: ${births}\n`; 248 | output += `Deaths: ${deaths}`; 249 | 250 | await m.send(output); 251 | } catch (e) { 252 | await m.error(`${e}\n\ncommand: population`, e); 253 | } 254 | } 255 | ); 256 | smd( 257 | { 258 | pattern: "animesearch", 259 | category: "news", 260 | desc: "Searches for an anime", 261 | use: '', 262 | filename: __filename 263 | }, 264 | async (m, client) => { 265 | try { 266 | const query = m.text.split(' ').slice(1).join(' '); 267 | if (!query) return client.sendMessage(m.from, { text: 'Please provide an anime title to search.' }, { quoted: m }); 268 | 269 | const response = await fetch(`https://api.maher-zubair.tech/anime/search?q=${encodeURIComponent(query)}`); 270 | const data = await response.json(); 271 | 272 | if (data.status !== 200) return client.sendMessage(m.from, { text: `Error: ${data.result}` }, { quoted: m }); 273 | 274 | const anime = data.result; 275 | const animeInfo = ` 276 | *Title:* ${anime.title.romaji} 277 | *English Title:* ${anime.title.english} 278 | *Native Title:* ${anime.title.native} 279 | *Format:* ${anime.format} 280 | *Episodes:* ${anime.episodes} 281 | *Duration:* ${anime.duration} mins 282 | *Status:* ${anime.status} 283 | *Season:* ${anime.season} ${anime.seasonYear} 284 | *Source:* ${anime.source} 285 | *Genres:* ${anime.genres.join(', ')} 286 | *Start Date:* ${anime.startDate.day}/${anime.startDate.month}/${anime.startDate.year} 287 | *End Date:* ${anime.endDate.day}/${anime.endDate.month}/${anime.endDate.year} 288 | *Average Score:* ${anime.averageScore} 289 | *Synonyms:* ${anime.synonyms.join(', ')} 290 | 291 | *Description:* 292 | ${anime.description} 293 | `; 294 | 295 | client.sendMessage(m.from, { text: animeInfo }, { quoted: m }); 296 | } catch (error) { 297 | console.error(error); 298 | client.sendMessage(m.from, { text: 'An error occurred while searching for the anime.' }, { quoted: m }); 299 | } 300 | } 301 | ); 302 | smd({ 303 | pattern: 'nasanews', 304 | fromMe: false, 305 | desc: 'Get the latest NASA news', 306 | type: 'news' 307 | }, async (message, match) => { 308 | try { 309 | const response = await axios.get('https://api.maher-zubair.tech/details/nasa'); 310 | const data = response.data.result; 311 | 312 | const news = ` 313 | 🚀 *Title:* ${data.title} 314 | 📅 *Date:* ${data.date} 315 | 📝 *Explanation:* ${data.explanation} 316 | 🔗 *More Info:* [Read More](${data.url}) 317 | 📢 *Copyright:* ${data.copyright} 318 | `; 319 | 320 | await message.send(news, { quoted: message.data }); 321 | } catch (error) { 322 | console.error('Error fetching NASA news:', error); 323 | await message.send('_Failed to fetch NASA news._', { quoted: message.data }); 324 | } 325 | }); 326 | --------------------------------------------------------------------------------